Coder Social home page Coder Social logo

foambubble / foam Goto Github PK

View Code? Open in Web Editor NEW
14.8K 14.8K 638.0 59.22 MB

A personal knowledge management and sharing system for VSCode

Home Page: https://foambubble.github.io/

License: Other

TypeScript 96.30% Markdown 0.28% JavaScript 3.29% HTML 0.12%
graph-visualisation markdown markdown-editor note-taking notes-app personal-knowledge-base pkm vscode zettelkasten

foam's Introduction

Foam

πŸ‘€This is an early stage project under rapid development. For updates join the Foam community Discord! πŸ’¬

All Contributors

Visual Studio Marketplace Installs 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.

Features

Graph Visualization

See how your notes are connected via a graph with the Foam: Show Graph command.

Graph Visualization

Link Autocompletion

Foam helps you create the connections between your notes, and your placeholders as well.

Link Autocompletion

Sync links on file rename

Foam updates the links to renamed files, so your notes stay consistent.

Sync links on file rename

Unique identifiers across directories

Foam supports files with the same name in multiple directories. It will use the minimum identifier required, and even report and help you fix existing ambiguous wikilinks.

Unique identifier autocompletion

Wikilink diagnostic

Link Preview and Navigation

Link Preview and Navigation

Go to definition, Peek References

See where a note is being referenced in your knowledge base.

Go to Definition, Peek References

Navigation in Preview

Navigate your rendered notes in the VS Code preview panel.

Navigation in Preview

Note embed

Embed the content from other notes.

Note Embed

Support for sections

Foam supports autocompletion, navigation, embedding and diagnostics for note sections. Just use the standard wiki syntax of [[resource#Section Title]].

Link Alias

Foam supports link aliasing, so you can have a [[wikilink]], or a [[wikilink|alias]].

Templates

Use custom templates to have avoid repetitve work on your notes.

Templates

Backlinks Panel

Quickly check which notes are referencing the currently active note. See for each occurrence the context in which it lives, as well as a preview of the note.

Backlinks Panel

Tag Explorer Panel

Tag your notes and navigate them with the Tag Explorer. Foam also supports hierarchical tags.

Tag Explorer Panel

Orphans and Placeholder Panels

Orphans are notes that have no inbound nor outbound links. Placeholders are dangling links, or notes without content. Keep them under control, and your knowledge base in a better state, by using this panel.

Orphans and Placeholder Panels

Syntax highlight

Foam highlights wikilinks and placeholder differently, to help you visualize your knowledge base.

Syntax Highlight

Daily note

Create a journal with daily notes.

Daily Note

Generate references for your wikilinks

Create markdown references for [[wikilinks]], to use your notes in a non-Foam workspace. With references you can also make your notes navigable both in GitHub UI as well as GitHub Pages.

Generate references

Commands

  • Explore your knowledge base with the Foam: Open Random Note command
  • Access your daily note with the Foam: Open Daily Note command
  • Create a new note with the Foam: Create New Note command
    • This becomes very powerful when combined with note templates and the Foam: Create New Note from Template command
  • See your workspace as a connected graph with the Foam: Show Graph command

Recipes

People use Foam in different ways for different use cases, check out the recipes page for inspiration!

Getting started

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 [[wikilinks]], 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].

You can also use our Foam template:

  1. Log in on your GitHub account.
  2. Create a GitHub repository from foam-template. If you want to keep your thoughts to yourself, remember to set the repository private.
  3. Clone the repository and open it in VS Code.
  4. When prompted to install recommended extensions, click Install all (or Show Recommendations if you want to review and install them one by one).

This will also install Foam, but if you already have it installed, that's ok, just make sure you're up to date on the latest version.

Requirements

High tolerance for alpha-grade software. Foam is still a Work in Progress. Rest assured it will never lock you in, nor compromise your files, but sometimes some features might break ;)

Known Issues

See the issues on our GitHub repo ;)

Release Notes

See the CHANGELOG.

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
Jani EvΓ€kallio

πŸ’» πŸ“–
Joe Previte
Joe Previte

πŸ’» πŸ“–
Riccardo
Riccardo

πŸ’» πŸ“–
Janne Ojanaho
Janne Ojanaho

πŸ’» πŸ“–
Paul Shen
Paul Shen

πŸ“–
coffenbacher
coffenbacher

πŸ“–
Mathieu Dutour
Mathieu Dutour

πŸ“–
Michael Hansen
Michael Hansen

πŸ“–
David Nadlinger
David Nadlinger

πŸ“–
Fernando
Fernando

πŸ“–
Juan Gonzalez
Juan Gonzalez

πŸ“–
Louie Christie
Louie Christie

πŸ“–
Sandro
Sandro

πŸ“–
Simon Knott
Simon Knott

πŸ“–
Steven
Steven

πŸ“–
Tim
Tim

πŸ“–
Saurav Khdoolia
Saurav Khdoolia

πŸ“–
Ankit Tiwari
Ankit Tiwari

πŸ“– ⚠️ πŸ’»
Ayush Baweja
Ayush Baweja

πŸ“–
TaiChi-IO
TaiChi-IO

πŸ“–
Juan F Gonzalez
Juan F Gonzalez

πŸ“–
Sanket Dasgupta
Sanket Dasgupta

πŸ“– πŸ’»
Nicholas Stafie
Nicholas Stafie

πŸ“–
Francis Hamel
Francis Hamel

πŸ’»
digiguru
digiguru

πŸ’» πŸ“–
CHIRAG SINGHAL
CHIRAG SINGHAL

πŸ’»
Jonathan Carter
Jonathan Carter

πŸ“–
Julian Elve
Julian Elve

πŸ“–
Thomas Koppelaar
Thomas Koppelaar

πŸ’¬ πŸ’» πŸ““
Akshay
Akshay

πŸ’»
John Lindquist
John Lindquist

πŸ“–
Ashwin Ramaswami
Ashwin Ramaswami

πŸ“–
Claudio Canales
Claudio Canales

πŸ“–
vitaly-pevgonen
vitaly-pevgonen

πŸ“–
Dmitry Shemetov
Dmitry Shemetov

πŸ“–
hooncp
hooncp

πŸ“–
Martin Laws
Martin Laws

πŸ“–
Sean K Smith
Sean K Smith

πŸ’»
Kevin Neely
Kevin Neely

πŸ“–
Arief Rahmansyah
Arief Rahmansyah

πŸ“–
Vishesh Handa
Vishesh Handa

πŸ“–
Hitesh Kumar
Hitesh Kumar

πŸ“–
Spencer Woo
Spencer Woo

πŸ“–
ingalless
ingalless

πŸ’» πŸ“–
JosΓ© Duarte
JosΓ© Duarte

πŸ’» πŸ“–
Yenly
Yenly

πŸ“–
hikerpig
hikerpig

πŸ’»
Sigfried Gold
Sigfried Gold

πŸ“–
Tristan Sokol
Tristan Sokol

πŸ’»
Danil Rodin
Danil Rodin

πŸ“–
Scott Williams
Scott Williams

πŸ“–
jackiexiao
jackiexiao

πŸ“–
John B Nelson
John B Nelson

πŸ“–
Asif Mehedi
Asif Mehedi

πŸ“–
Tan Li
Tan Li

πŸ’»
Shauna Gordon
Shauna Gordon

πŸ“–
Mike Cluck
Mike Cluck

πŸ’»
Brandon Pugh
Brandon Pugh

πŸ’»
Max Davitt
Max Davitt

πŸ“–
Brian Anglin
Brian Anglin

πŸ“–
elswork
elswork

πŸ“–
lΓ©on h
lΓ©on h

πŸ’»
Nikhil Nygaard
Nikhil Nygaard

πŸ“–
Mark Dixon
Mark Dixon

πŸ’»
Joel James
Joel James

πŸ’»
Hashiguchi Ryo
Hashiguchi Ryo

πŸ“–
Michael Overmeyer
Michael Overmeyer

πŸ’»
Derrick Qin
Derrick Qin

πŸ“–
Omar LΓ³pez
Omar LΓ³pez

πŸ“–
Robin King
Robin King

πŸ’»
Dheepak
Dheepak

πŸ“–
Daniel VG
Daniel VG

πŸ“–
Barabas
Barabas

πŸ’»
Engincan VESKE
Engincan VESKE

πŸ“–
Paul de Raaij
Paul de Raaij

πŸ’»
Scott Bronson
Scott Bronson

πŸ“–
Rafael Riedel
Rafael Riedel

πŸ“–
Pearcekieser
Pearcekieser

πŸ“–
Owen Young
Owen Young

πŸ“– πŸ–‹
Prashanth Subrahmanyam
Prashanth Subrahmanyam

πŸ“–
Jonas SPRENGER
Jonas SPRENGER

πŸ’»
Paul
Paul

πŸ“–
Ikko Ashimine
Ikko Ashimine

πŸ“–
memeplex
memeplex

πŸ’»
AndreiD049
AndreiD049

πŸ’»
Yan
Yan

πŸ“–
Jim Tittsler
Jim Tittsler

πŸ“–
Malcolm Mielle
Malcolm Mielle

πŸ“–
Veesar
Veesar

πŸ“–
bentongxyz
bentongxyz

πŸ’»
Brian DeVries
Brian DeVries

πŸ’»
Clifford Fajardo
Clifford Fajardo

πŸ”§
Chris Usick
Chris Usick

πŸ’»
Joe DeCock
Joe DeCock

πŸ’»
Drew Tyler
Drew Tyler

πŸ“–
Lauviah0622
Lauviah0622

πŸ’»
Josh Dover
Josh Dover

πŸ’»
Phil Helm
Phil Helm

πŸ“–
Larry Li
Larry Li

πŸ’»
Joe Taber
Joe Taber

πŸ“–
Woosuk Park
Woosuk Park

πŸ“–
Daniel Murphy
Daniel Murphy

πŸ’»
Dominic D
Dominic D

πŸ’»
luca
luca

πŸ“–
Lloyd Jackman
Lloyd Jackman

πŸ“–
sn3akiwhizper
sn3akiwhizper

πŸ“–
jonathan berger
jonathan berger

πŸ“–
Daniel Wang
Daniel Wang

πŸ’»
Liu YongLiang
Liu YongLiang

πŸ“–
Scott Akerman
Scott Akerman

πŸ’»
Jim Graham
Jim Graham

πŸ’»
Zhizhen He
Zhizhen He

πŸ”§
Tony Cheneau
Tony Cheneau

πŸ“–
Nicholas Latham
Nicholas Latham

πŸ’»
Tomochika Hara
Tomochika Hara

πŸ“–
Daniel Carosone
Daniel Carosone

πŸ“–
Miguel Angel Bruni Montero
Miguel Angel Bruni Montero

πŸ’»

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

foam's People

Contributors

allcontributors[bot] avatar anku255 avatar badsketch avatar bronson avatar dependabot[bot] avatar dshemetov avatar francishamel avatar hikerpig avatar hooncp avatar infogulch avatar ingalless avatar jevakallio avatar jimgraham avatar jonathanpberger avatar jsjoeio avatar klaudioz avatar leonhfr avatar lingyv-li avatar mabruni avatar mathieudutour avatar mcluck90 avatar memeplex avatar movermeyer avatar paulshen avatar pderaaij avatar radoslawkierznowski avatar riccardoferretti avatar robinking avatar sanketdg avatar tlylt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

foam's Issues

Hi,how to show markdown-links?

πŸ‘‹οΌŒThank you for creating this great project!!!!

when I generate repositories by your template,then git clone to local,open it with vscode,and install all recomend extensions,but I can't preview markdown link? how can i resolve this ? hope get you reply😊

image

README links 404ing isn't obvious if you're skimming the docs

I 100% understand -why- you'd rather users browse the Foam workspace, but on first read, I missed the friendly note at the top of the README.

Since GitHub renders the README.md on the project's homepage, maybe it makes sense to cut down the README and move most of the linked content onto another page.

The user experience of getting 404s from the README isn't a good representation of why Foam is awesome.

Question: too much frequent git commit message

When using GitHub as the backend storage, we will generate lots of commits.

This will impact our contribution heatmap.

And will 20 a day, 7k a year of commits impact git performance?

Improve monorepo setup

Last night I migrated all the foam packages (save for foam-template) to a monorepo structure. There are a couple of issues that need to be resolved:

  • Workspace tasks for running common development workflows
  • foam-vscode and foam-cli should use local foam-workspace-manager in development
  • vsce package does not know how to pick up packages from hoisted yarn workspaces
    • Currently worked around by running vsce package with npm install. See d6d31fa
  • Migrate all packages to test with jest

Help wanted with remaining issues!

Materials

https://medium.com/@rossbulat/typescript-working-with-paths-packages-and-yarn-workspaces-6fbc7087b325

Idea: keyboard shortcut as Cmd+Click alternative

I think it would be really cool to have a keyboard shortcut to open links instead of Cmd+Click. Like many VSCode users, I don't leave my keyboard that much (vim compatibility) so the 'click' interaction in the middle of typing is awkward.

For now I can use the normal file jump commands but if I have many files named similarly, a keyboard shortcut would be slicker.

Tiddlywiki companion

Tiddlywiki with tiddlymap and the bob plugin makes a very good note system, where you can also (using bob) edit the files on the filesystem and their change show immediately in the web ui.

I often use vscode to edit my tiddlywiki files since the editor in tiddlymap isn't that good.

Maybe it's worth looking into being a companion to such a system? That combination would be a killer in the note-taking-space.

I have tried a lot of note-taking tools, but often ends up missing some functionality.. afraid pursuing this project would end up me missing a web ui combination

Font style issue after typing "fi"

I'm experiencing this unexpected font style change after typing "fi." It shrinks a bit. It only happens in my Foam workspace. I don't see it when I open one of my coding projects or start a new workspace from a blank repo.

Screen Shot 2020-07-03 at 9 25 33 AM

I have already tried disabling the Foam-specific extensions (the markdown and theme ones). Is anyone else seeing this?

Support for accentuation?

When using accents like this:

- [[SerΓ­es matemΓ‘ticas]]

It replaces the letter with a dash:

image

More context in backlinks

Currently, the backlinks section in the left sidebar is pretty minimalist in terms of info and context. Being able to see more details and context around all the notes that link to your current note is one of the most powerful aspects of networked notetaking.

Perhaps the following requests should be broken out into separate issues:

  • The backlinks section should given its own dedicated window (similar to the graph view) as opposed to part of the left side bar. This would allow more info to be displayed and explored as well as make the functionality more expandable in the future.

  • Could the backlinks section be expanded such that is shows more than only the line that the link appeared on? With only one line (or even just a snippet of that line) very little context is provided. In particular, if the link is part of a bulleted list, it would allow the line to be expanded to show bullets nested below.

  • Ideally, the content in the backlinks section would be editable so that a user need not click between notes to add / edit content when working on a topic/note.

Graph in published workspace

Opening this issue to discuss what it should look like and what are the technical solutions to show a graph in a published workspace.

In the gatsby-theme-garden (which can be used out of the box with foam), I implemented such a graph

Screenshot 2020-07-05 at 11 44 01

I also added a small feature to keep the graph as a "minimap", pretty much like how Foam does it in vscode

Screenshot 2020-07-05 at 11 44 13

It does require a build step (done in a GitHub action). I'm guessing it could be possible to do the same with a jekyll template tho.

Idea: Allow notes in folders or subfolders

The impression I have is that all files created in foam are in a single folder. It would be good if foam could index notes in a folder and its subfolders, or even indexing of external folders. There are a few reasons why:

  • vscode file manager is the sidebar is a useful tool and when a note is accessed, related notes show up in the sidebar.
  • knowledge graphs could be more powerful by toggling graph of files in all folders or files in a given folder only. If your files are grouped by project, you get project-specific graphs, or domain specific graphs, etc

[Idea][Issue] Extension slipbox and ID

Hi, what a great aggreagate, these day I am also looking extensions for Zettelkasten.

Here, I recommand a extension call "slipbox". Your know, The Zettelkasten method also include a ID information. Some zettelkasten app also have this function. So when I search for Vscode I find these extension.

here is the link slip box

click through

new-node

Issue:

Also, I have a issue, my "Markdown Notes" extension completion function doesn't work, when I type [[ nothing happen, but when I complete the [[wiki link]] by myself the link works well, this is why I add a extension "slipbox" for the [[completion here]] .

But I hope I can use the original "Markdown Notes" completion , what's the problem with me.

Improve VS Code Extension Contributing Guidelines

I wanted to give a stab at contributing but I got stuck getting this extension to work locally. I tried adding a new hello world command to get things started, but I'm struggling to get that working.

It would be awesome for us to add some docs for getting this working locally! A few thoughts:

  • when I run the extension locally (f5), do I need to to run it in a foam workspace and have the other extensions installed?
  • tips for writing tests?

Feature-request: Alternate Names for Entries in a Knowledge Graph

Right now, it seems the Knowledge Graph is mapped 1-1 with the file name. Oftentimes, the same note may be associated with multiple topics in the knowledge graph. It would be useful to support some markdown metadata where additional tags or alternate names for the knowledge graph and other documents to use to refer to the document. In wiki-syntax, referring to an alternative name would take you to the same file. I don't know how this would affect performance though, and it might not be worth it.

Generating markdown link reference definitions ?

Hey there, thanks for foam!

The docs say: https://foambubble.github.io/foam/wiki-links

The Foam for VSCode extension automatically generates markdown link reference definitions at the bottom of the file to make wiki-links compatible with Markdown tools and parsers.

If you look at link references the bottom of any Foam workspace file that uses wiki-links, you should see an automatically generated list of references that look as follows:

[wiki-links]: wiki-links "Wiki Links"
[other-page]: other-page "Other Page"
These exist to make [[wiki-links]] compatible with Markdown-consuming tools such as static site generators, VS Code plugins etc.

However, I am not seeing these links get generated. I'm not seeing any errors, either. Do I need to configure something, or press a key or something? Thanks!

Documentation migration from Obsidian to Foam

I think it would be a good idea to show how you can migrate from Obsidian to Foam.

I'm trying to write a script to help with this.

Here's what I have so far:

# Loop over all markdown files
for file in *.md

  do

    # Remove the file extension
    filename=${file%.*}


    # Create new filename it by replacing spaces with - and lowercasing it
    newFileName="`echo $file | sed s/\ /\-/g | tr 'A-Z' 'a-z'`"

    # Rename file
    mv "$file" "$newFileName"

    # Capitalize the first letter for heading
    heading="$(tr '[:lower:]' '[:upper:]' <<< ${filename:0:1})${filename:1}"

    # Add heading to file
    # echo "# $heading\n" >> $file

    # Add heading to file
    # TODO this part is not working
    sed -i '' "# $heading\n" $newFileName
  done

Note: this is my first time writing a script so any feedback is welcome. I can't get the last part working - adding a heading to the start of the file.

Other Notes

  • Should the script also delete the ./obsidian directory?
  • Should the script grab the latest foam template? Or will that step be manual and done by the user?
  • Should it the script do anything else?

The first version could just be renaming files like I have. I'm open to any and all ideas though.

Document how to get a rendered version

First of all: I love it 😍

My current problem I solve through foam is organising my dancing journal.
I need to be able to access it and quickly navigate it from my phone and the rendered version you have as a Github page here seems to do just that.

I could not find the instructions to set this up (or to even render it)

Add tag to bubbles?

I would like to find a way to tag my bubbles, and make it easy to search/preview bubbles with certain tags.
Is there any similar features?

Graph Issues with Titles and [[wiki-links]]

I have been using Obsidian for almost 2 months and decided to give Foam a try. When I opened up my existing repo, I noticed two major things with the graph-view.

  1. Markdown files do not appear in the graph unless they have a # Title
  2. Even though I am in version 0.6.0 of Markdown Links, [[wiki-links]] do not show up.

As a result, the graph that looks like this in Obsidian
image

looks like this in Foam
image

The VSCode Markdown Notes extension handles my knowledge-base just fine, it is only the Markdown Links extension that seems to be not working. If needed, I can post the issue there as well.

Discussion: Fixing [[wiki-links]] in GitHub Web UI

At the time of writing, links created with the [[wiki-link]] syntax work in VS Code and in rendered GitHub pages, but lead to non-existent pages on the GitHub Web UI. This is a meta-issue to track solutions and document the approach, once selected.

See context in foambubble/foam/wiki-links. TL;TR; There's a workaround at the end of the document, but it has some nasty trade-offs.

Ideas welcome!

unlink and delete the file

I deleted one markdown file, and remove the [[FILENAME]] in other linked files, then Ctrl+s to save.But the deleted filename automatically appears again.Does it have caches in vscode or ohther reason?

Idea: web clipper

Evernote, Notion, TiddlyWiki, Joplin all have web clippers. Foam would be even more awesome if it had one.

Idea: View similar to Story River in Tiddlywiki

While I edit notes one file at a time, I would like to see a Story-River like view of Notes in Tiddlywiki (https://tiddlywiki.com/), where multiple related notes are tied to one or more keywords selected in the Knowledge Graph to get a bigger picture of a node and quickly navigate to and find files of interest without having to open them one at a time.

"link reference" section gets more lines down the page on every save, and can overwrite last line of content

There seem to be 3 separate issues here:

  1. Every time the file saves, another line break get added between the end of the content and the "Link references" section. I have auto-save enabled in vs-code, so this is particularly obvious to me.
  2. If I delete all of these empty lines, Link references can be saved over the last line of content, deleting it. If i put the cursor on the last line and backspace until I reach the last line of content (i.e. no trailing line-break) then this happens.
  3. Using undo also seems to race with auto-save and adding the link references section in such a way that you have to undo faster than link references is being added and the file is getting auto-saved, otherwise you just loop forever without actually undoing the "real" edits.

I'm using Ubuntu 20.04. These are hopefully trivially reproducible, but if not I'll help you figure out how to reproduce them.

Links Not Working

Numerous links in ReadMe.md result in a 404, eg. 'Create a single Foam workspace'.

This leaves me unable to get started with Foam - The link in 'Create a GitHub repository from foam-template. If you want to keep your thoughts to yourself, remember to set the repository private.' is broken, and the instruction is otherwise too unclear.

Sorry, I don't mean to be critical - this looks like a really interesting project - but I'm stymied at step 1.

Add 'Open Daily Note' Command

In Obsidian (and Roam I think), there is a concept of a daily note. I wish there were a VS Code command to "Open Daily Note"

  • If there is no note for current date, it creates a new one
  • If there is, it goes to that note and opens in Workspace
  • If a user has a foam.config.js and there is a value for dailyNotesDir, then the notes are saved there. Default is root.
    • let user configure the format of the date for filename

Thoughts?

Parse markdown per-entry

Hey there, this is such an exciting tool. Thanks for all the great work.

Coming from other second brain tools, I'm curious what the level of effort would be on parsing markdown per entry (similar to Roam) rather than having two panels open; one for markdown and another for a preview.

[Idea] Color and icons on graph node

Hello,
@jevakallio Thanks a lot for this project, i think it is really useful and it is interesting that it is integrated into an IDE. Seeing my notes as a mind map has become essential !
A feature i like to see is color / icons on graph node :
When my node is a category, i want to highlight it (maybe clicking on the node and changing the color).

Linking between published workspaces

Opening this issue to discuss what linking between published workspaces could look like.

I believe there are (at least) 3 very separate aspects of this feature:

  1. what the format should look like to link to another workspace? Is it just a normal markdown link? Do we have a shortcut that the extension handle (similar to wiki links)? If we have a shortcut, how to we get the title of the foreign bubble (and update it if/when it changes)?
  2. Shall we notify the linked workspace that it is being linked to (for backlinks)? If so how?
  3. Do we (and if so, how) display backlinks from foreign workspace?

I don't have many opinion on 1. but I thought about 2. and 3. a bit. IMO this is the perfect use case for webmentions.

Using webmention.io, it is possible to have a JAMstack website display its mentions dynamically (eg. its backlinks). The only requirement is to open an account on webmention.io and add some metadata in the head of your pages. Those metadata specify the server to ping when another website mentions yours.

You then have an API to query the mentions. It does require a bit of code but there are some gatsby plugins to make it easier for example.

The second part is notifying the websites (workspaces) you mention when you deploy it. I built a small webservice that does the following when you ping it with your url:

  • fetch your sitemap.xml expecting a sitemap with an extension to specify external links for each pages
  • for each external link, look if there is a metadata specifying a webmention server
  • if so, ping it with the source page and the target page
  • stores the sitemap to compare it next time (and only ping the new links)

Bug: backlinks not working, "No refs in empty workspace"

I'm not sure what's going on here, but Backlinks don't work for me (panel renders but is blank), and I get these messages:

image

Any ideas on where to start with that? I didn't see any errors when I tried to check in the Log (Extension Host) logs.

Roam Import

First of all great work!

I've been working on importing my roam knowledge graph into foam. There's a couple of features/issues which I was wondering about.

  1. Roam's export doesn't generate # Headings which are required for the markdown links graph, this seems relatively easy to resolve by simply making the file name the heading.
  2. Roam notes feature backlinks showing which notes reference the note you're on, something like this was implemented by andy matuschak
  3. Resolving block embeds and block references implemented by roam export

I was wondering what the best way to integrate all of this into something Roam users can get up and running quickly in β€” wether as part of foam, an extension or just simply shipping a js script users can run on import?

Idea: use built-in Git extension for now

This still isn't ideal [1], but IMO a slightly slicker default than requiring the Git Automator extension at the moment is:

.vscode/settings.json

  "git.enableSmartCommit": true,
  "git.postCommitCommand": "sync",

To save & sync to Github or any remote, it's just Git: Commit All. This doesn't require the additional extension and automatically does the sync.

[1] (I think it would be a cooler default and more like Roam to do this automatically when saving files, but I didn't immediately see how to do that...)

Support for Codium?

There are some people in this world that would rather use OSS. Code is not OSS, but Codium is.

However, when using the template, I get a bunch of weird behavior. Namely:

  • It installs a bunch of extensions I never heard of
  • It tells me there's problems with the suggested extensions

Screenshot from 2020-07-01 13-04-08

They did get installed, but this message is there on every boot.

Perhaps there's something we can do to make life easier for folks who use Codium?

PS: I could also just have messed something up. It's super weird that Codium installed stuff like WakaTime's extension.

Mobile app

A mobile/tablet app will make foam so much easier to use. Based on my daily usage, I'd prefer a mobile app similar to GitJournal but focused on quickly creating notes and accessing them using links.

I'd be more than happy to help build a mobile app once we establish a clear list of features 😁

Previously discussed on this tweet thread

Prioritizing Unlinked References

I was trying to find a place to properly do this, but just wanted to say that supporting unlinked references is an essential feature. This is largely the benefit of something like Roam, where I can reference an idea, reference it again on the same page and get autocomplete for that page, without having to stop my flow by navigating into the linked page and out so that a page for it is created.

Opening directory in VSCode caused theme to change from dark to light

I cloned my template and opened it in VSCode. Since I was on an older version of VSCode it simultaneously asked me to upgrade to a newer version and install all the extensions. I chose to install the extensions first and it complained that my version was too old. Then it proceeded to change my theme to be light instead of dark. Then I clicked button to upgrade to a newer version and it reopened with light theme still enabled.

Extension not compatible with VS Code 1.45

I'm encountering the following error when I try to install the Foam extension:

Unable to install 'foam.foam-vscode' extension because it is not compatible with the current version of VS Code (version 1.45.1)

Seems minor, but I didn't see this listed in the existing issues so figured I'd mention it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.