All Projects → jacquetc → Skribisto

jacquetc / Skribisto

Licence: gpl-3.0
Software for writers, see "develop" branch for current status

Labels

Projects that are alternatives of or similar to Skribisto

Arcgis Appstudio Samples
Collection of samples available in AppStudio for ArcGIS desktop to learn and help build your next app.
Stars: ✭ 78 (-29.73%)
Mutual labels:  qml
Kindd
A kindful dd, written in qt-quick.
Stars: ✭ 93 (-16.22%)
Mutual labels:  qml
Panopticon
A libre cross-platform disassembler.
Stars: ✭ 1,376 (+1139.64%)
Mutual labels:  qml
Graphicsprogramming
Demos related to OpenGL, Qt/QML, OpenCV and other X technologies.
Stars: ✭ 83 (-25.23%)
Mutual labels:  qml
Nimqml
Qt Qml bindings for the Nim programming language
Stars: ✭ 89 (-19.82%)
Mutual labels:  qml
Jagcs
Just another ground control station
Stars: ✭ 99 (-10.81%)
Mutual labels:  qml
Traktor Kontrol Screens
Display modifications for the Traktor Kontrol S8/S5/D2
Stars: ✭ 73 (-34.23%)
Mutual labels:  qml
Com.nerdyweekly.animated
Animated GIF wallpaper for KDE Plasma 5
Stars: ✭ 105 (-5.41%)
Mutual labels:  qml
Cutehmi
CuteHMI is an open-source HMI (Human Machine Interface) software written in C++ and QML, using Qt libraries as a framework. GitHub repository is a mirror!
Stars: ✭ 90 (-18.92%)
Mutual labels:  qml
Config
cee my dotfiles
Stars: ✭ 100 (-9.91%)
Mutual labels:  qml
Qgis resources
För användning av insticksprogrammet "Resource Sharing" till QGIS.
Stars: ✭ 87 (-21.62%)
Mutual labels:  qml
Stm32pio
Automate managing of STM32CubeMX + PlatformIO projects
Stars: ✭ 89 (-19.82%)
Mutual labels:  qml
Feedthemonkey
Desktop client for the TinyTinyRSS feed reader.
Stars: ✭ 99 (-10.81%)
Mutual labels:  qml
Plasma Mobile
A complete Plasma workspace targeted from small handheld devices to larger tablets.
Stars: ✭ 78 (-29.73%)
Mutual labels:  qml
Chart.qml
Chart.qml like Chart.js
Stars: ✭ 100 (-9.91%)
Mutual labels:  qml
Tesla
Remodel of Tesla Model S Instrument Cluster
Stars: ✭ 76 (-31.53%)
Mutual labels:  qml
Cleanplayer
基于Qt编写的音乐播放器,界面由QML编写,网络和文件由C++实现,能够搜索和播放在线歌曲。
Stars: ✭ 93 (-16.22%)
Mutual labels:  qml
Qaterial
🧩 Collection of Material Components based on QtQuickControls2.
Stars: ✭ 110 (-0.9%)
Mutual labels:  qml
Qtquickvcp
A Virtual Control Panel for Machinekit written in Qt/C++/QML
Stars: ✭ 104 (-6.31%)
Mutual labels:  qml
Plasmavideowallpaper
A KDE Plasma 5 wallpaper plugin which can let you using a video as the wallpaper
Stars: ✭ 101 (-9.01%)
Mutual labels:  qml

Skribisto

Skribisto is born from the ashes of Plume Creator, keeping the goals while adopting more recent ways to think an application.

Skribisto is geared toward helping anyone write anything, be it a novel or course notes. The user is free to use tags to define texts or write hundreds of notes. The tools are designed to be most unobstrusive, so you can write, write and write a bit more without too much distraction.

With Skribisto, the user can create and organize text papers (called "sheets"). Exactly the same is possible with the notes. Sheets can link to a synopsis and multiple notes, or create them on the fly while writing.

What Skribisto is not : LibreOffice, Calligra or Word. Any project can be exported to .odt so as to make use of these complete text processors formatting abilities before printing.

Accessibility is too often forgotten. I'm trying to keep the interface accessible for screen readers, as much as Qt let me implement it. Jaws and NVDA are my screen readers for testing. Please contact me if there is a glaring lack in the accessibility.

Goals

Short term goal is to rejoin its ancestor Plume Creator feature-wise. A few outstanding features are below. Bold means this feature is already implemented

  • navigating between texts
  • distraction-free mode
  • rich text (bold/italic/underline/strikeout)
  • synopsis
  • label (named 'tag' in Plume) next to each text title
  • autosave
  • spellcheking
  • color themes
  • overview of all texts
  • character/word count
  • exporting to .txt/.odt/.PDF
  • printing
  • advanced search/replace
  • display quickly the end of the previous text and the beginning of the next text
  • character/word goal

Skribisto will add to these features with :

  • dynamic layouts adaptating to all devices (like a phone)
  • tagging system
  • touch-friendly
  • navigating between notes
  • a text can have several notes in addition of the synopsis
  • manual save
  • backup with mutliple paths
  • accessible for screen readers (NVDA or JAWS)
  • Open texts in a new window
  • Open texts in tabs
  • Linux (Flatpak) support
  • importing old Plume Creator projects
  • texts overview
  • notes overview
  • Windows 10 support
  • Examples
  • Help page
  • project management
  • each note or text can take snapshots
  • on-the-fly notes from the context menu

Medium term goals are :

  • Adjoining documents to texts (without insertion)
  • Insert images into the text
  • Gallery tab to manage all external documents/images
  • Android support

For tech people, under the hood

All the application is rewritten from scratch using C++ Qt for back-end and QML for the front-end. The QML allows for a touch friendly and dynamic interface.

Each project is a SQLite3 file, more robust than the zipped projects in Plume.

Build it, test it

Windows

By hand, for development

Install Qt 5.15.2 on Windows 10

Building prerequisites
  • Download the latest from GitHub, then you can use Qt Creator to open the superbuild at cmake/Superbuild/CMakeLists.txt in the project.
  • Configure against Qt 5.15 MinGW minimum to be sure.
  • Before compiling it, set the build directory (in Projects tab) to build_skribisto_Release just outside the skribisto folder
  • add the CMake variable QT_VERSION_MAJOR and set its value to 5 or 6 depending of your Qt version, apply the change
  • Build it against
  • After successfully compiling it, close the Skribisto-Superbuild project
Building
  • Open CMakeLists.txt_ at the root of the project
  • In Qt Creator, in Projects tab, in the build subsection, add the CMake variable SKR_DEV (bool) and set its value to "ON", apply the change
  • Compile it
Running it
  • In Qt Creator, in Projects tab, in the run subsection, copy the value of environment variable Path in a text editor.
  • Add to the line the paths of the prerequisites dll. For example, I added to the original Path value : ;C:\Users\jacqu\Devel\build_skribisto_Release\3rdparty\zlib\bin; C:\Users\jacqu\Devel\build_skribisto_Release\3rdparty\quazip\bin; C:\Users\jacqu\Devel\build_skribisto_Release\3rdparty\hunspell\bin; (make it only one line)
  • run skribisto
automated building & packaging
  • install Inno Setup found at https://jrsoftware.org/isdl.php
  • unlock running Powershell scripts by running in admin Powershell : set-ExecutionPolicy RemoteSigned
  • Open PowerShell
    • cd skribisto\package\windows\
    • run .\packaging.ps1

Linux

By hand, for development

Needed sources and libs :

  • hunspell (devel)
  • zlib (devel)
  • quazip (devel), version 1.1 minimum needed. Install it by hand.

Minimum Qt : 5.15 If you have not Qt 5.15, use the Qt installer found at Qt website Install 5.15 Desktop or superior and Qt Creator Open the project using the CMakeLists.txt file Build and run it

Flatpak

Flatpak prerequisites
  • make sure to have flatpak and flatpak-builder installed on your system

Prerequisites (>1Go):

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.kde.Sdk//5.15
flatpak install flathub org.kde.Platform//5.15

Older flatpak-builder doesn't support YAML manifest files. Convert it to JSON using one of the online website easily found, then place the new file by eu.skribisto.skribisto.yml. Adapt the flatpak commands to point to this new file instead of the .yml file.

Flatpak from GitHub master branch :
  • type in a terminal :

Compile :

mkdir ~/Devel
cd ~/Devel
git clone https://github.com/jacquetc/skribisto.git
flatpak-builder --user --repo=local-repo build-dir skribisto/package/flatpak/eu.skribisto.skribisto.yml --force-clean

Run only once :

flatpak build-update-repo local-repo
flatpak --user remote-add --no-gpg-verify local-repo local-repo

Install :

flatpak install local-repo eu.skribisto.skribisto -y --reinstall

Later, when a new version is online, you can update with this single line:

cd ~/Devel && flatpak-builder --user --repo=local-repo build-dir skribisto/package/flatpak/eu.skribisto.skribisto.yml --force-clean && flatpak install local-repo eu.skribisto.skribisto -y --reinstall
Flatpak from local source code:

You can copy/paste in ~/Devel/ the file eu.skribisto.skribisto found in [skribisto-repo]/package/flatpak/local/

Near the end of the file, in skribisto build module, adapt path: to your local repository (ex: path: /home/cyril/Devel/skribisto)

mkdir ~/Devel
cd ~/Devel
git clone https://github.com/jacquetc/skribisto.git
flatpak-builder --user --repo=local-repo build-dir skribisto/package/flatpak/local/eu.skribisto.skribisto.yml --force-clean

Run only once :

flatpak build-update-repo local-repo
flatpak --user remote-add --no-gpg-verify local-repo local-repo

Install :

flatpak install local-repo eu.skribisto.skribisto -y --reinstall

After you modified the code you want in whichever git branch you want, type this command :

cd ~/Devel && flatpak-builder --user --repo=local-repo build-dir skribisto/package/flatpak/local/eu.skribisto.skribisto.yml --force-clean && flatpak install local-repo eu.skribisto.skribisto -y --reinstall

To contact me :

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].