Riccardo 7412d518d7 Spike on FoamWorkspace and DataStore refactor (#593)
* 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
2021-04-30 16:50:16 +02:00
2020-06-29 07:14:04 +01:00
2021-04-21 21:10:48 +02:00
2021-04-05 14:22:51 +02:00
2021-04-19 12:15:02 +02:00

Foam

👀This is an early stage project under rapid development. For updates join the Foam community Discord! 💬

All Contributors

Discord Chat

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:

  1. Create a single Foam workspace for all your knowledge and research following the [Getting started] guide.
  2. 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)
  3. Use Foam's shortcuts and autocompletions to link your thoughts together with [[wiki-links]], and navigate between them to explore your knowledge graph.
  4. Get an overview of your Foam workspace using the [Graph Visualisation], and discover relationships between your thoughts with the use of [Backlinking].

Foam kitchen sink, showing a few of the key features

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):


Jani Eväkallio

💻 📖

Joe Previte

💻 📖

Riccardo

💻 📖

Janne Ojanaho

💻 📖

Paul Shen

📖

coffenbacher

📖

Mathieu Dutour

📖

Michael Hansen

📖

David Nadlinger

📖

Fernando

📖

Juan Gonzalez

📖

Louie Christie

📖

Sandro

📖

Simon Knott

📖

Steven

📖

Tim

📖

Saurav Khdoolia

📖

Ankit Tiwari

📖 ⚠️ 💻

Ayush Baweja

📖

TaiChi-IO

📖

Juan F Gonzalez

📖

Sanket Dasgupta

📖 💻

Nicholas Stafie

📖

Francis Hamel

💻

digiguru

💻 📖

CHIRAG SINGHAL

💻

Jonathan Carter

📖

Julian Elve

📖

Thomas Koppelaar

💬 💻 📓

Akshay

💻

John Lindquist

📖

Ashwin Ramaswami

📖

Claudio Canales

📖

vitaly-pevgonen

📖

Dmitry Shemetov

📖

hooncp

📖

Martin Laws

📖

Sean K Smith

💻

Kevin Neely

📖

Arief Rahmansyah

📖

Vishesh Handa

📖

Hitesh Kumar

📖

Spencer Woo

📖

ingalless

💻 📖

José Duarte

💻 📖

Yenly

📖

hikerpig

💻

Sigfried Gold

📖

Tristan Sokol

💻

Danil Rodin

📖

Scott Williams

📖

jackiexiao

📖

John B Nelson

📖

Asif Mehedi

📖

Tan Li

💻

Shauna Gordon

📖

Mike Cluck

💻

Brandon Pugh

💻

Max Davitt

📖

Brian Anglin

📖

elswork

📖

léon h

💻

Nikhil Nygaard

📖

Mark Dixon

💻

Joel James

💻

Hashiguchi Ryo

📖

Michael Overmeyer

💻

Derrick Qin

📖

Omar López

📖

Robin King

💻

Dheepak

📖

Daniel VG

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

Description
No description provided
Readme MIT 70 MiB
Languages
TypeScript 95.7%
JavaScript 2.7%
Markdown 1.5%