parent
7bd9c8220e
commit
acec440444
@ -5,7 +5,7 @@ release.
|
||||
|
||||
## Next
|
||||
|
||||
* Replaced the `--password` flag with `--user` taking a basic auth combination of username and password, e.g. `--user pete:1234`. Authentication now uses standard basic auth. This should fix attachments not working with password protected setups.
|
||||
* Replaced the `--password` flag with `--user` taking a basic auth combination of username and password, e.g. `--user pete:1234`. Authentication now uses standard basic auth. This should fix attachments not working with password-protected setups.
|
||||
* Added support for ~~strikethrough~~ syntax.
|
||||
|
||||
---
|
||||
@ -14,7 +14,7 @@ release.
|
||||
|
||||
* New page link aliasing syntax (Obsidian compatible) is here: `[[page link|alias]]` e.g. [[CHANGELOG|this is a link to this changelog]]. Also supported for command links: `{[Plugs: Add|add a plug]}`
|
||||
* Less "floppy" behavior when clicking links (regular, wiki and command): just navigates there right away. Note: use `Alt-click` to move the cursor inside of a link.
|
||||
* Page reference to non-existing pages are now higlighted in a (red-ish) color
|
||||
* Page references to non-existing pages are now highlighted in a (red-ish) color
|
||||
* Added `invokeFunction` `silverbullet` CLI sub-command to run arbitrary plug functions from the CLI.
|
||||
* Restyled #tags
|
||||
* When tasks are indexed, the hashtag is now no longer removed from the task text
|
||||
@ -49,7 +49,7 @@ release.
|
||||
|
||||
## 0.1.4
|
||||
|
||||
* Breaking change (for those who used it): the named anchor syntax has changed from `@anchorname` to `$anchorname`. This is to avoid conflicts with potentialy future use of `@` for other purposes (like mentioning people). Linking to an anchor still uses the `[[page@anchorname]]` syntax. So, you create an anchor $likethis you can then reference it [[@likethis]].
|
||||
* Breaking change (for those who used it): the named anchor syntax has changed from `@anchorname` to `$anchorname`. This is to avoid conflicts with potential future use of `@` for other purposes (like mentioning people). Linking to an anchor still uses the `[[page@anchorname]]` syntax. So, you create an anchor $likethis you can then reference it [[@likethis]].
|
||||
* The `query` plug has been renamed to `directive` (because it supports many other features now) and significantly refactored. New docs: [[🔌 Directive]]
|
||||
* New directive `#eval` see [[🔌 Directive@eval]]
|
||||
* New PlugOS feature: redirecting function calls. Instead of specifying a `path` for a function, you can now specify `redirect` pointing to another function name, either in the same plug using the `plugName.functionName` syntax.
|
||||
@ -69,21 +69,21 @@ release.
|
||||
* Silver Bullet now runs on Windows!
|
||||
* Frontmatter support! You can now use front matter in your markdown, to do this
|
||||
start your page with `---` and end it with `---`. This will now be the
|
||||
preferred way to define page meta data (although the old way will still work).
|
||||
preferred way to define page metadata (although the old way will still work).
|
||||
The old `/meta` slash command has now been replaced with `/front-matter`.
|
||||
* Tags are now indexed as page meta without the prefixing `#` character, the
|
||||
reason is to make this compatible with Obsidian. You can now attach tags to
|
||||
your page either by just using a `#tag` at the top level of your page, or by
|
||||
adding a `tags` attribute to your front matter.
|
||||
* {[Search Space]} works again. You may have to {[Space: Reindex]} to get
|
||||
results. Search results now also snow a snippet of the page, with the phrase
|
||||
results. Search results now also show a snippet of the page, with the phrase
|
||||
highlighted.
|
||||
* Faster page indexing.
|
||||
* `silverbullet` now has sub-commands. It defaults to just running the server
|
||||
(when passed a path to a directory), but you can also run
|
||||
`silverbullet --help` to see the available commands. Commands currently
|
||||
available:
|
||||
* `silverbullet upgrade` to perform a self upgrade
|
||||
* `silverbullet upgrade` to perform a self-upgrade
|
||||
* `silverbullet fix` to attempt to solve any issues with your space (deletes
|
||||
your `_plug` directory and `data.db` file)
|
||||
* `silverbullet plug:compile` replaces the old `plugos-bundle` command.
|
||||
@ -95,7 +95,7 @@ release.
|
||||
|
||||
* Breaking plugs API change: `readPage`, `readAttachment`, `readFile` now return
|
||||
the read data object directly, without it being wrapped with a text object.
|
||||
* A whole bunch of deprecated syscalls have been removed
|
||||
* A whole bunch of deprecated syscalls has been removed
|
||||
|
||||
---
|
||||
|
||||
@ -108,15 +108,15 @@ release.
|
||||
`rm -rf pages/_plug`.
|
||||
* Delete your `data.db`
|
||||
* Changes:
|
||||
* `PLUGS` is now longer required
|
||||
* `PLUGS` is no longer required
|
||||
* `PLUGS` no longer supports `builtin:` plug URLs, all builtins are
|
||||
automatically loaded and no longer should be listed.
|
||||
* Plugs no longer should be built with node and npm, PRs will be issued to all
|
||||
existing plugs later to help with this transition.
|
||||
* Know breakages:
|
||||
* Full text search is not yet implemented (the SQLite used does not support it
|
||||
* Full-text search is not yet implemented (the SQLite used does not support it
|
||||
right now)
|
||||
* Github auth has not been ported (yet)
|
||||
* GitHub auth has not been ported (yet)
|
||||
* Technical changes:
|
||||
* Server runs on Deno (and Oak instead of Express)
|
||||
* Client is now built with ESBuild
|
||||
@ -131,9 +131,9 @@ release.
|
||||
* Big refactor of the internal Space API unifying attachment and page handling.
|
||||
This shouldn't affect (most) existing code and plugs (except some more exotic
|
||||
areas), but if stuff breaks, please report it.
|
||||
* Technical change: Upgrades are now detected on the server-side, and plugs
|
||||
* Technical change: Upgrades are now detected on the server side, and plugs
|
||||
re-loaded and pages indexed upon every upgrade.
|
||||
* Various bug fixes (e.g. using HTML tags in a page before completely broke
|
||||
* Various bug fixes (e.g. using HTML tags on a page before completely broke
|
||||
syntax highlighting)
|
||||
* Exposed `fulltext.*` syscalls on the client
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
Frontmatter is a common format to attach additional meta data (data about data) to markdown documents.
|
||||
Frontmatter is a common format to attach additional metadata (data about data) to markdown documents.
|
||||
|
||||
You create it by starting your markdown document with `---` followed by [[YAML]] encoded attributes and then ending with `---` again. Followed by the regular body of your document.
|
||||
|
||||
|
@ -5,7 +5,7 @@ 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](https://web.dev/progressive-web-apps/).
|
||||
* Provides a 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.
|
||||
* 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.
|
||||
* 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 or `Ctrl-k` on Linux and Windows).
|
||||
@ -14,11 +14,11 @@ Let’s have a look at some of its features.
|
||||
* 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_.
|
||||
* Experimental [[🔌 Collab|real-time collaboration support]].
|
||||
* 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.
|
||||
* **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](https://github.com/silverbulletmd/silverbullet) software.
|
||||
|
||||
![Screencast screenshot](demo-video-screenshot.png)
|
||||
To get a good feel of what Silver Bullet is capable of, [have a look at at this introduction video](https://youtu.be/VemS-cqAD5k).
|
||||
To get a good feel of what Silver Bullet is capable of, [have a look at this introduction video](https://youtu.be/VemS-cqAD5k).
|
||||
|
||||
## Try it
|
||||
Here’s the kicker:
|
||||
@ -70,7 +70,7 @@ There are a few features you don’t get to fully experience in this environment
|
||||
|
||||
* Any edits you make and pages you add aren’t saved (kind of useful).
|
||||
* [[🔌 Directive|Directives]] 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**.
|
||||
* **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
|
||||
@ -103,7 +103,7 @@ To run Silver Bullet, create a folder for your pages (it can be empty, or be an
|
||||
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:mypassword`).
|
||||
By default, Silver Bullet will bind to port `3000`, to use a different port use 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:mypassword`).
|
||||
|
||||
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 ).
|
||||
|
||||
|
@ -16,22 +16,22 @@ Some example use cases:
|
||||
* Sharing a meeting agenda or meeting notes
|
||||
* Writing or editing an article with others
|
||||
|
||||
The collab plug allows you to share individual pages. All collaborators will keep their own local copy on disk (which they can backup, and you probably should), but the “source of truth” moves to a central collaboration server. There is one deployed at `wss://collab.silverbullet.md`, but you can also run your own, see [[@deploy|the instructions below]]. The collab plugin leverages SB’s [[🔌 Share]] infrastructure.
|
||||
The collab plug allows you to share individual pages. All collaborators will keep their own local copy on disk (which they can back up, and you probably should), but the “source of truth” moves to a central collaboration server. There is one deployed at `wss://collab.silverbullet.md`, but you can also run your own, see [[@deploy|the instructions below]]. The collab plugin leverages SB’s [[🔌 Share]] infrastructure.
|
||||
|
||||
To use it:
|
||||
|
||||
1. Open a page you would like to collaborate on
|
||||
2. Run the {[Share: Collab]} command and select the collab server to use (an open one runs at `wss://collab.silverbullet.md`)
|
||||
3. Copy & paste the `collab:...` URI that is injected into the `$share` [[Frontmatter]] and send it to a collaborator **or** if your collaborator is not (yet) a Silver Bullet user, you can use the silverbullet.md website (which is an SB instance) directly via the `https://silverbullet.md/collab:...` URL scheme.
|
||||
3. Copy & paste the `collab:...` URI that is injected into the `$share` [[Frontmatter]] and send to a collaborator **or** if your collaborator is not (yet) a Silver Bullet user, you can use the silverbullet.md website (which is an SB instance) directly via the `https://silverbullet.md/collab:...` URL scheme.
|
||||
4. If your collaborator is an SB user, have them use the {[Share: Join Collab]} command, or directly open the `collab:...` URI as a page in Silver Bullet (both do the same).
|
||||
5. If the collaborator wants to keep a persistent copy of the page collaborated page, they can simply _rename_ the page to something not prefixed with `collab:`. Everything will keep working for as long as the `collab:` will appear in the `$share` attribute of [[Frontmatter]]
|
||||
|
||||
## How it works
|
||||
The Collab plug uses Yjs for real-time collaboration via a websocket. A random ID is assigned to every shared page, and a copy of this page (as well as its history) will be stored on the collaboration server. Therefore, be cautious about what you share, especially when using a public collab server like `collab.silverbullet.md`. For “production use” we recommend deploying your own collab server.
|
||||
The Collab plug uses Yjs for real-time collaboration via a WebSocket. A random ID is assigned to every shared page, and a copy of this page (as well as its history) will be stored on the collaboration server. Therefore, be cautious about what you share, especially when using a public collab server like `collab.silverbullet.md`. For “production use” we recommend deploying your own collab server.
|
||||
|
||||
## Deploying your own collab server
|
||||
$deploy
|
||||
A detailed description of how to deploy your own collab server, [can be found here](https://github.com/yjs/y-websocket). The short version is:
|
||||
A detailed description of how to deploy your own collab server [can be found here](https://github.com/yjs/y-websocket). The short version is:
|
||||
|
||||
```shell
|
||||
HOST=0.0.0.0 PORT=1337 YPERSISTENCE=./store npx y-websocket
|
||||
|
@ -1,4 +1,4 @@
|
||||
Silver Bullet has a generic indexing infrastructure. Pages are reindexed upon save, so about every second. Manual reindexing can be done running the {[Space: Reindex]} command.
|
||||
Silver Bullet has a generic indexing infrastructure. Pages are reindexed upon saving, so about every second. Manual reindexing can be done running the {[Space: Reindex]} command.
|
||||
|
||||
The [[🔌 Core]] plug indexes the following:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user