[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)