Files

2.9 KiB

harbour-quill

Markdown notes client (Obsidian-like) for Sailfish OS. Notes live in a WebDAV folder (e.g. a Nextcloud directory): browse, edit and preview .md notes with automatic save — no local storage, your vault stays on your server.

Features

  • WebDAV browsing: folder navigation, all files shown (not only .md, any file can be opened as text), mtime/size listing
  • Markdown editor with automatic save on exit
  • Preview rendered locally by the built-in parser (Markdown.js):
    • GFM tables (delimiter row, column alignment, inline markup in cells)
    • navigable [[wiki-links]]
    • inline images with local cache
    • relative links resolved against the note's WebDAV folder
    • local file: links blocked with a banner (safety)
  • Note search (title filter)
  • New / delete notes from the folder list
  • English and Italian UI: language selector (system / English / Italiano), applied on restart; Italian catalogue .qm in the app data dir
  • Settings in ~/.config/harbour/quill/quill.conf — the persistent zone of the SailJail sandbox (Sailfish 4.4+/5.x)

Build

You need the Sailfish SDK.

sfdk target install SailfishOS-5.0.0.62-aarch64   # or your device target
sfdk target use SailfishOS-5.0.0.62-aarch64
sfdk build            # produces the RPM in RPMS/
sfdk deploy           # installs on the connected device

Targets: aarch64 (Jolla Phone 2026, Xperia 10 II/III), armv7hl (Xperia X, Jolla C), x86_64 (emulator).

Configuration

Open the app → menu → Settings:

Field Value
Server URL e.g. https://nextcloud.example.com/remote.php/dav/files/user/Notes
Username WebDAV user
Password app password / account password
Language System / English / Italiano (applied on restart)

Structure

qml/harbour-quill.qml    app entry
qml/pages/               MainPage (folder list + search), EditorPage,
                         PreviewPage, SettingsPage, NewNoteDialog
qml/components/          DavClient.qml (WebDAV), Banner.qml,
                         Markdown.js (parser), PropfindParser.js
src/                     main.cpp (language + translator), settings
                         (QSettings, sandbox config), downloader
                         (image cache)
tests/                   test_parsers.js (Markdown/propfind parsers)
translations/            harbour-quill_it.ts (English is the source language)
rpm/                     spec (lrelease → .qm in app data dir) and desktop
                         file (SailJail: Internet)

Known limitations

  • The WebDAV password is stored in plain text in the app settings (~/.config/harbour/quill/quill.conf) — acceptable for personal use.
  • The preview is a local render; some exotic Markdown edge cases may differ from Obsidian.
  • The language change takes effect on restart.

License

GPLv3