An open API service indexing awesome lists of open source software.

https://github.com/bitspook/notes-migrator

Migrate your notes b/w different note-taking software
https://github.com/bitspook/notes-migrator

denote logseq note-taking org-roam

Last synced: 6 months ago
JSON representation

Migrate your notes b/w different note-taking software

Awesome Lists containing this project

README

          

#+title: notes-migrator

** Usage

You can do this in one of the following ways:

1. *Download this script*. (e.g =git clone https://github.com/bitspook/notes-migrator=)

2. To *load the migration script*, in Emacs, run =M-x load-file=, and select the
migration script you want to run (e.g =nm-org-roam-to-denote.el=). See
*[[id:00f586a4-f8db-4a13-892a-f8efacb5ee65][Supported Conversions]]* section below for supported migration scripts.

3. *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 be =nm-migrate-org-roam-to-denote=. You can invoke =C-h f= and
enter/select this function to read its documentation.

4. *Run migration* by invoking the migration function. =M-x= and selecting the
=nm-migrate-*= function should do the job

** Supported Conversions
:PROPERTIES:
:ID: 00f586a4-f8db-4a13-892a-f8efacb5ee65
:END:

*** [[https://github.com/org-roam/org-roam/][org-roam]] to [[https://protesilaos.com/emacs/denote][denote]]

- Script: [[file:nm-org-roam-to-denote.el][nm-org-roam-to-denote.el]]
- Command: =nm-migrate-org-roam-to-denote=
- Maintainer: [[https://github.com/bitspook][@bitspook]]

- Tested with:
- Emacs versions
- 29.0.5
- 28.1
- org-roam versions
- v2.2.1

**** 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.

*** [[https://github.com/Kungsgeten/org-brain][org-brain]] to [[https://protesilaos.com/emacs/denote][denote]]

- Script: [[file:nm-org-brain-to-denote.el][nm-org-brain-to-denote.el]]
- Command: =nm-migrate-org-brain-to-denote=
- Maintainer: [[https://github.com/MArpoagaus][@MArpoagaus]]

- Tested with:
- Emacs versions
- 29.4
- org-brain versions
- v0.94

**** Known limitations
- The converstions seams to fail for files with latex previews enabled on startup.

*** [[https://protesilaos.com/emacs/denote][denote]] to [[https://logseq.com/][logseq]]

- Script: [[file:nm-denote-to-logseq.el][nm-denote-to-logseq.el]]
- Command: =nm-migrate-denote-to-logseq=
- Maintainer: [[https://github.com/hapst3r][@haspt3r]]

- Tested with:
- Emacs versions
- 28.1
- Denote version
- v1.0.0

**** 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 [[https://github.com/bitspook/notes-migrator/issues][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 One^{TM} comes along.