Docs overhaul
parent
6510f06e0e
commit
b501b51a56
|
@ -0,0 +1,42 @@
|
|||
Attributes can contribute additional [[Metadata]] to various entities:
|
||||
|
||||
* Pages
|
||||
* Items
|
||||
* Tasks
|
||||
|
||||
## Syntax
|
||||
The syntax for attributes in inspired by [Obsidian’s Dataview](https://blacksmithgu.github.io/obsidian-dataview/annotation/add-metadata/) plugin, as well as [LogSeq](https://logseq.com/)‘s:
|
||||
|
||||
```
|
||||
[attributeName:: value]
|
||||
```
|
||||
|
||||
Attribute names need to be alphanumeric. Values are interpreted as text by default, unless they take the shape of a number, in which case they’re parsed as a number.
|
||||
|
||||
Multiple attributes can be attached to a single entity, e.g. like so:
|
||||
|
||||
* Some item [attribute1:: sup][attribute2:: 22]
|
||||
|
||||
And queried like so:
|
||||
|
||||
<!-- #query item where page = "Attributes" and name =~ /Some item/ -->
|
||||
|name |attribute1|attribute2|page |pos|
|
||||
|---------|---|--|----------|---|
|
||||
|Some item|sup|22|Attributes|569|
|
||||
<!-- /query -->
|
||||
|
||||
|
||||
## Scope
|
||||
Depending on where these attributes appear, they attach to different things. For instance here:
|
||||
|
||||
[pageAttribute:: hello]
|
||||
|
||||
The attribute attaches to a page, whereas
|
||||
|
||||
* Item [itemAttribute:: hello]
|
||||
|
||||
it attaches to an item, and finally:
|
||||
|
||||
* [ ] Task [taskAttribute:: hello]
|
||||
|
||||
Here it attaches to a task.
|
|
@ -6,11 +6,13 @@ release.
|
|||
## Next
|
||||
* [Mobile view improvements](https://github.com/silverbulletmd/silverbullet/pull/452) for tables and directives (vertical spacing) by [vuau](https://github.com/vuau)
|
||||
* Internal work on [color theming](https://github.com/silverbulletmd/silverbullet/pull/455) by [TheLD6978](https://github.com/TheLD6978)
|
||||
* **Bug fix**: Renaming of pages now works again on iOS
|
||||
* Re-implemented fuzzy search in the page picker, command palette etc. with [Fuse.js](https://www.fusejs.io/) — let’s see if people like this better.
|
||||
* Backlinks (as queried via the `link` data source) now contains richer data, namely `inDirective` (if the link appears in the context of a directive) and `alias` (if the backlink has an alias name). This also fixes not updating page references inside directives. This introduced a backwards incompatible data. To update your indexes, please run {[Space: Reindex]} on your clients (once).
|
||||
* Initial work on [[Attributes]] (inline [[Metadata]]) such as this [importance:: high]
|
||||
* Added {[Debug: Reset Client]} command that flushes the local databases and caches (and service worker) for debugging purposes.
|
||||
* Added {[Editor: Center Cursor]} command.
|
||||
* New template helper `replaceRegexp`, see [[🔌 Core/Templates@vars]]
|
||||
* **Bug fix**: Renaming of pages now works again on iOS
|
||||
* Big internal code refactor
|
||||
|
||||
---
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
Frontmatter is a common format to attach additional metadata (data about data) to markdown documents.
|
||||
|
||||
In SilverBullet there are multiple ways to attach [[Metadata]] to a page, frontmatter is one of them.
|
||||
|
||||
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.
|
||||
|
||||
Here is an example:
|
||||
|
|
|
@ -134,7 +134,7 @@ You will need three things:
|
|||
* A debit/credit card 💳.
|
||||
* A domain name (you can buy it on [Njalla](https://njal.la/) 😉, your real name will not be shown if someone uses whois tools).
|
||||
|
||||
We assume you've already [signed up to Cloudflare](https://www.cloudflare.com/), if not you can go and do it now, it's free but you'll need to add a real debit/credit card to have access to the tunnels and zero access. If you don't want to do that, you can use **alternatives** like [Caddy](https://caddyserver.com/docs/quick-starts/reverse-proxy) or [Nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) for reverse proxy and [Authelia](https://www.authelia.com/) or you can use the [BasicAuth build-in](https://silverbullet.md/Authentication) for authentication.
|
||||
We assume you've already [signed up to Cloudflare](https://www.cloudflare.com/), if not you can go and do it now, it's free but you'll need to add a real debit/credit card to have access to the tunnels and zero access. If you don't want to do that, you can use **alternatives** like [Caddy](https://caddyserver.com/docs/quick-starts/reverse-proxy) or [Nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) for reverse proxy and [Authelia](https://www.authelia.com/) or you can use the [basic authentication built-in](https://silverbullet.md/Authentication) for authentication.
|
||||
|
||||
## Add your Site/Domain Name to Cloudflare
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ You have two options to install and run SilverBullet as a server:
|
|||
In either case, check the notes [[@tls|on using TLS]].
|
||||
|
||||
## Installation via Deno
|
||||
$deno
|
||||
This consists of two steps (unless Deno is already installed — in which case we’re down to one):
|
||||
|
||||
1. [Install Deno](https://deno.land/manual/getting_started/installation) (if you’re using a Raspberry Pi, follow [[Raspberry Pi Installation]]-specific instructions)
|
||||
|
@ -46,8 +47,15 @@ silverbullet upgrade
|
|||
And restart SilverBullet. You should be good to go.
|
||||
|
||||
## Installing SilverBullet with Docker
|
||||
$docker
|
||||
There is a [docker image on docker hub](https://hub.docker.com/r/zefhemel/silverbullet). The image comes in two flavors:
|
||||
|
||||
There is a [docker image on docker hub](https://hub.docker.com/r/zefhemel/silverbullet). To use it, first create a volume to keep your space (markdown) files:
|
||||
* 64-bit Intel
|
||||
* 64-bit ARM (e.g. for Raspberry Pis and Macs)
|
||||
|
||||
There is no 32-bit version of Deno, and therefore we cannot offer a 32-bit version of SilverBullet either.
|
||||
|
||||
To use the docker container, first create a volume to keep your space (markdown) files:
|
||||
|
||||
```shell
|
||||
docker volume create myspace
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
A full manual is still missing, but this is an attempt to give pointers on topics you may be interested in.
|
||||
|
||||
## Keeping up-to-date
|
||||
* [[CHANGELOG]]: what’s new in SilverBullet
|
||||
|
||||
## Installation and deployment
|
||||
* [[Install]]
|
||||
* [[Deployments]]: various deployment options
|
||||
* [[Install/Deno Deploy|Deploying on Deno Deploy with S3]] (experimental)
|
||||
* [[Authelia]]: configuring SilverBullet with [Authelia](https://www.authelia.com/) authentication.
|
||||
* [[Guide/Deployment/Cloudflare and Portainer]]: configuring SilverBullet with a Cloudflare tunnel, portainer and optionall Cloudflare zero trust authentication.
|
||||
|
||||
## Usage
|
||||
* [[Markdown]]
|
||||
* [[Markdown/Syntax Highlighting]]
|
||||
* [[Markdown/Code Widgets]]
|
||||
* [[Metadata]]
|
||||
* [[Frontmatter]]
|
||||
* [[Attributes]]
|
||||
* [[🔌 Directive|Directives]]
|
||||
* [[🔌 Directive/Query]]
|
||||
* [[SETTINGS]]: A few settings you can tweak
|
|
@ -0,0 +1,29 @@
|
|||
Metadata is data about data. There are a few entities you can add meta data to:
|
||||
|
||||
* **page**: Pages have a default set of meta data built-in, but this can be expanded through mechanisms described below. The available metadata for a page is:
|
||||
* `name`: The full name of the page
|
||||
* `lastModified`: a timestamp (in ms since 1970-01-01) of when the page was last modified
|
||||
* `perm`: either `ro` (read-only) or `rw`: this determines whether the editor opens in read-write or read-only mode.
|
||||
* `contentType`: for pages always `text/markdown`
|
||||
* `size`: the size of the file in bytes
|
||||
* `tags`: A list of tags used in the top-level of the page (if any)
|
||||
* **item**: Every list item appearing in a numbered, or unordered list is indexed and contains the following default set of metadata:
|
||||
* `name`: The full content of the item minus attributes (see later)
|
||||
* `page`: The page the item appears in
|
||||
* `pos`: The offset (number of characters from the beginning of the page) where the item starts
|
||||
* `tags`: A list of tags used in the item (if any)
|
||||
* **task**: Every task defined in the space using the `* [ ] Task name` syntax
|
||||
* `name`: The full task name/description
|
||||
* `done`: Whether the task has been marked as done
|
||||
* `page`: The page where the task appears
|
||||
* `pos`: The offset (number of characters from the beginning of the page) where the item starts
|
||||
* `tags`: A list of tags used in the task (if any)
|
||||
* **tag**: Every tag used in the space
|
||||
* `name`: The name of the tag (without `#`)
|
||||
* `freq`: The frequency of the use of the tag
|
||||
|
||||
In addition, this metadata can be augmented in a few additional ways:
|
||||
|
||||
* [[🔌 Core/Tags]]: adds to the `tags` attribute
|
||||
* [[Frontmatter]]: at the top of pages, a [[YAML]] encoded block can be used to define additional attributes to a page
|
||||
* [[Attributes]]
|
|
@ -1,45 +0,0 @@
|
|||
There are currently no official 64-bit ARM Linux builds available of [Deno](https://deno.land/). However, there are [unofficial ones](https://github.com/LukeChannings/deno-arm64). Here’s how to set that up.
|
||||
|
||||
> **Note** Compatibility note
|
||||
> This only works on **64-bit** versions of Linux. 32-bit is currently unsupported by Deno.
|
||||
|
||||
For the record, this was tested on a 64-bit Ubuntu server install on a Raspberry Pi 4. But it should work on any 64-bit Linux.
|
||||
|
||||
## Installing Deno
|
||||
```shell
|
||||
# Make sure you have unzip installed
|
||||
$ apt install unzip
|
||||
# Download a recent Deno build
|
||||
$ wget https://github.com/LukeChannings/deno-arm64/releases/download/v1.29.1/deno-linux-arm64.zip
|
||||
# Deno will use this directory for other binaries, so let's put Deno there too
|
||||
$ mkdir -p ~/.deno/bin
|
||||
$ cd ~/.deno/bin
|
||||
$ unzip ~/deno-linux-arm64.zip
|
||||
```
|
||||
|
||||
That’s it. You should now be able to run `~/.deno/bin/deno` just fine.
|
||||
|
||||
Add `~/.deno/bin` to PATH, e.g. in `~/.bashrc` add:
|
||||
|
||||
```
|
||||
export PATH=$PATH:~/.deno/bin
|
||||
```
|
||||
|
||||
Then to verify:
|
||||
|
||||
```shell
|
||||
$ source ~/.bashrc
|
||||
$ deno -V
|
||||
```
|
||||
|
||||
Then, just follow the standard [[SilverBullet]] installation instructions:
|
||||
|
||||
```shell
|
||||
$ deno install -f --name silverbullet -A --unstable https://get.silverbullet.md
|
||||
$ mkdir ~/Notes
|
||||
$ silverbullet ~/Notes --hostname 0.0.0.0
|
||||
```
|
||||
|
||||
And access it on `http://ip-of-pi:3000`
|
||||
|
||||
Have fun!
|
|
@ -28,8 +28,4 @@ spaceIgnore: |
|
|||
dist
|
||||
largefolder
|
||||
*.mp4
|
||||
|
||||
# Federation
|
||||
#federate:
|
||||
#- someserver
|
||||
```
|
||||
|
|
|
@ -2,7 +2,7 @@ SilverBullet is an extensible, [open source](https://github.com/silverbulletmd/s
|
|||
|
||||
You’ve been told there is _no such thing_ as a [silver bullet](https://en.wikipedia.org/wiki/Silver_bullet). You were told wrong.
|
||||
|
||||
Before we get to the nitty gritty, some _quick links_ for the impatient reader: [[Install]], [[CHANGELOG]], [Roadmap](https://github.com/orgs/silverbulletmd/projects/2/views/1), [Issues](https://github.com/silverbulletmd/silverbullet/issues), [Discussions](https://github.com/silverbulletmd/silverbullet/discussions), [Mastodon](https://hachyderm.io/@silverbullet), [Discord](https://discord.gg/EvXbFucTxn), [Docker Hub](https://hub.docker.com/r/zefhemel/silverbullet).
|
||||
Before we get to the nitty gritty, some _quick links_ for the impatient reader: [[Install]], [[Manual]], [[CHANGELOG]], [Roadmap](https://github.com/orgs/silverbulletmd/projects/2/views/1), [Issues](https://github.com/silverbulletmd/silverbullet/issues), [Discussions](https://github.com/silverbulletmd/silverbullet/discussions), [Mastodon](https://hachyderm.io/@silverbullet), [Discord](https://discord.gg/EvXbFucTxn), [Docker Hub](https://hub.docker.com/r/zefhemel/silverbullet).
|
||||
|
||||
Now that we got that out of the way let’s have a look at some of SilverBullet’s features.
|
||||
|
||||
|
@ -75,13 +75,7 @@ rating: 5
|
|||
Has your mind been sufficiently blown to commit to an install? Took you long enough, alright then. Please proceed to the [[Install]] and enjoy!
|
||||
|
||||
## Where to go from here
|
||||
Click on the links below to explore various aspects of SilverBullet more in-depth:
|
||||
|
||||
* [[CHANGELOG]]: What’s new?
|
||||
* [[🔌 Plugs]]: extensions available for, and as part of SilverBullet
|
||||
* [[SETTINGS]]: What settings exist and how to change them
|
||||
* [[Special Pages]]: a few page names in Silver Bullet have special meaning
|
||||
* [[🔨 Development]]: how to start hacking on SilverBullet itself
|
||||
Have a lock at our work-in-progress [[Manual]].
|
||||
|
||||
## 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).
|
||||
|
|
Loading…
Reference in New Issue