6.7 KiB
Silver Bullet is an extensible, open source, personal knowledge management application. Indeed, fundamentally that’s fancy talk for “a note-taking app with links.” However, Silver Bullet goes a bit beyond just that.
Let’s have a look at some of its features.
Features
- Runs in any modern browser (including on mobile) and is installable as a PWA.
- Provides a enjoyable Markdown writing experience with a clean UI, rendering text using Live Preview further reducing visual noise, while still providing direct access to the underlying markdown syntax.
- Supports wiki-style page linking using the
[[page link]]
syntax, even keeping links up-to-date when pages are renamed. - Optimized for keyboard-based operation:
- Quickly navigate between pages using the page switcher (triggered with
Cmd-k
on Mac orCtrl-k
on Linux and Windows). - Run commands via their keyboard shortcuts, or the command palette (triggered with
Cmd-/
orCtrl-/
on Linux and Windows). - Use 🔌 Core/Slash Commands to perform common text editing operations.
- Quickly navigate between pages using the page switcher (triggered with
- Provides a platform for end-user programming through its support for annotating pages with Frontmatter and 🔌 Directive (such as 🔌 Directive/Query), making parts of pages dynamic.
- Experimental 🔌 Collab.
- Robust extension mechanism using 🔌 Plugs.
- Self hosted: you own your data. All content is stored as plain files in a folder on disk. Back up, sync, edit, publish, script with any additional tools you like.
- Silver Bullet is open source, MIT licensed software.
To get a good feel of what Silver Bullet is capable of, have a look at at this introduction video.
Try it
Here’s the kicker:
==You are looking at a (more or less) operational copy of Silver Bullet right now==.
That’s right, this very website is powered by Silver Bullet itself. 🤯
On this site, everything is editable just none of it persists (the back-end is read-only). So, edit away, reload the page and everything resets.
Don’t just sit there, try it!
- Click on the page picker (folder tree) icon at the top right, or hit
Cmd-k
(Mac) orCtrl-k
(Linux and Windows) to open the page switcher. Type the name of a non-existent page to create it (although it won’t save in this environment). - Click on the run button (top right) or hit
Cmd-/
(Mac) orCtrl-/
(Linux and Windows) to open the command palette (note that not all commands will work in this mode). - Select some text and hit
Alt-m
to ==highlight== it, orCmd-b
(Mac) orCtrl-b
(Windows/Linux) to make it bold, orCmd-i
(Mac) orCtrl-i
(Windows/Linux) to make it italic. - Click a link somewhere on this page to navigate there.
- Start typing
[[
somewhere to insert a page link (with completion). - Tap this box 👈 to mark this task as done.
- Start typing
:party
to trigger the emoji picker 🎉 - Type
/
somewhere in the text to invoke a slash command. - Hit
Cmd-p
(Mac) orCtrl-p
(Windows, Linux) to show a live preview for the current page on the side, if your brain doesn’t speak native Markdown yet. - Open this site on your phone or tablet and... it just works!
- Are you using a browser with PWA support (e.g. any Chromium-based browser)? Click on that little icon to the right of your location bar that says “Install Silver Bullet” to give SB its own window frame and desktop icon, like it is a stand-alone app (not particularly useful on silverbullet.md, but definitely do this once you install it yourself).
Oh yeah, and you can use fancy things like tables:
Page | Comment |
---|---|
Silver Bullet | Main product page |
CHANGELOG | The latest updates |
or code snippets, like JavaScript:
function helloWorld() {
return "Hello there!"
}
or YAML:
name: Silver Bullet
rating: 5
There are a few features you don’t get to fully experience in this environment, because they rely on a working back-end, such as:
- Any edits you make and pages you add aren’t saved (kind of useful).
- 🔌 Directive are disabled, although you will see them being used across this site (look for those
<!-- #query ... -->
and<!-- /query -->
comments), they just don’t update their content dynamically. - Full text search.
- Extending and updating SB’s functionality by installing additional 🔌 Plugs (SB parlance for plug-ins) and writing your own.
Where to go from here
Click on the links below to explore various aspects of Silver Bullet more in-depth:
- CHANGELOG: What’s new?
- 🔌 Plugs: extensions available in Silver Bullet
- 💡 Inspiration: some of the projects that inspired Silver Bullet
- 🔨 Development: how to start hacking on Silver Bullet itself
Installing Silver Bullet
This consists of two steps (unless Deno is already installed:
- Install Deno
- Installing Silver Bullet itself
Install Silver Bullet
With Deno installed, run:
deno install -f --name silverbullet -A --unstable https://get.silverbullet.md
This will install silverbullet
into your ~/.deno/bin
folder (which should already be in your $PATH
if you followed the Deno install instructions).
To run Silver Bullet, create a folder for your pages (it can be empty, or be an existing folder with .md
files) and run the following command in your terminal:
silverbullet <pages-path>
By default, Silver Bullet will bind to port 3000
, to use a different port use the the --port
flag. By default Silver Bullet is unauthenticated, to password-protect it, specify a username and password with the --user
flag (e.g. --user pete:1234
).
Once downloaded and booted, Silver Bullet will print out a URL to open SB in your browser (by default this will be http://localhost:3000 ).
Upgrading Silver Bullet
Silver Bullet is regularly updated. To get the latest and greatest, simply run:
silverbullet upgrade
And restart Silver Bullet. You should be good to go.
Support
If you (hypothetically) find bugs or have feature requests, post them in our issue tracker. Want to contribute? Check out the code.
Want to chat with us? We have a Mattermost instance, join us!