Silver Bullet: Markdown-based extensible open source personal knowledge platform

  • This is pretty nice! It's not always obvious how much engineering it takes to make an app like this that's powerful enough to be useful for daily work without the UX getting in the way.

    I think this is the closest I've seen anyone come to solving the problem of having separate "write" and "read" modes for Markdown editing in a web browser without resorting to a split-screen view. It's not _perfect_ (likely due to codemirror limitations) but what's there is pretty well-executed.

    I might have to borrow a couple ideas from this for my own effort at a personal knowledge base: https://github.com/cu/silicon

  • Wow! This looks absolutely fantastic.

    I was in my car when I first saw this thread, and was already impressed that it worked well right away on my phone (the surprise "you're looking at it right now; go ahead and edit!" half way down the website worked great on the phone too).

    Then I got home and installed it on my desktop computer. First impressions:

    - works great, already high level of functionality

    - pasting images works as it should (but usually doesn't, sadly)

    - not only open source, but enticing open source: extremely easy to install, TypeScript/esbuild on frontend, Deno/Oak on the backend, and you can spin up a local dev version of it in about one minute.

    I check out every new thing I come across in the Obsidian/Logseq/open-format-PKS space, but this project looks especially interesting. I will definitely clone this and try hacking on it tonight after work.

  • Interesting project. It says it is inspired by obsidian (and roam). It is also keen on "end-user Programming", so the org-mode (and org-roam) comparison is inevitable on HN (20 emacs occurences in this thread and counting...)

    So, what is special?

    It is polish (=creator [4]). does that count? [0]

    Seriously. For one thing, I spotted the "item" and "data" as queryable data sources [1]. if this is real "block level querying" (in that freeform page format), it could be indeed a missing link between obsidian and roam/logseq [0]. It is still early days though.

    [0] Outside English-speaking/Western-Europe, Siuyan [2] is another local open source KB gem that successfully bridged this (blocks + freeform) gap with a very fast dev cycle. Being Chinese, It is not popular... wait.. what about logseq [3] ? (obsidian too? no.)

    [1] https://silverbullet.md/%F0%9F%94%8C_Directive/Query

    [2] https://github.com/siyuan-note/siyuan#-features

    [3] https://twitter.com/tiensonqin

    [4] https://twitter.com/zef/

  • This looks pretty neat so far, and I'll probably try it out. What I really liked from the demo was that the queries get rendered into the actual markdown file.

    I've been using Obsidian a lot lately, and one of the downsides to something like the dataview plugin is that the results of the queries are only available within the app. I can't open up the .md file in vim/emacs/vscode and see the same results.

    With emacs, I relied quite a bit on this sort of functionality too so it's been annoying me lately to not have it.

  • Every time I explore one of these my final impression is essentially trying to re-invent org-mode without emacs.

    I understand that emacs is a big ask for someone to learn, but so far none of them can offer a similar experience out of the box.

  • The "bullet" in the name made me expect it to be more outlining-centered. If you're looking for that, Logseq is a great option.

  • As an org-mode/Emacs users I smile finding people keeping reinventing the wheel. It's not a sore critics to the SB devs of course but a general observation.

    The classic so-called Greenspun's tenth rule [1] it's not just about Lisp but general: classic systems built with the concept of "the OS is the SOLE and UNIQUE fully-integrated end-users application in the desktop" is the rule to follow.

    Sure, sometimes peoples have issues understand how such systems can work, so trained in modern ones, but just think about something you buy on-line:

    - you get some mails (order confirmation, payment, shipping, ...)

    - you get one or more bank transactions

    - you might have some notes on some new assets, like a note about how to use the device, periodic maintenance, ...

    ALL such "digital things" are separate data on separate apps but for you they are "just a set of things". Why having them separated then? Why you can't just collect/search them in a single UI? In org-mode/Emacs we can achieve something like that, in classic systems it was a normal desktop computing task.

    That's what we lost in decades of commercially-driven development, even in FLOSS land...

    [1] #+begin_quote Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp. #+end_quote

    -- Philip Greenspun ~1993

  • This is cool but are there any benefits to this over Obsidian other than it’s open source?

  • Very cool and useful tool. Two pain points for me:

    A) I don't see support for RTL languages (like Hebrew/Arabic) - or to configure text alignment.

    B) According to a Github issue [1] it cannot be installed on a Raspberry Pi

    [1] - https://github.com/silverbulletmd/silverbullet/issues/136

  • This looks awesome: clean UI, keyboard centric interface, colaboration, easy to install, stores data on file system.

    It would be great to have version control done internally - its mandatory for knowlege base and not something you should leave to the community.

    What I lack so far is md preview scroll sync.

    I am consfused on how to navigate site using rendered version, it looks like its always in the input mode with CTRL+p doing markdown preview.

  • I’m going to try this, I just don’t feel comfortable with Obsidian being closed source.

  • I'm very interested here. I'm a big http://zim-wiki.org guy, but I've always been fascinated with the promise of doing this in the browser to reduce that sort of friction. Tiddlywiki's a possibility here, but for being browser-based it always seemed weirdly difficult to do client/server style.

    This seems like the kind of thing I'm looking for, should be easy to self-host and access from different browsers, no?

  • You've made the thing in my brain I've wanted to build for a while but which felt too hard. And you've made it self-hostable! You legend... thank you!

  • Very cool! What would it take to host this with multiple user accounts on a remote server? I'd love to have a read/write interface for a team of people to use as individual/project documentation. (Ideally also with git functionality so team members could push/pull/merge changes to each other's projects)

  • This looks lovely!

    If I can find a way to easily sync notes between computers this may be a long-term replacement for Simplenote and nValt.

    Thank you!

  • Another similar tool that is open sourced and allows you to sync with GitHub [1] .

    It differs by providing a WYSIWYG interface while saving content in Markdown.

    [1] https://github.com/bangle-io/bangle-io

  • This is far more impressive than the almost-blank screen on Firefox Mobile led me to expect.

    It looks like it's mostly engineered this for personal use, but as somebody currently underwhelmed by GitLab Wiki (/Gollum) for enterprise documentation, some of the features here would be very useful in that context.

  • Please put the image of the app on desktop and phone on the front page (in the note that is automatically open):

    https://github.com/silverbulletmd/silverbullet/raw/main/webs...

    I'm a heavy F/OSS note-tech user and my first thought was "this is awesome", followed by "does it sync/can I use it across devices".

    Also just my own selfish wish but but having a dedicated desktop app is also awesome, even if it's nothing but a webview (check out Tauri)... The PWA should make it possible to "install" the app, assuming the manifest is there and linked via meta tags.

  • Why? Obsidian already does this better. If it's not going to be better or targeted to different users, then the most likely conclusion to draw is de facto reinventing the wheel without a strategy other than "me too".

    Always build something different and defensible.

  • I assume that, for example, on macOS the flat files could be synced by storing them on ~/Documents so they would be available on both my Macs? What about mobile support?

    For fun, I just read through some of the source code. Typescript is a nice looking language.

  • Cool. Will definitely check it out. Just moved everday usage to linux (Framework ftw!) and have been collating all notes / ideas from Evernote, Notes app, misc files into md ! So much more flexible and now lock in !!

  • On this topic: I'm using Obsidian and sync my notes on my Linux machine, Windows work computer, and Android phone using Syncshare.

    Two questions for experienced Obsidian users:

    - what's the best way to backup the md files with the option of undoing changes? Some kind of Git based approach with automatic comitting and pushing?

    - wm is there some kind of online only version of Obsidian (of similar) for self hosting? Reason is that I want to edit my notes when I'm away from my personal devices and cannot install any Software but have access to the internet and a browser.

  • I've been taking a stab at this same problem (personal knowledge management) myself and I have to say I am very impressed with your implementation! I look forward to using this. Thanks for sharing!

  • I might have to try my hand at writing an extension for embedding tables/queries from Datasette. With the new write api[1], they (Silver bullet + datasette) could make for a killer combo.

    [1] https://simonwillison.net/2022/Dec/2/datasette-write-api/

  • Another similar (well, to some extend) open-source VS-Code based note-taking tool: https://github.com/foambubble/foam-template

  • I gave this only a fast read, i couldn't find block-level tagging (like logseq). Is it present?. I apologize but for me that has become a hard requirement for even evaluating.

  • Great except that it is no-JS unfriendly. At least the page should be view-able instead of a blank when JS is off.

    [update]: It is prone to mis-click on a link in the editing mode.

  • absolutely cool. i am currently an obsidian user and have one thing special not fond of, which is it is not web based. silver bullet kills this one.

    your app seems solid and neat, but the introduction video link does not work. it redirects to https://silverbullet.md/fs/( which is a blank page to me.

    edit: i am using uptodate google chrome.

  • That looks really good. P.s CodeMirror is awesome, by far the best editor plug-in on the web

  • Very neat. Support for MathJax/Latex would be great

  • I mean, cute, but I can’t imagine giving up a native app for this task in favor of a web based tool.

  • Based? Based on what?