GNU ELPA - org-gnosis

org-gnosis Atom Feed

Description
Learning-focused note-taking for Gnosis
Latest
org-gnosis-0.2.2.tar (.sig), 2026-Feb-24, 110 KiB
Maintainer
Thanos Apollo <public@thanosapollo.org>
Website
https://thanosapollo.org/projects/org-gnosis/
Browse ELPA's repository
CGit or Gitweb
All Dependencies
emacsql (.tar), compat (.tar)
Badge
Manual
org-gnosis

To install this package from Emacs, use package-install or list-packages.

Full description

1. About

Org-gnosis provides a minimal note-taking system for GNU Emacs. It implements Zettelkasten-style linked notes with an SQLite database for indexing.

The package functions as an independent module, designed to integrate with Gnosis (a spaced repetition system) but usable standalone. Notes can optionally link to Gnosis themata for connecting note-taking with spaced repetition self testing practice.

2. Features

  • Unique IDs for each note
  • Backlinks and forward link tracking
  • Tag-based organization
  • Daily journaling (single file or separate files)
  • SQLite database for indexing
  • Hierarchical note structures
  • Optional .gpg encryption
  • Optional integration with Gnosis themata

Old versions

org-gnosis-0.2.1.tar.lz2026-Feb-2319.4 KiB
org-gnosis-0.2.0.tar.lz2026-Feb-2218.7 KiB
org-gnosis-0.1.2.tar.lz2026-Jan-2616.1 KiB
org-gnosis-0.1.1.tar.lz2025-Aug-0416.8 KiB
org-gnosis-0.1.0.tar.lz2025-Aug-0416.8 KiB
org-gnosis-0.0.9.tar.lz2025-Feb-2613.1 KiB
org-gnosis-0.0.7.tar.lz2025-Feb-1912.9 KiB
org-gnosis-0.0.6.tar.lz2025-Feb-1412.7 KiB
org-gnosis-0.0.5.tar.lz2025-Feb-1312.6 KiB
org-gnosis-0.0.4.tar.lz2025-Feb-1212.2 KiB
org-gnosis-0.0.3.tar.lz2025-Feb-1218.2 KiB
org-gnosis-0.0.2.tar.lz2025-Feb-1118.0 KiB

News

0.2.2

New features

  • Add org-gnosis--find-file-h, a find-file hook that enables org-gnosis-mode when visiting org-gnosis files.

0.2.1

Critical Fixes

Database Sync
  • Fixed org-gnosis--delete-file querying with full paths instead of basenames, causing incremental sync to silently fail.
  • Fixed org-gnosis-update-file to accept full paths and correctly detect journal files.
  • Fixed force sync not recreating indexes after dropping tables.
  • Removed redundant table rebuild in org-gnosis-db-sync.
Emacs 29+ Compatibility
  • Fixed wrong-type-argument processp error on Emacs 29+ by pre-loading emacsql-sqlite-builtin to ensure cl-generic dispatches the correct methods for builtin sqlite connections.
Other Fixes
  • Fixed reversed SQL condition in org-gnosis-insert.
  • Fixed org-gnosis-mode not passing LOCAL argument to remove-hook, causing the after-save hook to be removed globally instead of per-buffer.
  • Fixed typo in default org-gnosis-journal-file path.
  • Fixed tags--cleanup-orphaned indentation causing incorrect behavior.
  • Fixed org-gnosis-insert-tags redundant expression.
  • Fixed org-gnosis-find error message and redundant expression.

New Features

  • Added org-gnosis-db-force-sync command for unconditional database rebuild.
    • Provides clearer alternative to C-u M-x org-gnosis-db-sync.
    • Prompts for confirmation before dropping tables.

Improvements

  • Database version bumped to 4 with indexes on file columns for faster sync lookups.
  • Simplified orphaned tags cleanup into a single SQL query.
  • Extracted directory creation into org-gnosis-ensure-directories.
  • Improved error messages to suggest org-gnosis-db-force-sync.
  • Fixed docstrings and checkdoc warnings.

Testing

  • Added 29 regression tests covering database init, CRUD, tags, links, sync change detection, file naming, journal, and mode hooks.

0.2.0

Important Changes

Database Changes
  • Database version bumped to 3, tracking mtime and hash for both nodes and journal files.
  • Automatic database migration prompts when schema is outdated.
  • Lazy database initialization - database connections are created only when needed, improving startup time.
  • Added org-gnosis-database-file custom variable to specify custom database file location.
Performance Improvements
  • Major performance improvements for org-gnosis-db-sync with GC optimization during sync.
  • Two-tier incremental sync: fast mtime check, then accurate hash comparison.
    • Only processes files where both modification time and content have changed.
    • Dramatically improves performance for .gpg encrypted files and large repositories.
  • Both node files and journal files now use incremental sync with progress reporting showing changed/total file counts.
  • To force full resync, call org-gnosis-db-sync with prefix arg C-u. e.g C-u M-x org-gnosis-db-sync RET.
Journaling
  • By default, today's journal entries are created in org-gnosis-journal-file as level 1 headings.
    • When set to nil, creates separate files for each date entry.
    • Creating new entries (e.g., via org-gnosis-journal-find for an event, non-date) creates separate files in org-gnosis-journal-dir regardless of this setting.
    • Single journal file is only used for today's date entries.
  • Added org-gnosis-journal-as-gpg that when non-nil journal files will be created as gpg encrypted files.
  • Journal todos now only retrieve checkboxes from today's heading when using a single journal file, improving performance.
Tag Management
  • Automatic cleanup of orphaned tags (tags with no associated nodes) when updating files.

… …