A (work-in-progress) cross-platform libre notes app. Please note that this app is still in early stages and not ready to trust with your notes yet.
Android | iOS | Linux | macOS | Windows | Web | |
---|---|---|---|---|---|---|
Support | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
Android and Linux are the main platforms that are being developed for, but if you encounter any bugs on other platforms, please open an issue.
Please see #1 Saber progress.
Tap to show/hide install instructions
Options:
-
Download from the Play Store
-
Download from F-Droid
- Note that the F-Droid build is not optimised for Onyx Boox devices as this would require proprietary dependencies from Onyx.
-
Download and install
Saber_{version}.apk
from the latest Release.
Option 1 (recommended):
Install the flatpak from Flathub: flatpak --user install com.adilhanney.saber
.
Option 2:
Download Saber_{version}.flatpak
from the latest Release
and install with flatpak --user install Saber_*.flatpak
Option 3:
Download Saber-{version}-x86_64.AppImage
from the latest Release,
make it executable with chmod +x Saber-*-x86_64.AppImage
, then run it.
Download and install SaberInstaller_{version}.exe
from the latest Release
Download Saber_{version}.app.zip
from the latest Release
and move the Saber
app to /Applications
.
macOS will warn you that the app is from an unidentified developer when you first open it, so
you'll need to go to System Preferences > Security & Privacy
and click Open Anyway
.
Tap to show/hide build instructions
https://docs.flutter.dev/get-started/install
git clone https://github.com/adil192/saber.git
flutter pub get
sudo apt install libsecret-1-dev libjsoncpp-dev
flutter build linux
This is good enough for using on your own computer, but if you want to redistribute your build, you need to use a predictable environment: fork this repo and use the GitHub Action Build for Linux instead.
flutter build apk
You may need to generate a signing certificate and create the android/key.properties
file.
More information on https://docs.flutter.dev/deployment/android#create-an-upload-keystore
Note: F-Droid releases are built slightly differently:
./patches/remove_proprietary_dependencies.sh
flutter build apk -t lib/main_fdroid.dart
flutter build windows
The Windows installer is created with Inno Setup. To create an installer of your own, run the above build command, then edit and run installers/desktop_inno_script.iss with Inno Setup Compiler.
If you have a macOS computer, you can
build for iOS
with flutter build ipa
or
build for macOS
with flutter build macos
.
If you don't, fork this repo and use the GitHub Action Build for macOS and iOS. Alternatively, follow this YouTube tutorial How to compile a flutter application to iPhone with no mac (free | no jailbreak) to manually build with Codemagic.
All translations are crowd-sourced. Saber has so far been translated into:
- English (en)
- Czech (cs)
- German (de)
- Spanish (es)
- Persian (fa)
- Italian (it)
- Russian (ru)
- Turkish (tr)
- Chinese Simplified (zh_Hans-CN)
- Chinese Traditional (zh_Hant-TW)
Check _missing_translations.json to see if any translations are missing.
- Use this link
to edit
_missing_translations.json
. - Update your
_missing_translations.json
file with your translations, e.g. updating German (de)"de": { "editor": { "newerFileFormat": { "title": "Diese Notiz wurde mit einer neueren Version von Saber bearbeitet", "subtitle": "Wenn du diese Notiz bearbeitest, können Daten verloren gehen. Möchtest du die Notiz trotzdem öffnen?", "openAnyway": "Trotzdem öffnen", "cancel": "Abbruch" } } }, // ignore the other languages...
- Open a pull request! I'll do the rest
- Look for your locale code here,
e.g.
hi
for Hindi,fr
for French,bn
for Bengali,ar
for Arabic, etc. - Use this link
to create a new file called
lib/i18n/strings_XX.i18n.json
whereXX
is your locale code. - Copy the contents of an existing file like
lib/i18n/strings.i18n.json
and replace the translations with your own. If you don't know the translation for a string, just delete the line. - Open a pull request!
Also see slang
's Getting Started for more information.
If you like Saber, please consider supporting it by:
- Spreading the word!
- Starring the project on GitHub
- Sponsoring me on GitHub Sponsors
- Donating via PayPal
- Buying more storage on the Nextcloud server: see Pricing
Show/hide development notes
- When updating the app version:
- Run
./apply_version.sh <version-name> <version-code>
(Run./apply_version.sh --help
for more info) - Update the changelogs in
metadata/en-US/changelogs/
andflatpak/com.adilhanney.saber.metainfo.xml
as directed by the script.
- Run
- When updating the icons, run the following commands:
- General:
flutter pub run icons_launcher:create
- Flatpak icons:
cd assets/icon && ./resize-icon.sh
- General:
- When updating the translations...
- Run the following commands:
flutter pub run slang apply --locale=XX
if you need to apply _missing_translations.jsonflutter pub run slang
flutter pub run slang analyze --full
- If you're adding a new language, update:
CFBundleLocalizations
inios/Runner/Info.plist
android/app/src/main/res/xml/locales_config.xml
lib/data/locales.dart
README.md
above in the "Translating" section.
- Run the following commands: