12 ms·
Silver Bullet: Markdown-based extensible open source personal knowledge platform
- Fire-Dragon-DoL 4y agoI 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.
- mark_l_watson 4y agoI 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.
- zef_hemel 4y agoYes you can do that, or deploy it to a VM somewhere and access it from both places (including mobile, works fine on mobile browsers). That way you don’t need to sync. That’s how I use it myself. Self hosted VM at home and Tailscale to access from the outside.
- rosebay 4y agoThat looks really good. P.s CodeMirror is awesome, by far the best editor plug-in on the web
- digdugdirk 4y agoVery 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)
- zef_hemel 4y agoThere’sa few things that would need to be rethought for this to work. Primarily, concurrent editing would need to be enabled everywhere and permissions need to be figured out and would complicate a lot of the query stuff. Not saying it’s not possible, but challenge for sure.
- digdugdirk 4y agoThanks for the response! Are there any parts of the codebase to pay particularly close attention to with regards to the issues with permissions and queries?
- rcarr 4y agoThis is cool but are there any benefits to this over Obsidian other than it’s open source?
- jshen 4y agoI have this same question.
- samiam_iam 4y ago
- solarkraft 4y agoThe "bullet" in the name made me expect it to be more outlining-centered. If you're looking for that, Logseq is a great option.
- ticviking 4y agoEvery 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.
- mmargerum 4y agoExactly my thought. What I need though is a web front end to search and view my org files when I don't have emacs available to me. I have client laptops that will only let me access browser apps.
- terminal_d 4y agoA web front-end is overkill -- Emacs users can use any completion framework (ivy, icomplete, vertico) with fdfind / ripgrep to get extremely powerful instantaneous search. Plus, there's no way any org features other than the baseline few are supported.
- ticviking 4y agoI think the problem many users are looking for is a way to access emacs org mode and TODO entries on the phone.
- terminal_d 4y agoCan't speak to that because I don't understand this use-case, but AFAIK it should be possible to modify an org agenda as long as emacs is running somewhere. It could write the current agenda to a file (in a s3 bucket, for example) with the function org-agenda-write, and the application on a phone could read the agenda and "push" the changes back, and an elisp function could handle modifying the actual agenda. Wouldn't be surprised if this was already posted on the mailing lists as a POC or something.
- nequo 4y ago
- ropeladder 4y agoThis 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.
- nmlt 4y agoI’m going to try this, I just don’t feel comfortable with Obsidian being closed source.
- terminal_d 4y agoYou should try logseq, then. Although I'd recommend Emacs.
- cube2222 4y agoI recommend Logseq very much as well, though it's worth noting that it differs from Obsidian in that it's outlining-centered. For me that was actually the reason I switched to it - I usually take notes in the form of deeply nested lists, which isn't as ergonomic in normal note-taking tools (the Obsidian plugins for it are not enough).
- echelon 4y agoSince the data store is markdown and can be synced with git, eventually an open source UI will appear. It's almost inevitable. Ironically, if Obsidian was open source and charged $25/mo for services, I'd happily pay for it. Even if they used a strict license to deter competitors (eg. stating they must license their changes back to Obsidian and that all hosted software interacting with Obsidian must also be open source).
- Terretta 4y agoSince the data store is markdown and can be synced with Git, you can already work with an Obsidian vault using Foam in VSCode. I do. Workflow: PKM in Obsidian, move ready docs to designated docs folder tree, sync w/ git to shared docs site repo, two-way collaborate w/ colleagues on docs. You do need to align some options in each, such as file naming, a header, a particular style of links, and ensure frontmatter behavior. All necessary settings exist. https://foambubble.github.io/foam/ https://foambubble.github.io/foam/ https://github.com/foambubble/foam/issues/46 https://github.com/foambubble/foam/issues/46 This supports basic static file and links functionality, not extended data tools etc., of course.
- cinema77 4y agoBased? Based on what?
- fastball 4y agoMarkdown?
- jrm4 4y agoI'm very interested here. I'm a big http://zim-wiki.org 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?
- kkfx 4y agoZim is a classic software, limited but usable, it's good if you do not use Emacs, so in that case I recommend it. Tiddly Wiki might be less hard to use with - Timini (https://ibnishak.github.io/Timimi/ https://ibnishak.github.io/Timimi/ + https://addons.mozilla.org/en-US/firefox/addon/timimi/ https://addons.mozilla.org/en-US/firefox/addon/timimi/ or https://chrome.google.com/webstore/detail/timimi/mnggafnmmhdoplbffagjihajeeikgbcg https://chrome.google.com/webstore/detail/timimi/mnggafnmmhd...) or - TiddlyD (https://github.com/bachmeil/tiddlyd https://github.com/bachmeil/tiddlyd) - Twkwk (https://github.com/steinuil/twkwk https://github.com/steinuil/twkwk) And probably many others alike. Essentially they are local daemons who serve a local TittdlyWiki taking care of file saving, attachments etc. The interesting part of TiddlyWiki is IMO it's full-fledged transclusion support but it's far more mechanic than Zim. Org-mode/org-roam/* in Emacs do MUCH more and are MUCH more reliable in time-based notes terms (lifetime of notes) but demand much more effort...
- Willyfrog 4y agoIt is easy to self host, just one command.
- CrypticShift 4y agoInteresting 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 https://silverbullet.md/%F0%9F%94%8C_Directive/Query [2] https://github.com/siyuan-note/siyuan#-features https://github.com/siyuan-note/siyuan#-features [3] https://twitter.com/tiensonqin https://twitter.com/tiensonqin [4] https://twitter.com/zef/ https://twitter.com/zef/
- BrianOnHN 4y agoTo me, Obsidian flexibility and ease of customization makes it more of a personal operating system than simply a knowledge base. An OS requires a DB, but a DB is not an OS.
- CrypticShift 4y ago> An OS requires a DB You said it yourself: Obsidian (= an OS) requires a DB. But It does not have (a good, full-featured) one yet. dataview ? db-folder ? Yeah, sure, we are getting there [1] [1] https://news.ycombinator.com/item?id=33820817 https://news.ycombinator.com/item?id=33820817
- deleted 4y ago[deleted]
- rcarr 4y agoIf it’s really going to go down this route then really someone should write one (an extensible PKM app) in a quicker language like Rust, Go or Swift. It’s an Electron app, if people are going to add massive amounts of plugins it’s going to become a resource hog before too long. Even a completely empty Obsidian vault with no plugins is slow to load on iOS (although I am still running on an 8 plus so it might be quicker on more modern hardware). I actually capture any new notes when I’m out and about in 1Writer because it loads instantaneously then move them into Obsidian when I’m on my Mac at a later date. I only use the obsidian mobile app now if I want to specifically look up or modify an existing note. I’m not a massive fan of all these extensions for Obsidian tbh, it seems to go against the grain of what the whole thing was originally meant to be about which was basically a note taking tool that had back links and block inclusion like Roam but one that was also portable due to it being markdown. Now people are just writing reams of config in code blocks inside markdown files which are going to be completely useless outside Obsidian unless someone is going to port that plugin to whatever application you want to migrate to. Plugins that add functionality that work within the existing markdown format are ok such as the Calendar plugins, advanced tables, natural dates etc but the config based plugins are no bueno as far as I’m concerned. If they become syntaxes like fountain or mermaid with a life outside of Obsidian I’d consider using them but until that day I will most likely steer clear.
- kkfx 4y agoAs 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
- zef_hemel 4y agoThe SB author speaking here. I hear you. I used emacs heavily for a few years and of course it inspires a lot of this. I see SB as a somewhat pragmatic reinvention of many emacs ideas. It doesn’t try to be as broadly applicable as emacs though. While it’s almost impossible to innovate on what has been done in emacs over the decades, I think we can refresh some the things that make it powerful with a fresh coat of paint, to make it more accessible to a “younger generation.”
- kkfx 4y agoThanks for reply and for have shared your project first! > I think we can refresh some the things that make it powerful with a fresh coat of paint, to make it more accessible to a “younger generation.” That's what scare me, again in general: I see regular small complaint of modern absurdity, posts like: - https://tiramisu.bearblog.dev/your-desktop-is-not-a-destination/ https://tiramisu.bearblog.dev/your-desktop-is-not-a-destinat... | https://news.ycombinator.com/item?id=33838697 https://news.ycombinator.com/item?id=33838697 - https://mjg59.dreamwidth.org/61535.html https://mjg59.dreamwidth.org/61535.html - https://vermaden.wordpress.com/2022/02/07/epitaph-to-laptops/ https://vermaden.wordpress.com/2022/02/07/epitaph-to-laptops... - https://rsapkf.org/weblog/q2z/ https://rsapkf.org/weblog/q2z/ - https://tomcritchlow.com/2022/04/21/new-rss/ https://tomcritchlow.com/2022/04/21/new-rss/ - https://jfm.carcosa.net/blog/computing/usenet/ https://jfm.carcosa.net/blog/computing/usenet/ | https://news.ycombinator.com/item?id=33510169 https://news.ycombinator.com/item?id=33510169 - https://dianne.skoll.ca/projects/remind/ https://dianne.skoll.ca/projects/remind/ | https://news.ycombinator.com/item?id=28363453 https://news.ycombinator.com/item?id=28363453 - https://github.com/akkartik/teliva https://github.com/akkartik/teliva - https://akiflow.com/ https://akiflow.com/ - https://onezero.medium.com/the-document-metaphor-desktop-gui-doesnt-work-anymore-d276271bfa40 https://onezero.medium.com/the-document-metaphor-desktop-gui... - https://den.dev/blog/user-hostile-software/ https://den.dev/blog/user-hostile-software/ - https://www.charlieharrington.com/smart-phone-dumb-terminal/ https://www.charlieharrington.com/smart-phone-dumb-terminal/ - https://mattmower.com/2021/08/02/what-we-lost/ https://mattmower.com/2021/08/02/what-we-lost/ and COUNTLESS others, similarly many "new stuff"/innovations appear and are actually partial, limited and limiting solutions to problems already solved decades ago in a more broad and superior way. Emacs itself is a bit horrific in the sense that it's codebase is hard to be kept up by modern developers who have troubles knowing it, but at least represent the classic model. If we lost the memory of the past it will takes decades to reach the level of evolution we have already achieved witch is really a shame. Anytime I see new software, yours, LogSeq, some "new shiny file manager", Tiidly Wiki and so on, witch actually are a BIG effort to achieve something already existing with far less efforts thanks to an already made ecosystems who makes their development easier I have a sore smile: end users suffer from limits of modern software, DEVELOPERS suffer equally because craft something on top of modern systems it's equally terrible but we seems to be unable on one side to reach again a critical mass of users to being able to innovate again, on the other sides most people simply ignore the past so ignore what's lost. A stupid example: link an email in SB means essentially or support a specific MUA, tracking it's evolution since breaking changes might happen all the time or add an MUE inside SB. In Emacs it's just a simple function since anything is already there. In Plan 9 to cite a project often considered hostile from and to Emacs write an MUA is damn simple limiting mails to Plan 9 itself, an MUA it's just a specific viewer of some text stream read form some user-configured filesystems mounts and so on. The sore part is that's I can easy state the above, even in my poor English, but I have no practical solution because resurrecting the classic model for present times demand an effort ONLY a public funded body or a large community can made. We have dismissed "for business reasons" essentially all public research and we have essentially pushed to irrelevance all communities...
- bityard 4y agoThis 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 https://github.com/cu/silicon
- jasonjmcghee 4y agoI'm a huge fan of how Obsidian approaches it- previewing each token if you're not actively editing it. This is always how I use it. Avoiding separate read and write problem entirely.
- zef_hemel 4y agoThis is pretty much how it works in SB as well. Very much inspired by Obsidian.
- deleted 4y ago[deleted]
- pointlessone 4y agoMy biggest frustration with Obsidian is that it doesn't follow any spec when it comes to raw HTML. They seem to have fixed inline raw HTML at some point but HTML blocks are still broken. They know it and they explicitly will not fix it.
- unqueued 4y agoI never use split-screen view for Markdown. Split-screen makes sense for something more abstract like latex or html. But I do not see the benefit for Markdown. I would much rather have 50% of my screen.
- happywolf 4y agoAnother similar (well, to some extend) open-source VS-Code based note-taking tool: https://github.com/foambubble/foam-template https://github.com/foambubble/foam-template
- tapirl 4y agoGreat 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.
- ubermonkey 4y agoI mean, cute, but I can’t imagine giving up a native app for this task in favor of a web based tool.
- zef_hemel 4y agoWhich native apps are you using? Most products in this space tend to be Electron based which is just… web tech again.
- ubermonkey 4y agoEmacs, mostly, but even Electron apps are > browser-only things.
- majkinetor 4y agoThis 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.
- zef_hemel 4y agoNot perfect, but if you click on sections in the preview the edit view will scroll to that section.
- hakcermani 4y agoCool. 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 !!
- abedef 4y agoI'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!
- hypertexthero 4y agoThis 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!
- antognini 4y agoSyncThing is a nice tool to sync files between devices. I use it in conjunction with vimwiki for my note-taking system. https://syncthing.net/ https://syncthing.net/
- hypertexthero 4y agoI will take a look, thanks!
- stunpix 4y agoIt’s terrible on syncing small files and its creators admitted: that’s by design and won’t be changed any soon. https://forum.syncthing.net/t/really-slow-at-syncing-deleting-small-files/11349 https://forum.syncthing.net/t/really-slow-at-syncing-deletin...
- jaden 4y agoHave you come across a faster solution for syncing lots of small files?
- stunpix 4y agoI’m using Resilio. It’s proprietary solution but for my environment it works well.
- codethief 4y agoDefine "terrible". When do you regularly create/modify + transfer 10,000 files at once (as in the post you linked)? I've been using Syncthing for years to keep thousands of files in sync and it's been working wonderfully.
- notme1234 4y agoVery 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 https://github.com/silverbulletmd/silverbullet/issues/136
- johntash 4y agoThis 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.
- folli 4y agoOn 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.
- AB1908 4y ago- There is an Obsidian git plugin that is very popular that helps. - I've seen some prototypes that do this. Can't recall any names sadly.
- yurikoif 4y agoabsolutely 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/ https://silverbullet.md/fs/( which is a blank page to me. edit: i am using uptodate google chrome.
- yurikoif 4y agoand i have another question. silver bullet runs very smoothly on my mobile web browser (safari from iOS). but is there a simple way to self host it on my mobile device (say on an iphone)? or i have to self host it remotely on some other machine to access it on a mobile device?
- zef_hemel 4y agoThis may have to be rethought at some point, bur now the model would be self host or somewhere and access it from multiple places like your phone. I host it locally and then use Tailscale for safe access outside my network.
- zef_hemel 4y agoI just fixed the video link. Thanks!
- bjeanes 4y agoYou'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!
- sacnoradhq 4y agoWhy? 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.
- veidr 4y agoHappy paying Obsidian user here: Obsidian isn’t open source. That alone is reason enough. All else being equal (which, yes, is unlikely) an exact clone of Obsidian would be “better”.
- sacnoradhq 4y agoIt's obviously unimportant or you wouldn't have happily paid for it. Giving away code to a paid app while it is viable and thriving offers no benefit to the producer except to allow anyone and everyone to duplicate their app and create knock-offs. The right "eyeballs" will never look at it because of Tragedy of the Commons. Therefore, it's a wish but not a requirement.
- crossroadsguy 4y agoNot necessarily. It could be important but the non-FOSS tool might be the best available.
- veidr 4y agoHuh? How are you coming to that conclusion? It is important to me, and if I was aware of an open-source Obsidian equivalent, I would have chosen that. But there wasn't, and AFAIK there still isn't one. Having a good tool that works well for my purpose is more important, yes. So I still happily pay for it. > no benefit to the producer Perhaps...? But the producer isn't who I care about here; I'm the user.
- lr1970 4y agoSilver Bullet is open source while Obsidian is not.
- veidr 4y agoWow! 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.
- hardwaresofton 4y agoPlease 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/website/silverbullet-pwa.png 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.
- 20after4 4y agoI 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/ https://simonwillison.net/2022/Dec/2/datasette-write-api/
- kushan2020 4y agoAnother 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 https://github.com/bangle-io/bangle-io
- leejoramo 4y agoWow. My initial impression of both Silver Bullet and Bangle is very high I have have used various tools in this category such as ThinkTank and More since the 80s. I used Setext, and then transitioned to Markdown soon after Gruber announced it. Currently I most work with notes in whatever text edit I am currently using with a dose of NVAlt. I will need to give both of these new tools a deep review to see if they are worth of daily usage.
- d4rkp4ttern 4y agoVery neat. Support for MathJax/Latex would be great