From 3d96716265bea8f944fb12130198451611bc7785 Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Sun, 27 Nov 2022 09:12:24 +0100 Subject: [PATCH] Website copy --- website/Silver Bullet.md | 55 ++++++++++++++++------------------- website/template/plug.md | 2 +- website/πŸ”Œ Collab.md | 1 - website/πŸ”Œ Core.md | 1 - website/πŸ”Œ Directive.md | 1 - website/πŸ”Œ Directive/Query.md | 44 ++++++++++++++-------------- website/πŸ”Œ Emoji.md | 1 - website/πŸ”Œ Markdown.md | 1 - website/πŸ”Œ Plugs.md | 28 +++++++++++------- website/πŸ”Œ Share.md | 1 - website/πŸ”Œ Tasks.md | 7 ++--- website/🀯 Features.md | 11 ------- 12 files changed, 68 insertions(+), 85 deletions(-) delete mode 100644 website/🀯 Features.md diff --git a/website/Silver Bullet.md b/website/Silver Bullet.md index 9761f521..ad04ab11 100644 --- a/website/Silver Bullet.md +++ b/website/Silver Bullet.md @@ -1,27 +1,24 @@ Silver Bullet is extensible, [open source](https://github.com/silverbulletmd/silverbullet), **personal -knowledge management** software. Indeed, that’s fancy language for β€œa note taking app with links (and some other stuff).” +knowledge management** software. Indeed, at the most basic level that translates to β€œa note-taking app with links.” However, Silver Bullet goes a bit beyond just that. -Silver Bullet provides: +Let’s have a look at some of its features. -* An enjoyable markdown writing experience using [[Live Preview|live preview]] that **reduces visual noise**, but still gives direct access to the underlying [[Markdown]] syntax. -* The ability to cross-link pages using the `[[page link]]` syntax, keeping these links automatically up-to-date as pages are renamed. -* Primarily keyboard-based operation: +## Features +* Runs in any modern browser (including mobile browsers) and is installable as a PWA. +* Provides a distraction-free, enjoyable markdown writing experience using [[Live Preview|live preview]] that **reduces visual noise**, but still gives direct access to the underlying [[Markdown]] syntax. +* Supports wiki-like page linking using the `[[page link]]` syntax, keeping links up-to-date as pages are renamed. +* Optimized for keyboard-based operation: * 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). * Use [[πŸ”Œ Core/Slash Commands|slash commands]] to perform common text editing operations. -* The ability to annotate pages with metadata (using [[Frontmatter]]), which can be [[πŸ”Œ Directive/Query|queried]] to build partially dynamic pages. -* A robust extension mechanism using [[πŸ”Œ Plugs]] +* Supports annotating pages with metadata (using [[Frontmatter]]). +* Provides a platform for [End-user Programming](https://www.inkandswitch.com/end-user-programming/) through its support of [[πŸ”Œ Directive|directives]] (such as [[πŸ”Œ Directive/Query|#query]]), which make parts of pages _dynamic_. +* Robust extension mechanism using [[πŸ”Œ Plugs]] +* You own your data. All content is stored as plain files in a folder on disk. Nothing fancy. +* Silver Bullet is [open source, MIT licensed](https://github.com/silverbulletmd/silverbullet) software. -Here is a screenshot of Silver Bullet in PWA mode (Silver Bullet can be installed as a PWA on Chromium-based browsers): - -![Silver Bullet PWA Screenshot](silverbullet-pwa.png) - -It also works in mobile browsers: - -![Silver Bullet on mobile](silverbullet-ios.png) - - -But here’s the kicker: +## Try it +Here’s the kicker: ==You are looking at a (more or less) operational copy of Silver Bullet **right now**==. @@ -29,9 +26,8 @@ That’s right, this very website is powered by a quasi-read-only version of Sil On this site, everything is editable as in a regular copy of Silver Bullet, just none of it persists (the back-end is read-only). -So, don’t just sit there... +So, don’t just sit there, try this! -## Try it out! * Click on the page picker (folder tree) 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 nonexistent page to create it (although it won’t save in this environment). * Click on the run 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). * Select some text and hit `Alt-m` to ==highlight== it, or `Cmd-b` (Mac) or `Ctrl-b` to make it **bold**. @@ -67,7 +63,7 @@ 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: +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: * Using Silver Bullet [[πŸ”Œ Directive|directives]] where part of pages are automatically rendered and kept up to date by querying various data sources (such as pages and their metadata, back links, tasks embedded in pages, and list items) with an SQL like syntax, rendered with handlebars templates. * Intelligent **page renaming**, automatically updating any pages that link to it. @@ -83,11 +79,10 @@ Some things are just [better explained in a video](https://youtu.be/VemS-cqAD5k) Click on the links below to explore various aspects of Silver Bullet more in-depth: -* [[CHANGELOG]] β€” what’s new? -* [[🀯 Features]] -* [[πŸ’‘ Inspiration]] -* [[πŸ”Œ Plugs]] -* [[πŸ”¨ Development]] +* [[CHANGELOG|What’s new?]] +* [[πŸ’‘ Inspiration]]: some of the projects that inspired Silver Bullet +* [[πŸ”Œ Plugs]]: extensions available in Silver Bullet +* [[πŸ”¨ Development]]: how to start hacking on Silver Bullet itself ## Installing Silver Bullet This consists of two steps (unless Deno is already installed: @@ -117,13 +112,13 @@ Once downloaded and booted, Silver Bullet will print out a URL to open SB in you ## Upgrading Silver Bullet Simply run: - silverbullet upgrade +```shell +silverbullet upgrade +``` And restart Silver Bullet. You should be good to go. -## Troubleshooting - -If you upgraded to the new Deno-based Silver Bullet from an old version, you may have to use the `silverbullet fix ` command to flush out your old database and plugs. Plugs will likely need to be updated. +## Support 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). +[our issue tracker](https://github.com/silverbulletmd/silverbullet/issues). Want to contribute? [Check out the code](https://github.com/silverbulletmd/silverbullet). Want to chat with us? [We have a Mattermost instance](https://silverbullet.cloud.mattermost.com/), join us! diff --git a/website/template/plug.md b/website/template/plug.md index cb872a42..fb7813ab 100644 --- a/website/template/plug.md +++ b/website/template/plug.md @@ -1 +1 @@ -* [[{{name}}]] by **{{author}}** ([repo]({{repo}})) \ No newline at end of file +* [[{{name}}]] {{#if author}}by **{{author}}** ([repo]({{repo}})){{/if}} \ No newline at end of file diff --git a/website/πŸ”Œ Collab.md b/website/πŸ”Œ Collab.md index 6ff870f1..1b91de8e 100644 --- a/website/πŸ”Œ Collab.md +++ b/website/πŸ”Œ Collab.md @@ -1,7 +1,6 @@ --- type: plug repo: https://github.com/silverbulletmd/silverbullet -author: Silver Bullet Authors share-support: true --- diff --git a/website/πŸ”Œ Core.md b/website/πŸ”Œ Core.md index e790aecb..9c0f6471 100644 --- a/website/πŸ”Œ Core.md +++ b/website/πŸ”Œ Core.md @@ -1,7 +1,6 @@ --- type: plug repo: https://github.com/silverbulletmd/silverbullet -author: Silver Bullet Authors --- The core plug implements foundational functionality for Silver Bullet. It covers the following areas: diff --git a/website/πŸ”Œ Directive.md b/website/πŸ”Œ Directive.md index bfdf4043..614d2de4 100644 --- a/website/πŸ”Œ Directive.md +++ b/website/πŸ”Œ Directive.md @@ -1,7 +1,6 @@ --- type: plug repo: https://github.com/silverbulletmd/silverbullet -author: Silver Bullet Authors --- The directive plug is a built-in plug implementing various so-called β€œdirective” that all take the form of `` and close with ``. Currently the following directives are supported: diff --git a/website/πŸ”Œ Directive/Query.md b/website/πŸ”Œ Directive/Query.md index f30c2e53..6fbf5ca3 100644 --- a/website/πŸ”Œ Directive/Query.md +++ b/website/πŸ”Œ Directive/Query.md @@ -151,11 +151,11 @@ For the sake of simplicity, we will use the `page` data source and limit the res **Result:** Look at the data. This is more than we need. The query even gives us template pages. Let's try to limit it in the next step. -|name |lastModified |contentType |size|perm| -|-------------|-------------|-------------|----|--| -|SETTINGS |1667053645895|text/markdown|169 |rw| -|Silver Bullet|1669379746803|text/markdown|6823|rw| -|YAML |1669378903144|text/markdown|199 |rw| +|name |lastModified |contentType |size|perm|type|uri |repo |author | +|--|--|--|--|--|--|--|--|--| +|Markdown |1669534332564|text/markdown|1022|rw| | | | | +|πŸ”Œ Graph View|1669388320673|text/markdown|1042|rw|plug|github:bbroeksema/silverbullet-graphview/graphview.plug.json|https://github.com/bbroeksema/silverbullet-graphview|Bertjan Broeksema| +|SETTINGS |1667053645895|text/markdown|169 |rw| | | | | @@ -166,13 +166,13 @@ For the sake of simplicity, we will use the `page` data source and limit the res **Result:** Okay, this is what we wanted but there is also information such as `perm`, `type` and `lastModified` that we don't need. -|name |lastModified |contentType |size|perm|type|repo |author |uri | -|--|--|--|--|--|--|--|--|--| -|πŸ”Œ Directive |1669382855582|text/markdown|2572|rw|plug|https://github.com/silverbulletmd/silverbullet |Silver Bullet Authors| | -|πŸ”Œ Github |1669302595740|text/markdown|2202|rw|plug|https://github.com/silverbulletmd/silverbullet-github|Zef Hemel |github:silverbulletmd/silverbullet-github/github.plug.json | -|πŸ”Œ Core |1668787355449|text/markdown|3418|rw|plug|https://github.com/silverbulletmd/silverbullet |Silver Bullet Authors|builtin:core | -|πŸ”Œ Ghost |1667053645897|text/markdown|1071|rw|plug|https://github.com/silverbulletmd/silverbullet-ghost |Zef Hemel |github:silverbulletmd/silverbullet-ghost/ghost.plug.json | -|πŸ”Œ Serendipity|1667053645897|text/markdown|1179|rw|plug|https://github.com/m1lt0n/silverbullet-serendipity |Pantelis Vratsalis |github:m1lt0n/silverbullet-serendipity/serendipity.plug.json| +|name |lastModified |contentType |size|perm|type|repo |author |share-support|uri | +|--|--|--|--|--|--|--|--|--|--| +|πŸ”Œ Collab |1669389685597|text/markdown|2199|rw|plug|https://github.com/silverbulletmd/silverbullet |Silver Bullet Authors|true| | +|πŸ”Œ Share |1669389175835|text/markdown|702 |rw|plug|https://github.com/silverbulletmd/silverbullet |Silver Bullet Authors| | | +|πŸ”Œ Graph View|1669388320673|text/markdown|1042|rw|plug|https://github.com/bbroeksema/silverbullet-graphview |Bertjan Broeksema | |github:bbroeksema/silverbullet-graphview/graphview.plug.json| +|πŸ”Œ Github |1669387590823|text/markdown|2222|rw|plug|https://github.com/silverbulletmd/silverbullet-github|Zef Hemel |true|github:silverbulletmd/silverbullet-github/github.plug.json | +|πŸ”Œ Markdown |1669387575305|text/markdown|298 |rw|plug|https://github.com/silverbulletmd/silverbullet |Silver Bullet Authors|true| | #### 6.3 Query to select only certain fields @@ -184,13 +184,13 @@ and `repo` columns and then sort by last modified time. from a visual perspective. -|name |author |repo |ri| +|name |author |repo |ri| |--|--|--|--| -|πŸ”Œ Directive |Silver Bullet Authors|https://github.com/silverbulletmd/silverbullet || -|πŸ”Œ Github |Zef Hemel |https://github.com/silverbulletmd/silverbullet-github|| -|πŸ”Œ Core |Silver Bullet Authors|https://github.com/silverbulletmd/silverbullet || -|πŸ”Œ Ghost |Zef Hemel |https://github.com/silverbulletmd/silverbullet-ghost || -|πŸ”Œ Serendipity|Pantelis Vratsalis |https://github.com/m1lt0n/silverbullet-serendipity || +|πŸ”Œ Collab |Silver Bullet Authors|https://github.com/silverbulletmd/silverbullet || +|πŸ”Œ Share |Silver Bullet Authors|https://github.com/silverbulletmd/silverbullet || +|πŸ”Œ Graph View|Bertjan Broeksema |https://github.com/bbroeksema/silverbullet-graphview || +|πŸ”Œ Github |Zef Hemel |https://github.com/silverbulletmd/silverbullet-github|| +|πŸ”Œ Markdown |Silver Bullet Authors|https://github.com/silverbulletmd/silverbullet || #### 6.4 Display the data in a format defined by a template @@ -200,11 +200,11 @@ from a visual perspective. **Result:** Here you go. This is the result we would like to achieve πŸŽ‰. Did you see how I used `render` and `template/plug` in a query? πŸš€ -* [[πŸ”Œ Directive]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) +* [[πŸ”Œ Collab]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) +* [[πŸ”Œ Share]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) +* [[πŸ”Œ Graph View]] by **Bertjan Broeksema** ([repo](https://github.com/bbroeksema/silverbullet-graphview)) * [[πŸ”Œ Github]] by **Zef Hemel** ([repo](https://github.com/silverbulletmd/silverbullet-github)) -* [[πŸ”Œ Core]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) -* [[πŸ”Œ Ghost]] by **Zef Hemel** ([repo](https://github.com/silverbulletmd/silverbullet-ghost)) -* [[πŸ”Œ Serendipity]] by **Pantelis Vratsalis** ([repo](https://github.com/m1lt0n/silverbullet-serendipity)) +* [[πŸ”Œ Markdown]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) PS: You don't need to select only certain fields to use templates. Templates are diff --git a/website/πŸ”Œ Emoji.md b/website/πŸ”Œ Emoji.md index a204c60d..fc5d6d2f 100644 --- a/website/πŸ”Œ Emoji.md +++ b/website/πŸ”Œ Emoji.md @@ -1,7 +1,6 @@ --- type: plug repo: https://github.com/silverbulletmd/silverbullet -author: Silver Bullet Authors --- The Emoji plug provides support for auto-completion of the `:emoji:` style syntax. \ No newline at end of file diff --git a/website/πŸ”Œ Markdown.md b/website/πŸ”Œ Markdown.md index c0999aa3..e1969327 100644 --- a/website/πŸ”Œ Markdown.md +++ b/website/πŸ”Œ Markdown.md @@ -1,7 +1,6 @@ --- type: plug repo: https://github.com/silverbulletmd/silverbullet -author: Silver Bullet Authors share-support: true --- diff --git a/website/πŸ”Œ Plugs.md b/website/πŸ”Œ Plugs.md index b4f3d437..667a0ef9 100644 --- a/website/πŸ”Œ Plugs.md +++ b/website/πŸ”Œ Plugs.md @@ -1,23 +1,29 @@ Silver Bullet at its core is bare bones in terms of functionality, most of its power it gains from **plugs**. -Plugs are an extension mechanism (implemented using a library called `plugos` that runs plug code on the server in a sandboxed v8 Deno web worker, and in the browser using web workers). Plugs can hook into SB in various ways: plugs can extend the Markdown parser and its syntax, define new commands and keybindings, respond to various events triggered either on the server or client side, as well as run recurring and background tasks. Plugs can even define their own extension -mechanisms through custom events. Each plug runs in its own sandboxed -environment and communicates with SB via _syscalls_ that expose a vast range of functionality. Plugs can be loaded, unloaded, and updated without having to restart SB itself. +Plugs are an extension mechanism (implemented using a library called `plugos` that runs plug code on the server in a sandboxed v8 Deno web worker, and in the browser using web workers). Plugs can hook into SB in various ways: + +* Extend the Markdown parser and its syntax +* Define new commands and keybindings +* Respond to various events triggered either on the server or client-side +* Run recurring and background tasks. +* Define their own extension mechanisms through custom events + +Each plug runs in its own _sandboxed environment_ and communicates with SB via _syscalls_ that expose a vast range of functionality. Plugs can be loaded, unloaded, and updated without having to restart SB itself. ## Core plugs These plugs are distributed with Silver Bullet and are automatically enabled: -* [[πŸ”Œ Collab]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) -* [[πŸ”Œ Core]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) -* [[πŸ”Œ Directive]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) -* [[πŸ”Œ Emoji]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) -* [[πŸ”Œ Markdown]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) -* [[πŸ”Œ Share]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) -* [[πŸ”Œ Tasks]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) +* [[πŸ”Œ Collab]] +* [[πŸ”Œ Core]] +* [[πŸ”Œ Directive]] +* [[πŸ”Œ Emoji]] +* [[πŸ”Œ Markdown]] +* [[πŸ”Œ Share]] +* [[πŸ”Œ Tasks]] ## Third-party plugs -These plugs are written either by third parties, or distributed separately from the main SB distribution: +These plugs are written either by third parties or distributed separately from the main SB distribution: * [[πŸ”Œ Backlinks]] by **Guillermo VayΓ‘** ([repo](https://github.com/Willyfrog/silverbullet-backlinks)) diff --git a/website/πŸ”Œ Share.md b/website/πŸ”Œ Share.md index 3be08abf..e324e383 100644 --- a/website/πŸ”Œ Share.md +++ b/website/πŸ”Œ Share.md @@ -1,7 +1,6 @@ --- type: plug repo: https://github.com/silverbulletmd/silverbullet -author: Silver Bullet Authors --- The Share plug provides infrastructure for sharing pages outside of your space. It standardizes the {[Share: Publish]} (bound to `Cmd-s` or `Ctrl-s`) to publish the current page to all share providers specified under the `$share` key in [[Frontmatter]]. diff --git a/website/πŸ”Œ Tasks.md b/website/πŸ”Œ Tasks.md index d948daeb..39b9dafb 100644 --- a/website/πŸ”Œ Tasks.md +++ b/website/πŸ”Œ Tasks.md @@ -1,7 +1,6 @@ --- type: plug repo: https://github.com/silverbulletmd/silverbullet -author: Silver Bullet Authors --- The Tasks plug implements a lot of the task support in Silver Bullet. @@ -27,7 +26,7 @@ This metadata is extracted and available via the `task` query source to [[πŸ”Œ D |name |done |page |pos|tags |deadline | |---------------------|-----|--------|---|------|----------| -|This is a task |false|πŸ”Œ Tasks|245| | | -|This is a tagged task|false|πŸ”Œ Tasks|319|my-tag| | -|This is due |false|πŸ”Œ Tasks|605| |2022-11-26| +|This is a task |false|πŸ”Œ Tasks|215| | | +|This is a tagged task|false|πŸ”Œ Tasks|289|my-tag| | +|This is due |false|πŸ”Œ Tasks|575| |2022-11-26| diff --git a/website/🀯 Features.md b/website/🀯 Features.md deleted file mode 100644 index 26124e31..00000000 --- a/website/🀯 Features.md +++ /dev/null @@ -1,11 +0,0 @@ -## Core features -- **Free and open source**. Silver Bullet is [MIT licensed](https://github.com/silverbulletmd/silverbullet/blob/main/LICENSE.md). -- **The truth is in the markdown.** Markdown is simply text files, stored on disk. Nothing fancy. No proprietary formats or lock in. While SB uses an (SQLite) database for indexing and caching some data, all of that can be rebuilt from its markdown source at any time. If SB would ever go away, you can still read your pages with any text editor. -- [**Local first**](https://www.inkandswitch.com/local-first/): your content is under your own control. -- **Single, distraction-free mode.** SB doesn’t have a separate view and edit mode. It doesn’t have a β€œfocus mode.” You’re always in focused edit mode, why wouldn’t you? -* **Run anywhere**: run it on your local machine, or install it on a server. You access it via your web browser (desktop or mobile), or install it as a PWA (giving it its own window frame and dock/launcher/dock icon). -- **Keyboard oriented**. You can use SB fully using the keyboard, typin’ the keys. -- **Extend it your way**. SB is highly extensible with [[πŸ”Œ Plugs]], and you can customize it to your liking and your workflows. - -## Advanced -* Make part of your page _dynamic_ using [[πŸ”Œ Directive]]s such as [[πŸ”Œ Directive/Query]]