Leaving Logseq

Listen to this article

Hi everyone! I've been testing out Obsidian as a Loseq replacement after one data loss incident too many.

I wanted to share the steps I took below to convert my Graph into a Vault, and share some tips with other former Logseq users who may be looking for familiar processes and features.

Initial Conversion with Python

I create a Migration folder.

I copied my assets, draws, journals, pages, and whiteboards folders into a new folder called logseq inside the Migration folder.

I used the LogSeqToObsidian Python script that was mentioned here to help with some initial cleanup.

I started the command line inside the Migration folder and ran the following command:

python convert_notes.py --logseq logseq --output obsidian --unindent_once --convert_tags_to_links --journal_dashes

This created a new folder called obsidian inside the Migration with the converted files:

| Migration
|- logseq
|- obsidian [newly created]

The script helped a lot, but I still had some cleaning up to do.

Converting remaining Logseq-specific metadata with VS Codium

Although I had to scan through each of my notes anyway, VS Codium helped automate some of the more repetitive errors and conversions.

TODO DOING DONE tasks

I opened my fault in VS Codium and used the Search and Replace function (CTRL + SHIFT + E) to make the replacements:

image
 

 

I also searched for instances of :LOGBOOK: clocks in my notes and used REGEX to remove them:

:LOGBOOK:(.|[\r\n])*?:END:
image

 

Aliases, Properties

Tags

Although I added the --convert_tags_to_links flag in the Python script, I still got tags that kept their #. Since tags operate a bit differently in Obsidian, and I generally use them as page references, I had to manually search and fix those instances.

Block Embeds

Expanded/Collapsed

Searched and deleted those

Metadata from other plugins

Special tags and things like {{renderer }} and other {{macros}} were sought, destroyed, and/or replaced as I came across them.

Journals

This was a nightmare to manage. I used journals in Logseq a lot, and although the journal file names were easy to convert with the Python script (yyyy_mm_dd → yyyy-mm-dd), their references in other pages used my custom date format (MMM do, yyyy).

Since Obsidian couples the page’s file name with the displayed Title, there was no way for me to match the old way, and this caused a few broken links / links to pages that don’t exist.

To tackle this, I the Dangling links panel plugin and manually fixed the links so that they pointed to the correct file.

Shortcuts / Hotkeys

Settings

Page Previews on Hover

Backlinks always on

I wanted my Backlinks to always appear at the bottom of my pages/notes, so I enabled the Backlinks Core plugin, and enabled that setting (as mentioned here and here):

 

Local Page Graph on the right-hand panel

To reveal the local page graph, I first had to set a hotkey for it in the Settings:

 

Once I hit the shortcut, the local graph appeared, and I re-arranged it so that it appeared in the bottom half of the right panel:

image
 

CSS

I’m sure I’ll make more tweaks down the line, but what jumped at me initially was my desire to increase the spacing after headings and between text.

To do so, I went to Settings > Appearance > CSS Snippets, opened the folder, create a new CSS file, and pasted the following:

.markdown-source-view.mod-cm6.is-readable-line-width .cm-line {
    padding: 0.3em 0; /*add spacing above and below headings lines*/
}

.cm-s-obsidian .cm-line.HyperMD-header {
    padding: var(--p-spacing) 0 !important; /*add spacing above and below headings*/
}

Plugins

Typing Transformer Settings

I used this plugin to help transform my TODO tasks into the correct syntax:

'- TODO|' -> '- [ ] |'

Excalidrawings

Whiteboards

Since Logseq Whiteboards and Obsidian Canvas are relatively new features, I didn’t expect to find anything out there that would help with converting one to the other.

I hadn’t used Whiteboards that extensively anyway, so it was just a matter of rebuilding what I had started.

What I miss

  • Editable transclusions and page titles / references that are decoupled from the file name.
  • PDF previews and annotations
  • Spaced repetition flashcards

Comments