Foam
-
A [[project]].
- [[roam like]]. A [[vscode]] extension.
-
[[go]] https://foambubble.github.io/foam/
- By [[jevakallio]], [[riccardo ferretti]].
- Notable contributors / people I've met in the [[discord]]: [[ingalless]] [[scottjoe]] [[riccardo]] [[mathieudutour]].
-
As of [[2021-01-04]], my personal [[agora client]].
- See [[foam settings]], which describes my setup.
- Update [[2021-05-07]]: left for [[obsidian]].
-
To use foam:
- Fork its template repository: https://github.com/foambubble/foam-template/. You can use any name you desire for your repository.
- Install [[vscode]] if necessary: https://code.visualstudio.com/download. Launch it.
-
Select 'clone repository' -- if you're using [[github]], log in with [[github]]. Authorize [[vscode]] to make changes to your account. It sometimes requires you to retry once for some reason.
- [[vscode]] should offer to install recommended extensions. Say yes.
-
You can now use [[foam]]:
- Press alt-d to start a new daily note (your journal).
- Write [[wikilinks]] to link to other pages.
- Control-click them to visit existing linked notes or create them if needed.
- ctrl-p to open an existing note.
- ctrl-shift-p to bring up the [[vscode]] command palete; you can search for any command and see keyboard shortcuts.
- Whenever you want to commit to your repository (and the Agora), save all files and use the "branch-like" icon on the left toolbar to review changes and write a commit message.
-
You may need to set a user.name and user.email in git. To do this, open the terminal in [[vscode]] and type:
- git config --global user.name "Your Name"
- git config --global user.email "yourname@example.com"
Foam
- [[go]]https://github.com/foambubble/foam/
- sub-module for private garden.
CANNOT BE DONE, gh-jekyll complains "The submodule registered for
./Walls
could not be cloned. Make sure it's using https:// and that it's a public repo. See https://docs.github.com/en/github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites#invalid-submodule" <button class="pull-url" value="https://docs.github.com/en/github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites#invalid-submodule"](https://mail.google.com/mail/u/0/#inbox/FMfcgxwLsmclCJcnvjwfLBGQCrWCPvjz">pull. - retrofit
foam
to run with [[restructured-text]] (not just Markdown), see foambubble/foam#474.
Foam is a personal knowledge management and sharing system inspired by [[Roam Research]], built on [[Visual Studio Code]] and [[GitHub]].
You can use Foam for organising your research, keeping re-discoverable notes, writing long-form content and, optionally, publishing it to the web.
Foam is free, open source, and extremely extensible to suit your personal workflow. You own the information you create with Foam, and youβre free to share it, and collaborate on it with anyone you want.
website: https://foambubble.github.io/foam/ git: https://github.com/foambubble/foam
Several people have asked me what I think is the best available open source alternative to Roam currently. I've procrastinated writing about this long enough; here go some relatively raw thoughts in lieu of a proper answer. I'll try to keep this updated.
Foam
As of the time of writing I believe the best Roam-like is Foam (https://flancia.org/go/foam) . At least that's what I'm currently using. Setup is a bit clunky, if only because it is actually an extension for a text editor, VSCode. But it's a really good text editor -- and I say this as a die hard vim fan, if you know what I mean.
First it was off-putting but now I think it being an extension is kind of genius. It makes it so that you can extend it and compose it with other existing extensions very easily.
Following https://foambubble.github.io/foam/#getting-started:
- First, install VSCode: https://code.visualstudio.com/download.
- Log into github, or create an account there if you don't have it: https://github.com.
- Create an ssh key and upload it to github if you haven't already done it: https://github.com/settings/keys. If you don't have a key, on OS X and GNU/Linux you can just run
ssh-keygen
to generate it; the result (what you need to upload to github in this step) will be in.ssh/id_rsa.pub
(could also be in.ssh/id_dsa.pub
depending on your SSH version). - Create a new repository using the Foam template: https://github.com/foambubble/foam-template/generate.
- Clone the repository in your computer, using the git client (if you have it) or the git extension in VSCode.
- Open the repository in VSCode and follow the instructions. Accept installing the recommended extensions (Foam is actually a package of other extensions; that's part of its power). If for some reason VSCode doesn't recommend installing Foam, you can search for it and install it by pressing ctrl-shift-p and typing "install extensions".
- press alt-d to generate a daily note. Then get writing! :)
If you add text [[that looks like this]], it becomes a link -- it's a [[wikilink]]. You can control+click to follow it, which will create a file if necessary or open it if it already exists.
Once in a while, commit your changes in VSCode/git. It will automatically back up your notes to github. If you want to keep them private, you should flip that setting on github.com.
That's it!
A note on Athens
Athens (https://flancia.org/go/athens) is only in closed beta. Once it's out, it might provide the best out-of-the-box Roam-like experience; it is looking like it'll be amazing really great. From all the tools listed here, note that only Athens supports block references. If you care about them, you'll want to try it out.
Migrating from Obsidian
I mean, you don't actually need to migrate from Obsidian. Obsidian is actually pretty great! I prefer Foam because of its extensibility and because it's open source; but I like Obsidian. Its community forums are also great.
I'd still recommend you commit your Obsidian repository to git; this way you maintain full control over it, and you can even contribute it to the Agora directly too -- functionally the whole setup can be very similar to Foam. You can just set up an empty repository in github, clone it in your computer, and then copy/create your Obsidian notes directory to it. After that you need to manually run git one in a while to update it:
$ cd garden
$ git commit -a -m "Some message saying what's in this commit."
$ git push
Remember to set your repo as private if you want to keep it that way.
Migrating from Roam Research
You can export your database to Markdown, and import that directly into Foam or Obsidian. Obsidian even has a "Markdown import fixer" that solves some issues with it (unclear to me right now exactly what the list of issues fixed is).
Agora
Now you have a digital garden of your own, please consider adding it to the Agora: https://flancia.org/go/agora-howto . The Agora contains a repository of digital gardens. With such a "digital forest" we could build a https://flancia.org/go/distributed-knowledge-graph by convention.
If you need help, please reach out to me anytime at 0@flancia.org, https://flancia.org/go/twitter or https://flancia.org/go/mastodon .
- [[flancian]] https://social.coop/@flancian/107372497885860586
- [[flancian]] https://social.coop/@flancian/107542368400916389
- [[flancian]] https://social.coop/@flancian/107593658116939685
- [[flancian]] https://social.coop/@flancian/107634340850150109
- [[flancian]] https://social.coop/@flancian/107684217192571314
- [[flancian]] https://social.coop/@flancian/107684407018760131
- [[flancian]] https://social.coop/@flancian/108369075968512603
- [[flancian]] https://twitter.com/flancian/status/1466074110581215242
- [[flancian]] https://twitter.com/flancian/status/1471599797824102405
- [[flancian]] https://twitter.com/flancian/status/1472508833306185730
- [[flancian]] https://twitter.com/flancian/status/1473406435480514564
- [[flancian]] https://twitter.com/flancian/status/1476945859837575168
- [[flancian]] https://twitter.com/flancian/status/1480227961630507009
- [[flancian]] https://twitter.com/flancian/status/1481928898858434560
- [[flancian]] https://twitter.com/flancian/status/1483846312189702150
- [[flancian]] https://twitter.com/flancian/status/1485940498913185792
- [[flancian]] https://twitter.com/flancian/status/1486024087608737794
- [[flancian]] https://twitter.com/flancian/status/1490716189282078720
- [[flancian]] https://twitter.com/flancian/status/1421553575596068866
- [[flancian]] https://twitter.com/flancian/status/1421510633720328198
- [[flancian]] https://twitter.com/flancian/status/1529855422865317888
- [[flancian]] https://twitter.com/flancian/status/1532042912816586752