Skip to main content

Download and use local copies of assets in logseq after importing a file from Roam.

Project description

logseq-migration

Download and use local copies of assets in logseq after importing a file from roam.

NB: Users have reported problems running this on Windows. I have been unable to reproduce the problem, so I cannot fixit. The software should run on any model of a Raspberry Pi so Windows users with a Pi could install and run the software there.

Roam stores the assets (images, pdfs, mp4 files etc.) in the cloud.

While logseq makes it easy for you to import a roam json export, your assets will remain in the cloud.

That worries me, because

  1. I want to store all the data that I own in my local file system.
  2. I want to be able to view my pages even if I am not connected to the Internet.
  3. The assets could disappear if roam research ceased trading or changed its policy about closed accounts.

So I adapted the code from here to suit logseq instead of Obsidian, wrote some minimal tests and refactored the code.

It's currently beta software

It's had limited testing, but it worked for me on a graph with about 1800 nodes.

Once installed, you can run the code each time you want to process a recently imported roam graph.

Since the program messes with the markdown in your pages (in order to make asset links local),

back up your graph before you run this code!

The application is easy to install and run. You'll find instructions below.

Installation

Install required software

Python 3

The code is written in Python, and you will need an installed copy of Python3.8 or later.

If you don't already have a suitable copy of Python installed, you'll find installation instructions here.

Under Windows, it appears that you must install Python system-wide (with script wrappers) and ask for Python to be added to your PATH.

pip3

pip is Python's package manager. You'll need pip3, the version that supports Python3.

This is normally installed with Python3. If it isn't for some reason you can follow these instructions.

Install the application

run pip3 install logseq-migration

Run the application

run localise_assets <vault_dir>

where vault_dir is the directory in which your logseq graph lives.

You'll see version information printed, and the word done when the migration is complete

The migrator will create a logfile called migration.log. By default, this will only log the start and end of the migration, with any errors.

If you wish to see detailed debug information, run localise_assets <vault_dir> 1

The code is idempotent. In other words, if you run it two or more times, nothing should change after the first run.

Let me know how you get on, and please raise an issue if there are problems, or you want to suggest new features.

There's a roadmap and a project journal. If you're interested in contributing, get in touch. Help is always welcome!

I'm @rareblog on Twitter.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

logseq-migration-0.3.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

logseq_migration-0.3.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file logseq-migration-0.3.1.tar.gz.

File metadata

  • Download URL: logseq-migration-0.3.1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for logseq-migration-0.3.1.tar.gz
Algorithm Hash digest
SHA256 01659c914a02e374217b0ae05d7a1ed7cd625efef8897580f579f823535be57f
MD5 976a58adf944a4ac1b9c401436f0e07c
BLAKE2b-256 d8906725eb1d05770004a93d2a298860f1c137d76e62004270dc97a1ec8feebe

See more details on using hashes here.

File details

Details for the file logseq_migration-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for logseq_migration-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 15b8cd97f0a6da1b95294e1ab99063ed2b4aba8c5f809fc783101c0d208e4c6e
MD5 d31bd4a8d23db66af8ee5f27db919b87
BLAKE2b-256 2870128b5f87507f5fc57073bd6eced347075cfeeaaee5d3b2f8a0a3d0ed169e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page