Integrating https://gitlab.com/protesilaos/denote with KDE. Inspired by a previous project, https://git.lneely.de/lkn/denotesrv, designed to make denote work with http://acme.cat-v.org/.
Go to file
Levi Neely 063c536a89 Initial implementation: Baloo extractor + Dolphin rename action
Components:
- lib/: shared denote metadata parsing and frontmatter handling
- extractor/: KFileMetaData plugin for Baloo indexing
- fileitemaction/: "Rename with Denote..." Dolphin context menu
- Unit tests for metadata and frontmatter parsing

All tests passing, builds against KF6/Qt6.
2026-07-12 20:21:11 +02:00
extractor Initial implementation: Baloo extractor + Dolphin rename action 2026-07-12 20:21:11 +02:00
fileitemaction Initial implementation: Baloo extractor + Dolphin rename action 2026-07-12 20:21:11 +02:00
lib Initial implementation: Baloo extractor + Dolphin rename action 2026-07-12 20:21:11 +02:00
.gitignore Initial implementation: Baloo extractor + Dolphin rename action 2026-07-12 20:21:11 +02:00
CMakeLists.txt Initial implementation: Baloo extractor + Dolphin rename action 2026-07-12 20:21:11 +02:00
README.md Initial implementation: Baloo extractor + Dolphin rename action 2026-07-12 20:21:11 +02:00

README.md

kdenote

KDE integration plugins for Denote notes.

Components

  • Baloo extractor — KFileMetaData plugin that indexes denote file metadata (title, tags, date, signature) so Dolphin search, KRunner, and Baloo queries work on your notes.
  • Dolphin context menu — "Rename with Denote..." action for files that don't yet conform to the denote naming scheme.
  • Shared library — Denote filename parsing/building and frontmatter handling (YAML/Org/txt), used by both plugins.

Building

mkdir build && cd build
cmake .. -DBUILD_TESTING=ON
make
make install

Dependencies

  • Qt 6
  • KDE Frameworks 6 (KFileMetaData, KIO, WidgetsAddons, ECM)
  • C++20 compiler

Configuration

Ensure your denote directory is indexed by Baloo:

balooctl config add includeFolders /path/to/your/notes

After installing the extractor plugin, trigger a reindex:

balooctl check /path/to/your/notes

Denote filename format

YYYYMMDDTHHMMSS[==signature]--slugified-title[__tag1_tag2].ext

Examples:

  • 20240315T120000--my-daily-note__journal_daily.md
  • 20240315T120000==1a--project-plan__work.org

License

LGPL-2.1-or-later