[HN Gopher] Silver Bullet: Markdown-based extensible open source... ___________________________________________________________________ Silver Bullet: Markdown-based extensible open source personal knowledge platform Author : tsujp Score : 208 points Date : 2022-12-03 12:35 UTC (10 hours ago) (HTM) web link (silverbullet.md) (TXT) w3m dump (silverbullet.md) | abedef wrote: | 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! | notme1234 wrote: | 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 | tapirl wrote: | 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. | jrm4 wrote: | 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? | kkfx wrote: | Zim 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://addons.mozilla.org/en-US/firefox/addon/timimi/ or https | ://chrome.google.com/webstore/detail/timimi/mnggafnmmhd...) or | | - TiddlyD (https://github.com/bachmeil/tiddlyd) | | - 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... | hakcermani wrote: | 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 !! | rcarr wrote: | This is cool but are there any benefits to this over Obsidian | other than it's open source? | jshen wrote: | I have this sane question. | mark_l_watson wrote: | 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. | zef_hemel wrote: | Yes 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. | ropeladder wrote: | 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. | zef_hemel wrote: | It doesn't work on FF mobile? I wasn't aware. It works fine or | deskrop FF. It also works fine on Safari on iOS, but sounds | like I should get an android device to make sure it works on | that as well. | solarkraft wrote: | 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. | ubermonkey wrote: | I mean, cute, but I can't imagine giving up a native app for this | task in favor of a web based tool. | zef_hemel wrote: | Which native apps are you using? Most products in this space | tend to be Electron based which is just... web tech again. | yurikoif wrote: | 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. | yurikoif wrote: | and 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? | rosebay wrote: | That looks really good. P.s CodeMirror is awesome, by far the | best editor plug-in on the web | bityard wrote: | 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 | jasonjmcghee wrote: | I'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 wrote: | This is pretty much how it works in SB as well. Very much | inspired by Obsidian. | [deleted] | nmlt wrote: | I'm going to try this, I just don't feel comfortable with | Obsidian being closed source. | echelon wrote: | Since 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 wrote: | Since 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://github.com/foambubble/foam/issues/46 | | This supports basic static file and links functionality, not | extended data tools etc., of course. | terminal_d wrote: | You should try logseq, then. Although I'd recommend Emacs. | cube2222 wrote: | I 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). | CrypticShift wrote: | 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/ | BrianOnHN wrote: | To 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 wrote: | > 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 | zef_hemel wrote: | Zef here ([4]), the end user programming aspect is very much in | development and its exploration phase. It's not even so much | about implementing it, more the design of how to make or useful | and how to use it. Any input on this is very much appreciated. | I try to take inspiration from Obsidian Dataview, LogSeq and | others on this. | CrypticShift wrote: | > more the design of how to make or useful and how to use it | | Yeah 100%. Emacs is almost 50 years old and still very | popular. You can't beat it on programming power. Personally, | I am not an emacs person (I'm even more notion than | obsidian), so I understand your selective, design first | approach to this. | | > take inspiration from Obsidian Dataview, LogSeq | | IMO | | 1. Obsidian Dataview should have been editable by design (not | to say batch-editable) | | 2. Obsidian creators should have leveraged their dynalist | (outlining) heritage into their newer product. | | Your project is still young of course (I like it so far !) | but some features are better kept in mind from the start. I | hope you will take the best of both world (= see my "block | level querying" remark in previous post) | | Good luck! | zef_hemel wrote: | Making views editable is quite challenging. Especially in | the general case. For tasks specifically this works, you | can query them somewhere and when you toggle their | completion state this gets propagated back. Editing other | attributes is more tricky. | [deleted] | digdugdirk wrote: | 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) | zef_hemel wrote: | There'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 wrote: | Thanks 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? | ticviking wrote: | 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. | TeddyDD wrote: | There is no 100% spec compatible org-mode application for the | mobile phones (because org mode does not have formal spec | AFAIK). No amount of features will compensate that single | drawback. End of story. | zelphirkalt wrote: | It does have a spec now. It is called orgdown or so. | kstrauser wrote: | I love Emacs. It's my daily driver IDE and I use it for | everything involving text. That said, I can't help it: I love | shiny UIs, instant cloud syncing, and top-notch mobile apps. | Plain Org, beorg, and Logseq make decent apps for _reading_ | content on the go, but they're completely different from Emacs | for editing and writing new content when I'm on my iPad. I have | to learn at least two different apps for accessing the same | data, and their feature sets aren't identical in any case. | | If I could run Emacs natively on my iPad, I'd be all-in on org- | mode. But I can't, so I'm not. | pydry wrote: | >trying to re-invent org-mode without emacs | | I'd absolutely love to see more of this. Hate emacs but after | picking up orgzly I'm addicted to orgmode. | lijogdfljk wrote: | How does Org Mode handle Zettlekasten? | | Also one thing i like about these alternate options is they | work on my phone. I regularly use Obsidian on my phone to | lookup information, jot things down, etc. | | With that said i'm still looking _(making.. maybe?)_ my perfect | solution which is mostly just Selfhosted + Notes + Spaced Rep | in the right UX. | kkfx wrote: | I do not get your question: org-mode offer various ZK-alike | implementation like zetteldesk on top of org-roam, in mere | storage terms a zettel is a heading, real links between them | allow to travel between notes. You can capture them in a | timeline... | jrm4 wrote: | Just for sake of another person's experience: | | I did emacs org-mode for over a year and ended up abandoning | it. For me, the issue was: I could absolutely see how powerful | it could get, but not only was the learning curve wildly steep | -- the way it does things is so different from most other | programs that it would slow me down in those. | | I ended up falling back to a mix of things like zim-wiki, | xbindkeys and a bunch of zenity/fzf based shell scripts to get | what I wanted, while having something that played nice with | everything else, interface wise. | ubermonkey wrote: | I see you, and I don't think you're wrong, but I DO think that | pursuing what Org does outside the world of emacs is worth | doing. | | Asking someone to fiddle with lisp in order to have org's | functionality is a LOT. I feel like WAY more people would | benefit from org if they didn't have to use emacs to do it. | chrisweekly wrote: | IMHO if your "OOB" defn includes popular plugins w their | default configs, Obsidian is at least comparable on features, | and more accessible. | ticviking wrote: | But then I can add popular emacs packages and my custom | functions and get _WAY_ ahead. | | I use a very basic emacs config. Emacs, org-roam, evil, evil- | org, ivy, and which key. The most common way I do stuff is | still M-x org-roam-find-node. | | The only time investment was learning the readline keybinds | and doing the emacs tutorial. | | I do most of my coding in jetbrains with vim keys, and emacs | is just a personal knowledge manager for me | terminal_d wrote: | > I understand that emacs is a big ask for someone to learn | | Developing a PWA for it (basically bikeshedding) is much more | painful than learning Emacs. Right now, any vim user can jump | into emacs with very little friction -- Doom Emacs comes fully | configured with evil-mode ootb, and is easily customizable. | | I think the reason for the glut of personal kb apps is the | relatively high interest of most "tech" people in these things. | Unfortunately, most people bow out of their systems very often | -- they either don't handle enough data or they give up on old | data (or have it ineffectively categorized). | | This app (aka "this week's personal knowledge manager") is the | same as every other one out there. There's some trying to use | GPT-3, but honestly, I don't want my apps parsed by an | internet-slurry model. When (if, really) it gets good enough, | one wouldn't need to take notes in the first place. | afarrell wrote: | The reason for the glut of these apps is that people have a | drive to create. | terminal_d wrote: | It's a very damning thing to say, you know, if all that | information management systems lead to is more information | management systems. | mmargerum wrote: | Exactly 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 wrote: | A 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 wrote: | I think the problem many users are looking for is a way to | access emacs org mode and TODO entries on the phone. | terminal_d wrote: | Can'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. | kkfx wrote: | 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 | zef_hemel wrote: | The 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 wrote: | Thanks 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- | destinat... | https://news.ycombinator.com/item?id=33838697 | | - https://mjg59.dreamwidth.org/61535.html | | - https://vermaden.wordpress.com/2022/02/07/epitaph-to- | laptops... | | - https://rsapkf.org/weblog/q2z/ | | - https://tomcritchlow.com/2022/04/21/new-rss/ | | - https://jfm.carcosa.net/blog/computing/usenet/ | | https://news.ycombinator.com/item?id=33510169 | | - https://dianne.skoll.ca/projects/remind/ | | https://news.ycombinator.com/item?id=28363453 | | - https://github.com/akkartik/teliva | | - https://akiflow.com/ | | - https://onezero.medium.com/the-document-metaphor-desktop- | gui... | | - https://den.dev/blog/user-hostile-software/ | | - https://www.charlieharrington.com/smart-phone-dumb- | terminal/ | | - 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... | hypertexthero wrote: | 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! | antognini wrote: | SyncThing is a nice tool to sync files between devices. I use | it in conjunction with vimwiki for my note-taking system. | | https://syncthing.net/ | stunpix wrote: | It'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- | deletin... | codethief wrote: | Define "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. | jaden wrote: | Have you come across a faster solution for syncing lots of | small files? | hypertexthero wrote: | I will take a look, thanks! | johntash wrote: | 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. | folli wrote: | 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. | majkinetor wrote: | 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. | zef_hemel wrote: | Not perfect, but if you click on sections in the preview the | edit view will scroll to that section. | happywolf wrote: | Another similar (well, to some extend) open-source VS-Code based | note-taking tool: https://github.com/foambubble/foam-template | cinema77 wrote: | Based? Based on what? | fastball wrote: | Markdown? ___________________________________________________________________ (page generated 2022-12-03 23:00 UTC)