A cross-platform libre handwritten notes app with flutter
Saber
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.
Tap to show/hide screenshotsFeatures
Please see #1 Saber progress.
Install
Saber is still in early stages but if you’d like to check it out, you can see the online PWA at saber.adil.hanney.org. Alternatively, install it natively…
Tap to show/hide install instructionsAndroid
Option 1 (recommended): Download and install Saber.apk
from the latest Release.
Option 2: Download from F-Droid
Option 3: Download from the Play Store
Linux
Option 1 (recommended): Install the flatpak from Flathub: flatpak --user install com.adilhanney.saber
.
Option 2: Download Saber.flatpak
from the latest Release and install with flatpak --user install Saber.flatpak
Option 3: Download Saber-latest-x86_64.AppImage
from the latest Release, make it executable with chmod +x Saber-latest-x86_64.AppImage
, then run it.
Windows
Download and install SaberInstaller.exe
from the latest Release
iOS
macOS
Download Saber.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
.
Build from source
Tap to show/hide build instructions1. Install flutter
https://docs.flutter.dev/get-started/install
2. Clone this project
git clone https://github.com/adil192/saber.git
3. Get dependencies
flutter pub get
4. Build for…
Linux
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.
Android
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
Note: F-Droid releases are built slightly differently:
flutter build apk -t lib/main_fdroid.dart
The web
flutter build web
Windows
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.
iOS and macOS
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.
Links
Translating
Extending existing translations
Check _missing_translations.json to see if any translations are missing.
- Fork this repo
- Update your
_missing_translations.json
file with your translations, e.g. updating Simplified Chinese (zh)"zh": { "editor": { "toolbar": { "highlighter": "荧光笔" } } }, // ignore the other languages...
- Open a pull request! I’ll do the rest
Adding a new language
- Fork this repo
- Look for your locale code here,
e.g.
hi
for Hindi,fr
for French,bn
for Bengali,ar
for Arabic, etc. - Copy
lib/i18n/strings.i18n.json
tolib/i18n/strings_XX.i18n.json
(replacingXX
with your locale code) - Translate the strings in
lib/i18n/strings_XX.i18n.json
- Open a pull request!
Also see slang
‘s Getting Started for more information.
Development notes
Show/hide development notes- When updating the app version, you’ll need to make changes to the following files:
pubspec.yaml
:version
lib/data/version.dart
:buildNumber
windows/runner/Runner.rc
:VERSION_AS_NUMBER
andVERSION_AS_STRING
installers/desktop_inno_script.iss
:MyAppVersion
flatpak/com.adilhanney.saber.metainfo.xml
:<releases>
metadata/en-US/changelogs/
: Create a changelog for the new version
- 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
flutter pub run slang analyze --full --outdir=lib/i18n/
- If you’re adding a new language, edit
CFBundleLocalizations
inios/Runner/Info.plist
andandroid:supportsRtl
inandroid/app/src/main/AndroidManifest.xml
- Run the following commands: