This script help you backup your RoamResearch!
This script automatically
- Download a markdown archive of your RoamResearch workspace
- Download a json archive of your RoamResearch workspace
- Unzip them to your git directory
- Commit and push the difference
- You have a backup if RoamResearch lose some of your data.
- You have a history of your notes.
- You can browse your Github repository with a mobile phone.
With gh: gh repo create notes
(yes, it's private)
Or manually
- Go to github.com/your/repository/settings/secrets
- Add secrets like in env.template
cd notes
mkdir -p .github/workflows/
curl https://raw.githubusercontent.com/MatthieuBizien/roam-to-git-demo/master/.github/workflows/main.yml > \
.github/workflows/main.yml
git add .github/workflows/main.yml
git commit -m "Add github/workflows/main.yml"
git push --set-upstream origin master
- Go to github.com/your/repository/actions
- Your CI job should start in a few seconds
Note: if your file system is not case-sensitive, you will not backup notes that have the same name in different cases
With pipx (if you don't know pipx, you should look at it, it's wonderful!)
pipx install git+https://github.com/MatthieuBizien/roam-to-git.git
With gh: gh repo create notes
(yes, it's private)
Or manually
Then run git push --set-upstream origin master
curl https://raw.githubusercontent.com/MatthieuBizien/roam-to-git/master/env.template > notes/.env
- Fill the .env file:
vi .env
- Ignore it:
echo .env > notes/.gitignore; cd notes; git add .gitignore; git commit -m "Initial commit"
- Run the script:
roam-to-git notes/
- Check your Github repository, it should be filled with your notes :)
One-liner to run it with a cron every hours:
echo "0 * * * * '$(which roam-to-git)' '$(pwd)/notes'" | crontab -
- Download automatically from RoamResearch
- Create Cron
- Write detailed README
- Publish the repository on Github
- Download images (they currently visible in Github, but not in the archive so not saved in the repository 😕)
- Format
[[links]]
- Format
#links
- Format
attribute::
- Format
[[ [[link 1]] [[link 2]] ]]
- Format
((link))
- Add backlinks reference to the notes files
- Integrate the context into the backlink
- Manage
/
in file names
- Format
{{TODO}}
to be compatible with Github markdown - Format `{{query}}``
- Push it to Github
- Add example repository
- Make the backup directory configurable
- Publicize it
- Test it/make it work on Windows
- Pre-configure a CI server so it can run every hour without a computer Thanks @Stvad for #4!