notes-migrator
Usage
You can do this in one of the following ways:
- Download this script. (e.g
git clone https://github.com/bitspook/notes-migrator
) - To load the migration script, in Emacs, run
M-x load-file
, and select the migration script you want to run (e.gnm-org-roam-to-denote.el
). See Supported Conversions section below for supported migration scripts. - Rtfm; Migration script is now loaded, and there should be a function with
nm-migrate-
prefix loaded in Emacs. e.g for org-roam to denote migration, there should benm-migrate-org-roam-to-denote
. You can invokeC-h f
and enter/select this function to read its documentation. - Run migration by invoking the migration function.
M-x
and selecting thenm-migrate-*
function should do the job
Supported Conversions
org-roam to denote
- Script: nm-org-roam-to-denote.el
- Command:
nm-migrate-org-roam-to-denote
- Maintainer: @bitspook
- Tested with:
- Emacs versions
- 29.0.5
- 28.1
- org-roam versions
- v2.2.1
- Emacs versions
Known limitations
- If you are using org-roam’s feature of having multiple nodes in a single file (having a ID on a subtree in a org-roam file treats the subtree as a separate note in itself), then the same file will result in multiple denote notes. The filename will be different (it is one file per sub-note), but original file’s complete content is present in each.
denote to logseq
- Script: nm-denote-to-logseq.el
- Command:
nm-migrate-denote-to-logseq
- Maintainer: @haspt3r
- Tested with:
- Emacs versions
- 28.1
- Denote version
- v1.0.0
- Emacs versions
Known limitations
- You need to specify an existing
LOGSEQ-DIRECTORY
. Specifying a nonexistent one will result in an error. Specifying nothing (NIL), everything will be copied into your home folder (on linux). - In
LOGSEQ-DIRECTORY
, files with identical names (i.e. earlier transferred notes) will be overwritten without notification. - The tags currently don’t work. Denote uses #+FILETAGS and Logseq #+TAGS in the header line, Denote uses :TAG1:TAG2: format and Logseq uses TAG1, TAG2 format.
- Invalid denote links are ignored i.e they are left behind in the migrated notes as-is
Purpose
To migrate notes from one software to another.
Fluidly taking notes is a powerful habit. In the quest of a fluent workflow, you (like me) might find yourself trying many software. In this repo I will put code I use to convert my notes from one software to another, so I can assess them with my actual of notes instead of just toying around.
Contributing
If you want conversion b/w software not covered in this repo, or want different behavior for existing migration scripts, please create an issue on Github.
If you’re willing to get your hands dirty and write some code, I will assist you write the required code. Or you can create a PR if you have already written one. Or we wait until The OneTM comes along.