* extracted graph from workspace * refactored datastore * dataviz to use URI for placeholder detection * graph uses uris, not resources * adding placeholder in graph * link completion to use graph * API v1 - Resource refactoring (#595) * aside: tweaked jest extension configuration * added provider for markdown * removed file check in URI the problem is that it makes the URI dependent on the disk, which makes testing harder. The change was originally introduced to prevent Foam from treating directories ending in .md as markdown files, but the check needs to probably happen somewhere else, e.g. in `FileDataStore.list` - or directories should be expressed with a trailing slash (to check whether that breaks the URI convention) * Various changes - `resolveLink` now delegates to providers - added `read` method in providers and `FoamWorkspace` - improved `Matcher` API - updated tests to use workspace with providers - delegating more to workspace now it can read files (simplifies wiring and exposed API surface) - provider init returns a promise, so it can be awaited on - `IDataStore` now has `list` method, to encapsulate all access to FS * improved windows support in URI and matcher * improved grouped resources interface * added readAsMarkdown in provider, useful for tooltip generation with preview in vscode
Foam
👀This is an early stage project under rapid development. For updates join the Foam community Discord! 💬
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.
How do I use Foam?
Whether you want to build a Second Brain or a Zettelkasten, write a book, or just get better at long-term learning, Foam can help you organise your thoughts if you follow these simple rules:
- Create a single Foam workspace for all your knowledge and research following the [Getting started] guide.
- Write your thoughts in markdown documents (I like to call them Bubbles, but that might be more than a little twee). These documents should be atomic: Put things that belong together into a single document, and limit its content to that single topic. (source)
- Use Foam's shortcuts and autocompletions to link your thoughts together with
[[wiki-links]], and navigate between them to explore your knowledge graph. - Get an overview of your Foam workspace using the [Graph Visualisation], and discover relationships between your thoughts with the use of [Backlinking].
Foam is a like a bathtub: What you get out of it depends on what you put into it.
Learn more
Head over to the 👉Published version of this Foam workspace to see Foam in action and read the rest of the documentation!
Quick links to next documentation sections
You can also browse the docs folder.
License
Foam is licensed under the MIT license.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
