1
0
silverbullet/website/Silver Bullet.md

129 lines
7.6 KiB
Markdown
Raw Normal View History

2022-12-28 13:51:01 +00:00
Silver Bullet is an extensible, [open source](https://github.com/silverbulletmd/silverbullet), **personal knowledge management** system. Indeed, thats fancy talk for “a note-taking app with links.” However, Silver Bullet goes a bit beyond just that.
2022-12-28 14:00:44 +00:00
_Quick links:_ [Roadmap](https://github.com/orgs/silverbulletmd/projects/2/views/1), [[CHANGELOG]], [Issues](https://github.com/silverbulletmd/silverbullet/issues), [Discussions](https://github.com/silverbulletmd/silverbullet/discussions), [Zef on Mastodon](https://hachyderm.io/@zef), [Mattermost chat](https://silverbullet.cloud.mattermost.com/), [Docker Hub](https://hub.docker.com/r/zefhemel/silverbullet).
2022-11-25 15:01:05 +00:00
2022-12-19 12:42:20 +00:00
Youve been told there is _no such thing_ as a [silver bullet](https://en.wikipedia.org/wiki/Silver_bullet). You were told wrong.
2022-12-19 12:42:20 +00:00
Lets have a look at some of Silver Bullets features.
2022-11-27 07:48:13 +00:00
2022-11-27 08:12:24 +00:00
## Features
2022-11-27 17:02:48 +00:00
* Runs in any modern browser (including on mobile) and is installable as a [PWA](https://web.dev/progressive-web-apps/).
2022-12-07 16:05:27 +00:00
* Provides an enjoyable [[Markdown]] writing experience with a clean UI, rendering text using [[Live Preview|live preview]] further **reducing visual noise**, while still providing direct access to the underlying markdown syntax.
2022-11-27 17:02:48 +00:00
* 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**:
2022-11-27 10:21:03 +00:00
* Quickly navigate between pages using the **page switcher** (triggered with `Cmd-k` on Mac or `Ctrl-k` on Linux and Windows).
* Run commands via their keyboard shortcuts, or the **command palette** (triggered with `Cmd-/` or `Ctrl-/` on Linux and Windows).
2022-11-27 07:48:13 +00:00
* Use [[🔌 Core/Slash Commands|slash commands]] to perform common text editing operations.
2022-11-27 17:02:48 +00:00
* Provides a platform for [end-user programming](https://www.inkandswitch.com/end-user-programming/) through its support for annotating pages with [[Frontmatter]] and [[🔌 Directive|directives]] (such as [[🔌 Directive/Query|#query]]), making parts of pages _dynamic_.
2022-11-27 10:43:10 +00:00
* Experimental [[🔌 Collab|real-time collaboration support]].
2022-11-27 17:02:48 +00:00
* Robust extension mechanism using [[🔌 Plugs]].
2022-12-07 16:05:27 +00:00
* **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.
2022-11-27 08:12:24 +00:00
* Silver Bullet is [open source, MIT licensed](https://github.com/silverbulletmd/silverbullet) software.
2022-07-15 12:59:47 +00:00
2022-11-27 10:21:03 +00:00
![Screencast screenshot](demo-video-screenshot.png)
2022-12-07 16:05:27 +00:00
To get a good feel of what Silver Bullet is capable of, [have a look at this introduction video](https://youtu.be/VemS-cqAD5k).
2022-11-27 10:21:03 +00:00
2022-11-27 08:12:24 +00:00
## Try it
Heres the kicker:
2022-07-16 19:14:10 +00:00
2022-11-25 12:36:42 +00:00
==You are looking at a (more or less) operational copy of Silver Bullet **right now**==.
2022-11-27 08:16:44 +00:00
Thats right, **this very website is powered by Silver Bullet itself**. 🤯
2022-11-25 12:36:42 +00:00
2022-11-27 17:02:48 +00:00
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.
2022-11-27 07:48:13 +00:00
2022-11-27 10:21:03 +00:00
Dont just sit there, try it!
2022-11-25 12:36:42 +00:00
* Click on the page picker (book icon) icon at the top right, or hit `Cmd-k` (Mac) or `Ctrl-k` (Linux and Windows) to open the **page switcher**. Type the name of a non-existent page to create it (although it wont save in this environment).
* Click on the terminal button (top right) or hit `Cmd-/` (Mac) or `Ctrl-/` (Linux and Windows) to open the **command palette** (note that not all commands will work in this mode).
2022-11-27 10:21:03 +00:00
* Select some text and hit `Alt-m` to ==highlight== it, or `Cmd-b` (Mac) or `Ctrl-b` (Windows/Linux) to make it **bold**, or `Cmd-i` (Mac) or `Ctrl-i` (Windows/Linux) to make it _italic_.
2022-11-25 12:36:42 +00:00
* 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) or `Ctrl-p` (Windows, Linux) to show a live preview for the current page on the side, if your brain doesnt speak native Markdown yet.
2022-12-16 11:44:04 +00:00
* Click this button {[Editor: Toggle Vim Mode]} to toggle Vim mode
2022-11-25 15:01:05 +00:00
* Open this site on your phone or tablet and... it just works!
2022-11-25 12:36:42 +00:00
* 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).
2022-11-25 15:01:05 +00:00
Oh yeah, and you can use fancy things like tables:
2022-11-25 12:36:42 +00:00
| Page | Comment |
|----------|----------|
| [[Silver Bullet]] | Main product page |
| [[CHANGELOG]] | The latest updates |
or code snippets, like JavaScript:
```javascript
function helloWorld() {
return "Hello there!"
}
```
or YAML:
```yaml
name: Silver Bullet
rating: 5
```
2022-11-27 08:16:44 +00:00
There are a few features you dont get to fully experience in this environment, because they rely on a working back-end, such as:
2022-11-25 12:36:42 +00:00
2022-11-27 17:02:48 +00:00
* Any edits you make and pages you add arent saved (kind of useful).
* [[🔌 Directive|Directives]] are disabled, although you will see them being used across this site (look for sections with subtle curved lines around them, if you move your cursor inside youll see where their content is generated from), they just dont update their content dynamically.
2022-12-07 16:05:27 +00:00
* **Full-text search**.
2022-11-25 12:36:42 +00:00
* **Extending** and updating SBs functionality by installing additional [[🔌 Plugs]] (SB parlance for plug-ins) and writing your own.
## Where to go from here
2022-12-21 19:13:32 +00:00
Click on the links below to explore various aspects of Silver Bullet more in-depth:
2022-10-12 09:47:13 +00:00
2022-11-27 17:02:48 +00:00
* [[CHANGELOG]]: Whats new?
2022-11-27 08:12:24 +00:00
* [[🔌 Plugs]]: extensions available in Silver Bullet
2022-11-27 17:02:48 +00:00
* [[💡 Inspiration]]: some of the projects that inspired Silver Bullet
2022-11-27 08:12:24 +00:00
* [[🔨 Development]]: how to start hacking on Silver Bullet itself
2022-07-15 12:59:47 +00:00
2022-07-16 19:14:10 +00:00
## Installing Silver Bullet
2022-12-21 19:13:32 +00:00
This consists of two steps (unless Deno is already installed):
2022-07-15 12:59:47 +00:00
2022-12-27 11:52:15 +00:00
1. [Install Deno](https://deno.land/manual/getting_started/installation) (if youre using a Raspberry Pi, follow [[Raspberry Pi Installation]]-specific instructions)
2022-10-29 14:57:12 +00:00
2. Installing Silver Bullet itself
2022-10-12 09:47:13 +00:00
### Install Silver Bullet
2022-11-27 17:02:48 +00:00
With Deno installed, run:
```shell
deno install -f --name silverbullet -A --unstable https://get.silverbullet.md
```
2022-11-27 17:02:48 +00:00
This will install `silverbullet` into your `~/.deno/bin` folder (which should already be in your `$PATH` if you followed the Deno install instructions).
2022-11-25 12:36:42 +00:00
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:
2022-10-10 13:09:56 +00:00
```shell
silverbullet <pages-path>
```
2022-10-10 13:09:56 +00:00
2022-12-16 12:00:06 +00:00
By default, Silver Bullet will bind to port `3000`, to use a different port use the `--port` flag.
2022-07-16 19:14:10 +00:00
2023-01-05 05:06:35 +00:00
For security reasons, by default Silver Bullet only allows connections via `localhost` (or `127.0.0.1`). To also allow connections from the network, pass a `--hostname 0.0.0.0` flag (0.0.0.0 for all connections, or insert a specific address to limit the host), ideally combined with `--user username:password` to add BasicAuth password protection.
2022-12-16 12:00:06 +00:00
Once downloaded and booted, Silver Bullet will print out a URL to open SB in your browser.
## Upgrading Silver Bullet
2022-11-27 10:21:03 +00:00
Silver Bullet is regularly updated. To get the latest and greatest, simply run:
2022-11-27 08:12:24 +00:00
```shell
silverbullet upgrade
```
And restart Silver Bullet. You should be good to go.
2022-11-27 08:12:24 +00:00
## Support
2022-07-15 18:15:11 +00:00
2022-12-19 12:42:20 +00:00
If you (hypothetically) find bugs or have feature requests, post them in [our issue tracker](https://github.com/silverbulletmd/silverbullet/issues). Want to contribute? [Check out the code](https://github.com/silverbulletmd/silverbullet).
2022-11-27 10:21:03 +00:00
Want to chat with us? [We have a Mattermost instance](https://silverbullet.cloud.mattermost.com/), join us!