foambubble / foam Goto Github PK
View Code? Open in Web Editor NEWA personal knowledge management and sharing system for VSCode
Home Page: https://foambubble.github.io/
License: Other
A personal knowledge management and sharing system for VSCode
Home Page: https://foambubble.github.io/
License: Other
Is it possible to include the link reference in the Github pages rendered/published version?
This would be super helpful for digital gardeners.
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:
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:
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
Evernote, Notion, TiddlyWiki, Joplin all have web clippers. Foam would be even more awesome if it had one.
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
I also added a small feature to keep the graph as a "minimap", pretty much like how Foam does it in vscode
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.
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.
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:
Can foam workspaces be set up locally without github?
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:
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.
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)
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.
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...)
I like Foam so far, but I find the current documentation on how to contribute a bit confusing to follow structurally. But I haven't used Roam yet so maybe I am not sure (https://foambubble.github.io/foam/recipes) if these can be simplifed to get started quicker?
as the title says, can I switch out markdown with org-mode ? This allows me to use this with emacs org-mode as well.
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!
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.
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.
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
Any idea why my link references are getting committed and published to GitHub Pages? Aren't they supposed to only appear in VS Code for now?
(p.s. Foam is amazing!! Thank you.)
GitHub Pages:
VS Code:
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.
I have already tried disabling the Foam-specific extensions (the markdown and theme ones). Is anyone else seeing this?
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.
As a result, the graph that looks like this in Obsidian
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.
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!
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.
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"
foam.config.js
and there is a value for dailyNotesDir
, then the notes are saved there. Default is root.
Thoughts?
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.
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.
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.
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.
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?
I don't know how the Github 'Use this template' feature works, but I thought links were broken when I went here and it was a 404. Maybe a note that you have to be logged in first would help.
Links like roadmap are missing
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?
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?
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
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.
There seem to be 3 separate issues here:
I'm using Ubuntu 20.04. These are hopefully trivially reproducible, but if not I'll help you figure out how to reproduce them.
I have cloned a repo from the template and installed all the recommended extensions.
But I am not seeing the show graph
or show backlinks
options with the steps described in the recipes documentation
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.
It will not run on vscodium, the freeware version without Microsoft trackers.
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.
# Headings
which are required for the markdown links graph, this seems relatively easy to resolve by simply making the file name the heading.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?
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).
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:
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.
./obsidian
directory?The first version could just be renaming files like I have. I'm open to any and all ideas though.
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:
foam-vscode
and foam-cli
should use local foam-workspace-manager
in developmentvsce package
does not know how to pick up packages from hoisted yarn workspaces
foam-vscode
tests with Jest. See: https://medium.com/@soloydenko/end-to-end-testing-vs-code-extensions-via-jest-828e5edfeb75Help wanted with remaining issues!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.