Convert Supernote .note files into a plain text, machine readable archive for backup and search
Pipe archived pages through an optional vision AI model to transcribe handwriting into text
Export archived notes into org-mode files linked together using Emacs and denote
Query and retrieve specific pages or whole notes as JSON for use in other tools
| jdlugosz963/snorg | aeneasr/github-trends | bxcodec/go-simple-flatbuffer | |
|---|---|---|---|
| Stars | 4 | 4 | 4 |
| Language | Go | Go | Go |
| Last pushed | — | 2020-12-18 | 2017-06-09 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | developer | pm founder | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires supernote-tool on PATH for ingest, and pandoc only if exporting to org-mode.
snorg is a command line tool for people who own a Supernote, an e-ink writing tablet, and want their handwritten notes stored in a plain text, machine readable archive instead of being locked inside the device's own binary note format. It reads the Supernote's .note files and converts them into an organized folder structure that can be searched, version controlled, and exported later, rather than just sitting as one opaque file per note. Under the hood, snorg does not parse the binary .note format itself. Instead it shells out to a separate existing tool called supernote-tool to do that conversion, and it uses pandoc, a well known document converter, when exporting notes into org-mode format for Emacs users. The main tool itself is written in Go. Using it follows a consistent pattern: you first ingest a note file or a whole folder of notes into an archive directory, then you can list the notes that were registered, query for specific pages or all pages, and retrieve the assembled result as JSON. There is also an optional step where you can run a vision based AI model over the pages to transcribe handwriting into text, and this step is designed to skip pages that have not changed since the last run so it does not reprocess everything every time. Finally, notes can be exported through a customizable template, for example turning them into Markdown or org-mode files. Most of these commands are designed to be piped together, so the output of one command, like a list of page IDs, can feed directly into the next. Each archived note is stored in its own folder containing a JSON description, per-page JSON and Markdown files, an SVG image of the page, and any background images, which keeps everything readable without special tools. The project ships shell completion scripts for bash, zsh, fish, and PowerShell. It also includes a worked example for Emacs users that exports an entire archive into individual org-mode notes linked together using the denote note-taking convention. The README notes the project has only been tested on the Supernote Manta model, that links currently only work between .note files and not to web pages or other file types, and that the AI transcription prompts still need improvement for things like tables and diagrams.
A command line tool that converts Supernote handwritten note files into a plain text, searchable, version-controllable archive with optional AI transcription.
Mainly Go. The stack also includes Go, pandoc.
The README excerpt does not state a license for this repository.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.