SilverBullet
silverbullet.md
external-link
IntroductionSilverBullet is a note-taking application optimized for people with a hacker mindset. We all take notes. There’s a million note taking applications out there. Literally. Wouldn’t it be nice to have one where your notes are more than plain tex
Nora
link
fedilink
English
-47M

Why not something like syncthing and then just use a text editor you like?

@wischi@programming.dev
link
fedilink
English
2
edit-2
7M

That’s exactly what I did and never looked back. Just installed code-server + a few vs code plugins. Automatically synced via some some scripts that push and pull+merge git commits, done. No need for one of those million note taking apps. I also installed polyglot notebooks for vs code to embed code into notes.

@prcrst@lemmy.world
link
fedilink
English
137M

If you know of any FOSS, offline editors for Android which can do what silverbullet can, drop a link.

@Evkob@lemmy.ca
link
fedilink
English
207M

Did you bother opening the link? This project is clearly much more elaborate than simply synchronising notes.

conrad82
link
fedilink
English
17M

I tried this, but couldn’t find a better editor as android app. The closest I got was Zettel notes. But silverbullet worked better

Interesting quite simmillar to Logseq. Would love to be able to writw code in it in python. With that and the ability to import pdfs and tak notes on a pdf quoting section by selecting etc might be worth moving over to it.

@Nibodhika@lemmy.world
link
fedilink
English
27M

This looks awesome and exactly what I have been looking for.

One question about implementation just out of curiosity, is there any database? I’m worried that when it gets to hundreds or thousands of pages querying things becomes slow if it’s just scanning files.

@zef@lemmy.world
creator
link
fedilink
English
37M

That said, I have not tested this with hundreds of thousands of notes (I have close to a thousand myself). No performance issues there, but…

@Nibodhika@lemmy.world
link
fedilink
English
27M

I said hundreds or thousands, I don’t expect to be creating hundreds of thousands of pages, but from your reply on the other thread SQLite should be more than capable of handling this scale.

Nice knowing that you have close to a thousand and it’s still fine. It will take me a long time to get to that amount of pages, but if I can get started with this it seems like an awesome way of storing knowledge bases, so I expect it will grow quite rapidly as I migrate all of my different things into it.

@zef@lemmy.world
creator
link
fedilink
English
57M

Yes, it’s using SQLite under the hood in Online mode and IndexedDB in the browser in Sync mode.

@Nibodhika@lemmy.world
link
fedilink
English
17M

SQLite should be more than enough, I can’t find the file on the space folder though, is it created inside the docker container on server startup? Is there a reason not to store it in space so it doesn’t need to be regenerated each time?

@zef@lemmy.world
creator
link
fedilink
English
27M

It’s .silverbullet.db in the root of your space folder. Note that because there’s no schemas in SB, SQLite is used as a fancy key-value store and many queries become somewhat (but not very) optimized table scans. In this SQLite file you’ll see a “kv” table that contains everything.

@Nibodhika@lemmy.world
link
fedilink
English
17M

I feel like facepalming myself to death for having asked such a stupid question before running an ls -a on the folder.

One last question, I’ve been reading on Plugs because there’s one thing that I use regularly that I think doesn’t exist and want to know if it would be possible for me to implement, it’s called plantuml. Essentially it’s a plug that would act on a specific block of code, like the latex one, and would use POST the code to a configurable url, get an image as return and display that instead.

@zef@lemmy.world
creator
link
fedilink
English
17M

Yes this is doable, with the caveat that I have not invested a lot of time in documenting all the plug APIs etc. You can have a look at the mermaid plug to get a sense of how this can be done, it will be similar except that you — indeed — may end up having to post something to a URL somewhere rather than render the thing on-the-fly with a JavaScript library you load externally: https://github.com/silverbulletmd/silverbullet-mermaid

@Nibodhika@lemmy.world
link
fedilink
English
17M

Actually mermaid seems to be able to do all I’m doing with plantuml and syntax is very similar, might give that a try before since that one would also work in offline mode.

⚡⚡⚡
link
fedilink
English
87M

deleted by creator

@zef@lemmy.world
creator
link
fedilink
English
217M

I have not used Joplin, but did write a few high-level thoughts on comparing it to Obsidian and Logseq elsewhere which I’ll just copy and paste here:

I have not used Obsidian nor Logseq as much as I’ve used (or developed) SilverBullet. However here are a few headliners, but the main difference may well be that in SB I’m really assuming that the target audience is technical enough not to be scared by the idea of writing a query, or creating a template.

A few differences with Obsidian: it’s fully open source and it’s a web app that you self host. It’s still markdown files on disk, but that disk is located on your server and they’re accessible from anywhere you have access to that server without having to do convoluted things like setting up (or buy) sync services (like you do have to for both Obsidian and LogSeq).

Obsidian tends to solve everything with plugins, whereas SB has more batteries included (although technically much of this is implemented as plugins that ship with SB itself) specifically: powerful indexing, querying and template support. Obsidian has Dataview and Templater, and some other plugins I think, but they’re developed by a third party.

Another difference difference would be UI minimalism. The number of panes and tabs in Obsidian dizzies me, although I know you can fold or hide all of them. In SB it’s minimal by default.

Compared to LogSeq: logseq is an outliner. You can do outlines in SilverBullet (and I do, a lot, there’s some nice shortcuts for this too: https://silverbullet.md/Outlines). However, SB is more of a wiki than an outliner. You don’t have to write everything in bulleted lists. To me this is important, because I also write my blog posts and other articles in SilverBullet and doing that in an outline is somewhat awkward.

But to be clear: Obsidian and Logseq are both great, and they’re more mature. They’ve been around longer and have bigger communities (so far). Try them out and see what you like.

@SparrowRanjitScaur@lemmy.world
link
fedilink
English
6
edit-2
7M

You can write long form content in logseq. Shift enter gives you a new line instead of a new bullet.

/dev/zero
link
fedilink
37M

@ndsvw @zef

I’ve used Joplin, logseq, and Obsidian and I’ve switched to this. It’s great for self hosting at home and using at work without having to install apps or applications. I enjoy that it is truly open source and the interface is much cleaner than Joplin and the files on disk are actually more readable unlike Joplin. I love how programmable it is.

⚡⚡⚡
link
fedilink
English
17M

deleted by creator

@zef@lemmy.world
creator
link
fedilink
English
17M

Only the server needs to be online to have access to all your notes.

⚡⚡⚡
link
fedilink
English
37M

deleted by creator

@tlf@feddit.de
link
fedilink
English
97M

As far as I understand Markdown is a syntax standard used for that kind of note taking or article writing

@BurnoutDV@lemmy.world
link
fedilink
English
17M

Interesting, but what does this solve what Bookstack does not solve? I mean sure, it looks nice and hacky and all that. But if i am going to host some note thingy, https://www.bookstackapp.com/ is right there and apparently the dev nowadays lives from the thing (which is nice i guess). Not to belittle your project in anyway, even if something like your thing would exist exactly as that its still commendable but i am already running Bookstack and this seems to add anything to any use case i could think off.

@z00s@lemmy.world
link
fedilink
English
45
edit-2
7M

What’s a “hacker mindset” and why do you need one to use this app?

Update: The homepage explains “hacker mindset” by linking to the wiki article for hacker lol

Kayn
link
fedilink
English
-67M

Where does it say that you need one?

Big P
link
fedilink
English
267M

That’s what the word “for” implies in the title

Well, that implies that it is made with that community in mind, not that everyone in that community needs it.

sepi
link
fedilink
27M

I had been using logseq before. This is great running on one of my rpi4b’s. Thanks!

@Ohh@lemmy.ml
link
fedilink
English
57M

Looks really kool. Reminds me of tiddlywiki but yet totally different. The authentication is very briefly touched upon. What kind of auth is it? Maybe more robust to just use http auth via caddy?

@zef@lemmy.world
creator
link
fedilink
English
17M

It’s pretty simple. Supports a single username:password combo, issues a JWT in a cookie and that’s it.

@Nibodhika@lemmy.world
link
fedilink
English
27M

But is there brute-force prevention mechanisms, e.g. delaying logins by a few seconds?

No that should be handled by eg Authelia

@corsicanguppy@lemmy.ca
link
fedilink
English
27M

literally

This is how I know I don’t need to look it over.

Okay this is looking great. Spun up the docker container though and it’s a preeeeetty steep learning curve. Any suggestions on how I could move my obsidian vault into my silverbullet space?

Kayn
link
fedilink
English
57M

Since both services store your notes as markdown files on your disk, you can just move your files over. When spinning up a docker container, you likely defined a path for your SilverBullet space. If not, try creating a note and see if you can find it on your disk.

@Virulent@reddthat.com
link
fedilink
English
17M

This looks very similar to trilium

I clicked on the link to “installation instructions” on your home page in a couple of different places and got the error “e.split is not a function”.

paletochen
link
fedilink
English
27M

It works for me on the main page. The Installation link sends you to:https://silverbullet.md/Install

Thanks, your link worked for me.

@d13@programming.dev
link
fedilink
English
137M

This is very cool, and I’ve been watching the project for a month or so.

I like the query setup and the templates look very interesting. One of my biggest complaints about Logseq is how much of a pain simple query operations can be.

A few things make me hesitate a bit:

  • I’ve been burned on single-dev passion projects in the past.
  • As a self hosted web app, it’s a bit more difficult to manage on a company owned machine. I know Electron apps get hate, but that would ease some pain here.
  • The rapid pace of development is both exciting and worrisome. For example, a recent update completely changed the underlying templating engine from a well-known open source solution to a custom solution. I worry if I rely on this, something might catch me by surprise.

What are your thoughts on those concerns, OP?

@zef@lemmy.world
creator
link
fedilink
English
187M

All your concerns are completely fair.

Regarding the first, the best I can offer is what many other project in this space say: “it’s just markdown files on disk, you can take them anywhere at any time”. Obviously this is only partially true, because the more SB-specific features you use, the more you get locked in. Your notes will never go away (if you back them up). But all time building queries and templates, would have been wasted.

Regarding company owned machines: a concern I heard for Logseq and Obsidian is that people cannot use them at work/with a work machine because they’re not allowed to install anything. For SilverBullet I’d recommend not installing it on your laptop (work or otherwise), but rather on some other machine. Perhaps you have a Raspberry Pi lying around unused. Or maybe you buy a cheap VPS (silverbullet.md itself runs on a $5/month Hetzner VM). Then you can access it from anywhere with a web browser, and I assume your work laptop has one of those.

Regarding the high pace of development: also fair. The reason I have not been very actively promoting SB so far is because of the high change churn rate. If you’re a power user, you kind of need to keep on top of stuff. Mostly I attempt to give people migration tools, but this is always a opportunity cost decision. Until recently some fundamentals still didn’t feel quite right (like the templates). I think we’re getting there now though. Another one I still need to figure out is how to do the distribution of templates, slash commands. This idea of a Library you import works, but you cannot easily keep it up to date. This so something to still figure out. Generally I’ll do my best to mark the parts of this that are experimental or prone to still change.

I hope that helps.

@d13@programming.dev
link
fedilink
English
47M

Thanks for your answers! Very fair thoughts, particularly about the flexibility of keeping things as just files on disk.

Regarding the work thing, I should clarify my use case: I’d like to take work related notes that could contain privileged company data. With a standalone app, I can install it and manage the files on my device (with cloud syncing in an approved corporate way). I could still probably do that here, but it requires the work of running the web server locally. Unfortunately, an external source like a VPS wouldn’t be allowed.

I have one more question, if you have some time: One of the things I like most about Logseq is that when there is a list of back links on a page, the context capture is excellent (likely due to it being an outliner). I’ve noticed that with SilverBullet, the context capture might begin/end in the middle of a word, etc. Is there a way to configure that or plans to enhance it?

@zef@lemmy.world
creator
link
fedilink
English
57M

Makes sense. Regarding the linked mention snippets. Please create a GitHub issue (https://github.com/silverbulletmd/silverbullet) for that. Right now it does the simplest thing, which is just to take x characters on each side. That can definitely be improved.

@genie@lemmy.world
link
fedilink
English
77M

With the rise of these .md based personal knowledge database applications it would be amazing to see some conversion software.

I understand that each has their special sauce. Does anyone know what would be the most difficult part about building a tool like that to copy in Logseq data to SB for example?

Or unification/interoperability even

@Muehe@lemmy.ml
link
fedilink
English
37M

pandoc.org is probably what you are looking for, but you might have to create a custom reader/writer or find one on the internet.

@genie@lemmy.world
link
fedilink
English
27M

Oh cool! I didn’t realize pandoc was extensible enough to deal with this kind of conversion. I’ll give it a look!

Create a post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

  • 1 user online
  • 279 users / day
  • 589 users / week
  • 1.34K users / month
  • 4.55K users / 6 months
  • 1 subscriber
  • 3.47K Posts
  • 69.3K Comments
  • Modlog