From 2ac30edb2ffea69dda71cf12b9ddd1bc019ffb0f Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Thu, 17 Apr 2025 11:55:09 +0200 Subject: [PATCH] Update configuration documentation and remove deprecated templates - Enhanced the `Config.md` documentation to clarify built-in configuration options and the use of the `config.set` API. - Removed outdated `Page Template.md` and `Slash Template.md` files to streamline documentation and avoid confusion. - Updated references in various documentation files to reflect the removal of deprecated templates and ensure consistency across the site. --- Library/Std/Config.md | 5 +- .../{Page Template.md => Page Templates.md} | 6 ++ .../{Slash Template.md => Slash Templates.md} | 8 ++- common/PAGE_TEMPLATES.ts | 5 +- plugs/editor/complete.ts | 4 +- website/API/{code_widget.md => codeWidget.md} | 0 website/API/slashcommand.md | 2 +- website/All Pages Picker.md | 2 +- website/Attributes.md | 32 ++++++---- website/Authentication.md | 6 +- website/CONFIG.md | 5 +- website/Commands.md | 15 +---- website/Development.md | 2 +- website/Document Editor.md | 2 +- website/Documents.md | 6 +- website/End-User Programming.md | 5 +- website/Frontmatter.md | 2 +- website/Full Text Search.md | 2 +- website/Getting Started.md | 58 ----------------- website/Install/Configuration.md | 2 +- website/Install/Local.md | 11 ---- website/Keyboard Shortcuts.md | 10 --- website/Libraries.md | 64 ++----------------- website/Linked Tasks.md | 2 +- website/Links.md | 3 - website/Local First.md | 5 +- website/Lua Widgets.md | 1 - website/Lua.md | 2 +- website/Manual.md | 16 ++--- website/Markdown/Code Widgets.md | 11 ---- .../Fenced Code Blocks.md} | 6 +- website/Markdown/Hashtags.md | 2 - website/Meta Pages.md | 2 +- website/Migrate from v1.md | 4 +- website/Objects.md | 16 +++-- website/Outlines.md | 18 +++--- website/Page Decorations.md | 38 +---------- website/Page Picker.md | 8 +-- website/Page Templates.md | 48 +------------- website/Person/John.md | 11 ++++ website/PlugOS.md | 35 ---------- website/Plugs.md | 16 ++--- website/Plugs/AI.md | 10 --- website/Plugs/Editor.md | 46 ------------- website/Plugs/Emoji.md | 6 -- website/Plugs/Ghost.md | 11 ---- website/Plugs/Git.md | 10 --- website/Plugs/Github.md | 11 ---- website/Plugs/Grep.md | 9 --- website/Plugs/KaTeX.md | 11 ---- website/Plugs/Kanban.md | 10 --- website/Plugs/Markdown.md | 6 -- website/Plugs/Mermaid.md | 16 ----- website/Plugs/Share.md | 22 ------- website/Plugs/TreeView.md | 9 --- website/Shortcuts.md | 4 +- website/Slash Commands.md | 2 +- website/Space Style.md | 4 +- website/Special Pages.md | 5 +- website/Sync.md | 41 ------------ website/Tasks.md | 12 ++++ website/VIMRC.md | 2 +- website/Vim.md | 3 +- website/YAML.md | 4 +- 64 files changed, 149 insertions(+), 603 deletions(-) rename Library/Std/{Page Template.md => Page Templates.md} (97%) rename Library/Std/{Slash Template.md => Slash Templates.md} (89%) rename website/API/{code_widget.md => codeWidget.md} (100%) delete mode 100644 website/Getting Started.md delete mode 100644 website/Install/Local.md delete mode 100644 website/Keyboard Shortcuts.md delete mode 100644 website/Lua Widgets.md delete mode 100644 website/Markdown/Code Widgets.md rename website/{Blocks.md => Markdown/Fenced Code Blocks.md} (72%) create mode 100644 website/Person/John.md delete mode 100644 website/PlugOS.md delete mode 100644 website/Plugs/AI.md delete mode 100644 website/Plugs/Editor.md delete mode 100644 website/Plugs/Emoji.md delete mode 100644 website/Plugs/Ghost.md delete mode 100644 website/Plugs/Git.md delete mode 100644 website/Plugs/Github.md delete mode 100644 website/Plugs/Grep.md delete mode 100644 website/Plugs/KaTeX.md delete mode 100644 website/Plugs/Kanban.md delete mode 100644 website/Plugs/Markdown.md delete mode 100644 website/Plugs/Mermaid.md delete mode 100644 website/Plugs/Share.md delete mode 100644 website/Plugs/TreeView.md delete mode 100644 website/Sync.md create mode 100644 website/Tasks.md diff --git a/Library/Std/Config.md b/Library/Std/Config.md index 16bb6141..0c55dbfc 100644 --- a/Library/Std/Config.md +++ b/Library/Std/Config.md @@ -1,6 +1,9 @@ #meta -This defines the [JSON schema](https://json-schema.org/) for built-in settings. +SilverBullet's configuration can be tweaked using the `config.set` [[Space Lua]] API. This page defines all built-in configurations available. Individual [[Plugs]] and [[Space Lua]] scripts may define their own. + +# Built-in options +This defines the [JSON schema](https://json-schema.org/) for built-in configuration. ```space-lua -- priority: 100 diff --git a/Library/Std/Page Template.md b/Library/Std/Page Templates.md similarity index 97% rename from Library/Std/Page Template.md rename to Library/Std/Page Templates.md index fa07c8bf..5dbc00e0 100644 --- a/Library/Std/Page Template.md +++ b/Library/Std/Page Templates.md @@ -36,6 +36,12 @@ tags: meta/template/page * |^| ~~~ +# Currently active page templates +${template.each(query[[ + from index.tag "meta/template/page" + where _.tag == "page" +]], templates.fullPageItem)} + # Instantiating page templates You can create a page based on a page template via the ${widgets.commandButton("Page: From Template")} command, or via the command name that you defined in your template’s frontmatter. diff --git a/Library/Std/Slash Template.md b/Library/Std/Slash Templates.md similarity index 89% rename from Library/Std/Slash Template.md rename to Library/Std/Slash Templates.md index 97966954..2f666a38 100644 --- a/Library/Std/Slash Template.md +++ b/Library/Std/Slash Templates.md @@ -14,9 +14,11 @@ Optional keys: * `onlyContexts` (advanced): To only make the slash command appear in certain (AST node based) contexts * `exceptContexts` (advanced): To make the slash command appear everywhere _except_ in these (AST node) contexts -# Examples -* [[^Library/Std/Slash Templates/hr]] -* [[^Library/Std/Slash Templates/space-lua]] +# Currently active slash templates +${template.each(query[[ + from index.tag "meta/template/slash" + where _.tag == "page" +]], templates.fullPageItem)} # Implementation ```space-lua diff --git a/common/PAGE_TEMPLATES.ts b/common/PAGE_TEMPLATES.ts index 156e8627..f06cb0e2 100644 --- a/common/PAGE_TEMPLATES.ts +++ b/common/PAGE_TEMPLATES.ts @@ -31,9 +31,8 @@ Then we’ll talk. # What next? You find more information on SilverBullet’s feature set on its [official website](https://v2.silverbullet.md/). Also be sure to join the [SilverBullet community](https://community.silverbullet.md/) to interact with fellow SilverBullet explorers.`; -export const CONFIG_TEMPLATE = `#meta - -This is where you configure SilverBullet to your liking. See [[^Library/Std/Config]] for a full list of configuration options. +export const CONFIG_TEMPLATE = + `This is where you configure SilverBullet to your liking. See [[^Library/Std/Config]] for a full list of configuration options. \`\`\`space-lua config.set { diff --git a/plugs/editor/complete.ts b/plugs/editor/complete.ts index a011854f..e7a2b3c8 100644 --- a/plugs/editor/complete.ts +++ b/plugs/editor/complete.ts @@ -27,7 +27,9 @@ export async function pageComplete(completeEvent: CompleteEvent) { }; // Try to match [[wikilink]] let isWikilink = true; - let match = /\[\[([^\]@$#:\{}]*)$/.exec(completeEvent.linePrefix); + // This negative lookbehind is to prevent matching query[[. This requires negative lookbehind, which generally supported now (it seems), in versions of iOS Safari 13.1 and later + // https://caniuse.com/js-regexp-lookbehind + let match = /(? Local first is a set of principles for software that enables both collaboration *and* ownership for users. Local-first ideals include the ability to work offline and collaborate across multiple devices, while also improving the security, privacy, long-term preservation, and user control of data. + diff --git a/website/Lua Widgets.md b/website/Lua Widgets.md deleted file mode 100644 index bfcb3869..00000000 --- a/website/Lua Widgets.md +++ /dev/null @@ -1 +0,0 @@ -Widgets implemented in [[Space Lua]] \ No newline at end of file diff --git a/website/Lua.md b/website/Lua.md index 106fb1e8..830fb058 100644 --- a/website/Lua.md +++ b/website/Lua.md @@ -1 +1 @@ -[Lua](https://www.lua.org/) is a programming language that SilverBullet uses. It contains a custom implementation of a dialect called [[Space Lua]] \ No newline at end of file +[Lua](https://www.lua.org/) is the preferred programming language that SilverBullet leverages to make it extensible. It contains a custom implementation of a dialect called [[Space Lua]]. \ No newline at end of file diff --git a/website/Manual.md b/website/Manual.md index 86a48437..0db739cd 100644 --- a/website/Manual.md +++ b/website/Manual.md @@ -30,7 +30,6 @@ These are the core concepts used in SilverBullet: * [[Page Name Rules]] * [[Folders]] * [[Documents]] -* [[Templates]] # Editing and Formatting * Content is written using [[Markdown]] and rendered using [[Live Preview]] @@ -38,7 +37,7 @@ These are the core concepts used in SilverBullet: * Markdown [[Markdown/Extensions]] * [[Links]] * [[Markdown/Admonitions]] - * [[Plugs/Tasks]] + * [[Tasks]] * [[Markdown/Syntax Highlighting]] * [[Markdown/Code Widgets]] * [[Slash Commands]] @@ -54,20 +53,21 @@ The main ways to roam your space, beside following page links, are: * [[Objects]] * [[Frontmatter]] * [[Attributes]] -* [[Live Queries]] -* [[Templates]] +* [[Space Lua]] * [[Libraries]] -* [[Federation]] -* [[Space Script]] & [[Space Style]] +* [[Space Style]] # Customization -* [[SETTINGS]] and [[Space Config]] +* [[^Library/Std/Config]] * [[Shortcuts]] * [[Page Decorations]] * [[Space Style]] # Extending SilverBullet -A lot of SilverBullet’s functionality is built as [[Plugs]] using the robust [[PlugOS]] extension mechanism. If you are adventurous you can try to build [[Plugs/Development|such plugs yourself]]. A lighter, but also powerful way to extend SilverBullet is through [[Space Script]]. +SilverBullet’s implementation is built on three things: +* The core is implemented as a TypeScript-based web app +* A lot of core functionality is implemented in [[Plugs]] using the [[PlugOS]] extension mechanism. +* An increasing amount of additional functionality is now being implemented in “native” [[Space Lua]]. # Contributing SilverBullet is free and open-source software. You can contribute to it [via Github](https://github.com/silverbulletmd/silverbullet). For some details on how to do this, have a look at [[Development]]. diff --git a/website/Markdown/Code Widgets.md b/website/Markdown/Code Widgets.md deleted file mode 100644 index ec1982b9..00000000 --- a/website/Markdown/Code Widgets.md +++ /dev/null @@ -1,11 +0,0 @@ -Code widgets are a SilverBullet-specific [[Markdown/Extensions|extension]] to [[Markdown]]. Technically, it’s not an extension — it just gives new meaning to markdown’s native fenced code blocks — code blocks that start with a triple backtick, specifying a programming language. - -Currently, SilverBullet provides a few code widgets out of the box: - -* `toc`: [[Table of Contents]] -* `query`: [[Live Queries]] -* `template`: [[Live Templates]] -* `embed` -* `markdown` - -In addition, plugs like [[Plugs/KaTeX]] and [[Plugs/Mermaid]] add additional ones. \ No newline at end of file diff --git a/website/Blocks.md b/website/Markdown/Fenced Code Blocks.md similarity index 72% rename from website/Blocks.md rename to website/Markdown/Fenced Code Blocks.md index e2d334d7..e91a19ac 100644 --- a/website/Blocks.md +++ b/website/Markdown/Fenced Code Blocks.md @@ -8,11 +8,7 @@ The general syntax is: These are the block types that ship with SilverBullet, but [[Plugs]] can define their own: -* `template`: [[Live Templates]] -* `query`: [[Live Queries]] -* `toc`: [[Table of Contents]] -* `embed`: [[Live Embeds]] -* `space-script`: [[Space Script]] +* `space-lua`: [[Space Lua]] * `space-style`: [[Space Style]] The fenced code block syntax is also used to get [[Markdown/Syntax Highlighting]] for numerous programming languages. \ No newline at end of file diff --git a/website/Markdown/Hashtags.md b/website/Markdown/Hashtags.md index 5d03e6a9..6dd26b20 100644 --- a/website/Markdown/Hashtags.md +++ b/website/Markdown/Hashtags.md @@ -1,5 +1,3 @@ -#level/beginner - These can be used in text to assign an [[Objects#tag]]. If hashtags are the only content of first paragraph, they are applied to the entire page. Hashtags can contain letters, dashes, underscores and other characters, but not: diff --git a/website/Meta Pages.md b/website/Meta Pages.md index a8a982bc..c44e90f1 100644 --- a/website/Meta Pages.md +++ b/website/Meta Pages.md @@ -1,6 +1,6 @@ Meta pages are pages not core to your content, but function as a way to configure, or extend your [[Spaces|space]]. You can think of them as “tooling” pages. -The most obvious example is [[CONFIG]], which is not really a page that you care about day-to-day, but only want to tweak when you’re working on your space as a tool. +The most obvious examples are part of SilverBullet’s [[^Library/Std]] library and include generally useful [[Library/Std/Slash Templatese]]s. [[Templates]] are other examples. If you use [[Space Script]] or [[Space Style]], you may want to put those on separate pages and tag them as `#meta` as well, so they don’t mingle with your main content. diff --git a/website/Migrate from v1.md b/website/Migrate from v1.md index 37194007..2f7ff688 100644 --- a/website/Migrate from v1.md +++ b/website/Migrate from v1.md @@ -31,9 +31,9 @@ event.listen { See [[^Library/Std/Widgets]] for some examples. -_Snippets_ can be implemented as follows: [[^Library/Std/Slash Template]]. +_Snippets_ can be implemented as follows: [[Library/Std/Slash Templatese]]. -_Page templates_ now work slightly differently: [[^Library/Std/Page Template]]. +_Page templates_ now work slightly differently: [[^Library/Std/Page Templates]]. # Plugs Many existing plugs _should_ keep working, but some may need updating. diff --git a/website/Objects.md b/website/Objects.md index afddd838..e6fd8a7d 100644 --- a/website/Objects.md +++ b/website/Objects.md @@ -13,8 +13,6 @@ In addition, many objects will also contain: * `tags`: an optional set of additional, explicitly assigned tags. * `itags`: a set of _implicit_ or _inherited_ tags: including the object’s `tag`, `tags` as well as any tags _assigned to its containing page_. This is useful to answer queries like, “give me all tasks on pages where that page is tagged with `person`“, which would be expressed as `task where itags = "person"` (although technically that would also match any tags that have the `#person` explicitly assigned). -In addition, an object’s attribute set can be dynamically extended using [[Object Decorators]]. - Beside these, any number of additional tag-specific and custom [[Attributes]] can be defined (see below). # Tags @@ -22,8 +20,12 @@ Every object has a main `tag`, which signifies the type of object being describe ## Styling You can add custom styles to a tag by leveraging the `data-tag-name` attribute, [CSS Attribute Selectors](https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors) and custom [[Space Style]]'s. Every tag gets an attribute added to it called `data-tag-name` that is set to the tag name with the `#` symbol stripped out. So given the tag #my-cool-tag the `data-tag-name` attribute would look like: - `data-tag-name="my-cool-tag"`. -This allows us to do things like change the color of the #my-cool-tag to have a purple background, limegreen text and bold font by adding the following [[Space Style]]: + + data-tag-name="my-cool-tag" + +This allows us to do things like change the color of the #my-cool-tag +to have a purple background, limegreen text and bold font by adding the following [[Space Style]]: + ```css .sb-hashtag[data-tag-name="my-cool-tag"] { background: purple; @@ -31,8 +33,11 @@ This allows us to do things like change the color of the #my-cool-tag to have a font-weight: bolder; } ``` + Additionally tags written using angle brackets, such as... - # + + # + ...can be styled via [[Space Style]] like this: ```css .sb-hashtag[data-tag-name="my cool tag"] { @@ -42,7 +47,6 @@ Additionally tags written using angle brackets, such as... } ``` - ## Built-in tags ### page diff --git a/website/Outlines.md b/website/Outlines.md index 957059c3..65d9a509 100644 --- a/website/Outlines.md +++ b/website/Outlines.md @@ -23,15 +23,15 @@ An outline is simply a (nested) bulleted list, for instance: SilverBullet offers a number of `Outline` commands to make manipulating such outlines easier, they are: -* {[Outline: Move Up]} (`Alt-ArrowUp`): moves the current item and its children up -* {[Outline: Move Down]} (`Alt-ArrowDown`): moves the current item and its children down -* {[Outline: Move Right]} (`Alt->`): indents the current item and its children one level deeper -* {[Outline: Move Left]}: (`Alt-<`): outdents the current item and its children one level higher +* `Outline: Move Up` (`Alt-ArrowUp`): moves the current item and its children up +* `Outline: Move Down` (`Alt-ArrowDown`): moves the current item and its children down +* `Outline: Move Right` (`Alt->`): indents the current item and its children one level deeper +* `Outline: Move Left` (`Alt-<`): outdents the current item and its children one level higher And for folding outlines: -* {[Outline: Fold]} (`Ctrl-Alt-[`): folds the current item’s children -* {[Outline: Unfold]} (`Ctrl-Alt-]`): unfolds the current item’s children -* {[Outline: Toggle Fold]} (`Ctrl-Shift-f`): toggles the current item’s fold state -* {[Outline: Fold All]} (`Ctrl-Alt-Shift-[`): folds all sections in the entire page -* {[Outline: Unfold All]} (`Ctrl-Alt-Shift-]`): unfolds all sections in the entire page +* `Outline: Fold` (`Ctrl-Alt-[`): folds the current item’s children +* `Outline: Unfold` (`Ctrl-Alt-]`): unfolds the current item’s children +* `Outline: Toggle Fold` (`Ctrl-Shift-f`): toggles the current item’s fold state +* `Outline: Fold All` (`Ctrl-Alt-Shift-[`): folds all sections in the entire page +* `Outline: Unfold All` (`Ctrl-Alt-Shift-]`): unfolds all sections in the entire page diff --git a/website/Page Decorations.md b/website/Page Decorations.md index 1d19c836..0e06f95c 100644 --- a/website/Page Decorations.md +++ b/website/Page Decorations.md @@ -5,8 +5,6 @@ pageDecoration: cssClasses: - christmas-decoration --- -#level/intermediate - Page decorations allow you to “decorate” pages in various fun ways. > **warning** Warning @@ -15,43 +13,11 @@ Page decorations allow you to “decorate” pages in various fun ways. # Supported decorations * `prefix`: A (visual) string prefix (often an emoji) to add to all page names. This prefix will appear in the top bar as well as in (live preview) links to this page. For example, the name of this page is actually “Page Decorations”, but when you link to it, you’ll see it’s prefixed with a 🎄: [[Page Decorations]] * `cssClasses`: (list of strings) Attaches one or more CSS classes the page's `` tag, wiki links, auto complete items and [[Page Picker]] entries for more advanced styling through a [[Space Style]] (see [[#Use case: pimp my page]] for an example). -* `hide` When this is set to `true`, the page will not be shown in [[Page Picker]], [[Meta Picker]], or suggested for completion of [[Links]]. It will otherwise behave as normal - will be [[Plugs/Index|indexed]] and found in [[Live Queries]]. The page can be opened through [[All Pages Picker]], or linked normally when the full name is typed out without completion. -* `disableTOC` (not technically built-in, but a feature of the [[^Library/Core/Widget/Table of Contents]] widget): disable the [[Table of Contents]] for this particular page. -* `renderWidgets`: when set to `false` disables the [[Live Preview]] rendering of elements like [[Transclusions]], [[Live Queries]], [[Live Templates]] for this page. +* `disableTOC` (not technically built-in, but a feature of the [[^Library/Std/Widgets|Table of Content]] widget): disable the TOC for this particular page. -There are two ways to apply decorations: - -# With [[Frontmatter]] directly +# Apply with [[Frontmatter]] This is demonstrated in the [[Frontmatter]] at the top of this page, by using the special `pageDecoration` attribute. This is how we get the fancy tree (🎄) in front of the page name. Sweet. -# With [[Object Decorators]] -The more useful/scalable way is to apply decorations to pages _dynamically_, for this we will leverage the more powerful [[Object Decorators]] feature. Read the [[Object Decorators]] page for a more in-depth explanation of how this feature works if you’re interested (as you should be, because it’s pretty cool on its own). - -For the purposes of [[Page Decorations]], let us limit simply to some useful examples. - -## Use case: plug page prefix -Here on silverbullet.md, we have a `prefix` decoration for pages tagged with `#plug`: [[Plugs/Emoji]] and [[Plugs/Git]] for instance. - -This is configured as follows: -```space-config -objectDecorators: -- where: 'tag = "page" and tags = "plug"' - attributes: - pageDecoration.prefix: "'🔌 '" -``` - -## Use case: disabling [[Table of Contents]] with a tag -Let’s say that adding `pageDecoration.disableTOC` to the front matter is too much effort to disable the TOC on some pages. Therefore, you would like to simplify this by simply adding a `#notoc` tag to your pages. - -You can do this as follows: - -```space-config -objectDecorators: -- where: 'tags = "notoc"' - attributes: - pageDecoration.disableTOC: "true" -``` - ## Use case: pimp my page Let’s say you feel you want to pimp up a specific page with some Christmas-level decoration, and prefixing it with a tree just doesn’t do it for you. The `cssClasses` decoration is saying: hold my beer. diff --git a/website/Page Picker.md b/website/Page Picker.md index b5d127c3..079123e5 100644 --- a/website/Page Picker.md +++ b/website/Page Picker.md @@ -12,9 +12,10 @@ The main input is the **filter phrase** and can be used to narrow down the list If the filter phrase contains `#tags` the results will be filtered based on matching those tags. > **note** Note -> [[Templates]], even though technically regular pages, do not appear in the page picker. To navigate to them, use the [[Meta Picker]] instead. +> Any page tagged with a tag starting with `#meta`, even though technically regular pages, will **not** appear in the page picker. To navigate to them, use the [[Meta Picker]] instead. -#ProTip To cycle between the three pickers [[Page Picker]], [[Meta Picker]] and [[All Pages Picker]], type `^` in the filter phrase box. +> **note** Pro-tip +> To cycle between the three pickers [[Page Picker]], [[Meta Picker]] and [[All Pages Picker]], type `^` in the filter phrase box. Pressing the `Enter` key will open/create the selected page. Pressing `Shift-Enter` will always open or create (if it doesn't already exist) the page _exactly matching_ the filter phrase. @@ -33,9 +34,6 @@ When entering a filter phrase, the best matches should appear closer to the top, * If the currently opened page is nested in a [[Folders|folder]], it will auto complete the current folder name in its place. * If the currently opened page name starts with an emoji, it will complete that emoji in its place. * Otherwise, it will complete the full page name of the currently open page. -* `Shift-Space`: auto complete folder from the highlighted page: - * If the currently highlighted page is nested in a [[Folders|folder]], it will auto complete its folder name - * Otherwise, it will auto complete that page name with a `/` added at the end * `ArrowUp`/`ArrowDown`: move up and down the highlighted page list * `PageUp`/`PageDown`: move up and down 5 entries in the page list in one go * `Home`: moves to the start of the list diff --git a/website/Page Templates.md b/website/Page Templates.md index 8941ebfa..e3a6c751 100644 --- a/website/Page Templates.md +++ b/website/Page Templates.md @@ -1,47 +1 @@ -#level/intermediate - -Page templates enable you to define templates for creating new pages. They can be invoked in a few ways: - -* Explicitly using the {[Page: From Template]} command -* Explicitly using a custom command configured in the template -* Implicitly when configured to be used automatically for a specific _page prefix_. - -A page template is a [[Templates|template]] using the `hooks.newPage` attribute (in [[Frontmatter]]). - -The following configuration options are supported: - -* `suggestedName`: the proposed name for the new page, can use template placeholders such as `{{today}}`. -* `confirmName`: Confirm the suggested page name before creating it (defaults to `true`). -* `openIfExists`: If a page with the `suggestedName` already exists, open it instead of overwriting it. This is useful to implement page templates like [[Library/Journal/New Page/Daily Note]]. -* `forPrefix`: automatically apply (or offer, when multiple page templates match) this page template for page names that start with this prefix. -* `command`: expose the snippet as a [[Commands|command]]. -* `key`: Bind the snippet to a keyboard shortcut (note: this requires to _also_ specify the `command` configuration). -* `mac`: Bind the snippet to a Mac-specific keyboard shortcut. - -An example: - - --- - tags: template - hooks.newPage: - suggestedName: "📕 " - forPrefix: "📕 " - --- - # {{@page.name}} - As recorded on {{today}}. - - ## Introduction - ## Notes - ## Conclusions - -When using the {[Page: From Template]} command and selecting this template, this will prompt you to pick a page name (defaulting to “📕 “), and then create the following page (on 2023-08-08) when you pick “📕 Harry Potter” as a page name: - - # 📕 Harry Potter - As recorded on 2022-08-08. - - ## Introduction - ## Notes - ## Conclusions - -In addition, this page template will be used automatically when you create _any_ new page starting with “📕 “ by navigating to a new page matching this prefix, such as “📕 Foundation”. - -As with any [[Templates|template]], the `frontmatter` can be used to define [[Frontmatter]] for the new page. \ No newline at end of file +![[^Library/Std/Page Templates]] \ No newline at end of file diff --git a/website/Person/John.md b/website/Person/John.md new file mode 100644 index 00000000..cbc427f7 --- /dev/null +++ b/website/Person/John.md @@ -0,0 +1,11 @@ +--- +firstName: John +lastName: Doe +location: America +tags: person +--- + +John Doe is a engineer living in the US. + +# Notable achievements +* None \ No newline at end of file diff --git a/website/PlugOS.md b/website/PlugOS.md deleted file mode 100644 index fb7237b0..00000000 --- a/website/PlugOS.md +++ /dev/null @@ -1,35 +0,0 @@ -So here’s a secret — [[SilverBullet]] is really just a Trojan horse to test a potentially much more widely applicable idea, the idea to _make applications extensible at different levels of its stack_ in a controlled manner. - -## Background -I’ve long appreciated the simplicity and flexibility of [AWS’s Lambda functions](https://aws.amazon.com/lambda/). The idea is simple: you write a function using some language (JavaScript, Python, Java or whatever floats your boat), package it up, and ship it to AWS (think: zip file). Then, you configure the triggers that invoke those functions (such as certain events), and that’s it. The rest is managed for you. - -The AWS infrastructure fully manages the lifecycle of these functions: it ensures there are sufficient servers ready to invoke them, runs the code, recycles the processes when appropriate, and kills them when they misbehave. All this machinery is completely hidden from the user. It is referred to as **serverless** because it abstracts away the concept of a server. - -Of course, this requires functions to be written in a specific way: - -* **Stateless:** while the runtime may keep functions running and reuse an instance to perform multiple invocations, functions have to be written without this assumption. Therefore any state needs to be maintained outside of the function. -* **Self contained:** they typically make limited assumptions on the environment other than a language runtime. -* **Short lived:** the assumption is that functions run for a limited amount of time, usually a few milliseconds, perhaps seconds, but a minute at most. - -While they can perform arbitrary computations, they do have constraints: - -1. They have to be stateless: while the runtime may keep functions running and reuse an instance to perform multiple invocations, they cannot assume this is the case. They have to assume that every invocation happens in a fresh environment. -2. They have limited access to the host machine, such as no direct access to a (persistent) file system. - -What can these functions do? In principle, anything, while being limited to access to the host. They generally cannot write to the host’s filesystem, for instance. They also tend to be constrained in allocated run time and memory. All communication with the outside world tends to happen - -Then, you configure when it should be triggered. - -This concept is not only interesting in terms of **scalability** — such a function can quickly scale to millions of invocations per second when necessary, and down to zero when that demand vanishes — but also in terms of **portability**. Couldn’t such functions conceptually run _everywhere_? And indeed, recently such functions have been moving to what’s called “the edge” as well, such as [Lambda@Edge](https://aws.amazon.com/lambda/edge/), [Vercel’s Edge Functions](https://vercel.com/blog/edge-functions-generally-available), or [Netlify’s Edge Functions](https://docs.netlify.com/edge-functions/overview/). What is the “edge” here? Generally, the closest data center these providers offer near the user. The goal? Lower latency. - -But is that as _edgy_ as we can get? What about the _real_ edge: the user’s device? - -## Introducing PlugOS -PlugOS is a JavaScript (TypeScript) library that brings these concepts to _applications_: allowing applications such as [[SilverBullet]] to be extended in a safe way, by allowing plugins — named “plugs” — to _hook_ into various aspects of the application, run custom code as a result, which in turn can affect the application again via _syscalls_. - -## Concepts -* _Functions_: are pieces of code, written in JavaScript or TypeScript, that add custom functionality to a hosting application. -* _Hooks_: are application-specific extension points. They can range from defining new commands to timer-based hooks (cron-like) to defining HTTP endpoints. -* _Syscalls_: expose (often) application-specific functionality to functions, allowing it to e.g. manipulate the UI, access various data stores, etc. -* _Manifests_: wire the whole thing together. They are [[YAML]] files that define the functions and what they hook into. -* _Sandbox_: each plug is run in its own sandbox. In the browser this is a [Web Worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API). On the server as well (although Deno enables [deeper sandboxing](https://deno.land/manual@v1.36.3/runtime/workers#instantiation-permissions) than the browser). Sandboxes can, in principle, be flushed out and restarted at any time. In fact, this is how _hot reloading_ of plugs is implemented. \ No newline at end of file diff --git a/website/Plugs.md b/website/Plugs.md index 948ea606..834eb247 100644 --- a/website/Plugs.md +++ b/website/Plugs.md @@ -1,6 +1,6 @@ -SilverBullet at its core is bare bones in terms of functionality, most of its power it gains from **plugs**. +SilverBullet at its core is bare bones in terms of functionality, most of its power it gains from **plugs** and [[Space Lua]]. -Plugs are an extension mechanism (implemented using a library called [[PlugOS]]) that runs “plug” code in the browser using [web workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers). +Plugs are an extension mechanism that runs “plug” code in the browser using [web workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers). Plugs can hook into SB in various ways: * Extend the Markdown parser and its syntax @@ -11,18 +11,10 @@ Plugs can hook into SB in various ways: 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 SilverBullet itself. -Plugs are distributed as self-contained JavaScript bundles (ending with `.plug.js`). SilverBullet will load all core plugs bundled with SB itself (listed below), as well as any additional plugs stored in the `_plug` folder in your [[Spaces|space]]. Typically, management of plugs in the `_plug` folder is done using [[Plug Management]]. +Plugs are distributed as self-contained JavaScript bundles (ending with `.plug.js`). SilverBullet will load all core plugs bundled with SB itself (listed below), as well as any additional plugs stored in the `_plug` folder in your [[Spaces|space]]. -# Core plugs -These plugs are distributed with SilverBullet and are automatically enabled: -```query -plug where uri = null order by name render [[internal-template/plug]] -``` # Third-party plugs -These plugs are written either by third parties or distributed separately from the main SB distribution. -```query -plug where uri != null order by name render [[internal-template/plug]] -``` +The [SilverBullet ‘Plugs’ category has a list of third-party plugs you can try](https://community.silverbullet.md/c/plugs/14). Want to develop your own plugs? Have a look at [[Plugs/Development]]. \ No newline at end of file diff --git a/website/Plugs/AI.md b/website/Plugs/AI.md deleted file mode 100644 index 25efd251..00000000 --- a/website/Plugs/AI.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -uri: github:justyns/silverbullet-ai/silverbullet-ai.plug.js -repo: https://github.com/justyns/silverbullet-ai -author: Justyn Shull -tags: plug ---- - -```template -{{[[!raw.githubusercontent.com/justyns/silverbullet-ai/main/README]]}} -``` diff --git a/website/Plugs/Editor.md b/website/Plugs/Editor.md deleted file mode 100644 index b729d792..00000000 --- a/website/Plugs/Editor.md +++ /dev/null @@ -1,46 +0,0 @@ -#plug - -The `editor` plug implements foundational editor functionality for SilverBullet. - -# Commands - -* {[Editor: Toggle Dark Mode]}: toggles dark mode -* {[Editor: Toggle Vim Mode]}: toggle vim mode, see: [[Vim]] -* {[Stats: Show]}: shows some stats about the current page (word count, reading time etc.) -* {[Help: Getting Started]}: Open getting started guide -* {[Help: Version]}: Show version number - -## Pages -* {[Page: New]}: Create a new (untitled) page. Note that usually you would create a new page simply by navigating to a page name that does not yet exist. -* {[Page: Delete]}: delete the current page -* {[Page: Copy]}: copy the current page - -## Navigation -* {[Navigate: Home]}: navigate to the home (index) page -* {[Navigate: To This Page]}: navigate to the page under the cursor -* {[Navigate: Center Cursor]}: center the cursor at the center of the screen -* {[Navigate: Move Cursor to Position]}: move cursor to a specific (numeric) cursor position (# of characters from the start of the document) -* {[Navigate: Move Cursor to Line]}: move cursor to a specific line, counting from 1; write two numbers (separated by any non-digit) to also move to a column, counting from 1. - -## Text editing -* {[Text: Quote Selection]}: turns the selection into a blockquote (`>` prefix) -* {[Text: Listify Selection]}: turns the lines in the selection into a bulleted list -* {[Text: Number Listify Selection]}: turns the lines in the selection into a numbered list -* {[Text: Link Selection]}: turns the selection into a link. - #ProTip You can can also select text and paste a URL on it via `Ctrl-v`/`Cmd-v` to turn it into a link) -* {[Text: Bold]}: make text **bold** -* {[Text: Italic]}: make text _italic_ -* {[Text: Marker]}: mark text with a ==marker color== -* {[Link: Unfurl]}: “Unfurl” a link, see [[Link Unfurl]] - -# Outlines -```template -page: "[[Outlines]]" -``` -# Debug -Commands you shouldn’t need, but are nevertheless there: - -* {[Debug: Reset Client]}: clean out all cached data on the client and reload -* {[Debug: Reload UI]}: reload the UI (same as refreshing the page) -* {[Account: Logout]}: (when using built-in [[Authentication]]) Logout - diff --git a/website/Plugs/Emoji.md b/website/Plugs/Emoji.md deleted file mode 100644 index ac8e17f5..00000000 --- a/website/Plugs/Emoji.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tags: plug ---- -The Emoji plug provides support for auto-completion of the `:emoji:` style syntax. It currently has support for the [15.1 emoji unicode standard](https://emojipedia.org/emoji-15.1). 🎉 - -You can add your own aliases for emojis in [[SETTINGS]]. \ No newline at end of file diff --git a/website/Plugs/Ghost.md b/website/Plugs/Ghost.md deleted file mode 100644 index 13b50fd3..00000000 --- a/website/Plugs/Ghost.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -tags: plug -uri: github:silverbulletmd/silverbullet-ghost/ghost.plug.js -repo: https://github.com/silverbulletmd/silverbullet-ghost -author: Zef Hemel -shareSupport: true ---- - -```template -raw: "[[!raw.githubusercontent.com/silverbulletmd/silverbullet-ghost/main/README]]" -``` \ No newline at end of file diff --git a/website/Plugs/Git.md b/website/Plugs/Git.md deleted file mode 100644 index bc4b6a83..00000000 --- a/website/Plugs/Git.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -tags: plug -uri: github:silverbulletmd/silverbullet-git/git.plug.js -repo: https://github.com/silverbulletmd/silverbullet-git -author: Zef Hemel ---- - -```template -raw: "[[!raw.githubusercontent.com/silverbulletmd/silverbullet-git/main/README]]" -``` \ No newline at end of file diff --git a/website/Plugs/Github.md b/website/Plugs/Github.md deleted file mode 100644 index dd348a6a..00000000 --- a/website/Plugs/Github.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -uri: github:silverbulletmd/silverbullet-github/github.plug.js -repo: https://github.com/silverbulletmd/silverbullet-github -author: Zef Hemel -shareSupport: true -tags: plug ---- - -```template -raw: "[[!raw.githubusercontent.com/silverbulletmd/silverbullet-github/main/README]]" -``` \ No newline at end of file diff --git a/website/Plugs/Grep.md b/website/Plugs/Grep.md deleted file mode 100644 index fa35d745..00000000 --- a/website/Plugs/Grep.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -uri: https://github.com/Maarrk/silverbullet-grep/releases/latest/download/grep.plug.js -repo: https://github.com/Maarrk/silverbullet-grep -author: Marek S. Łukasiewicz -tags: plug ---- - -![[!raw.githubusercontent.com/Maarrk/silverbullet-grep/main/README]] -``` diff --git a/website/Plugs/KaTeX.md b/website/Plugs/KaTeX.md deleted file mode 100644 index f45bf825..00000000 --- a/website/Plugs/KaTeX.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -tags: -- plug -uri: github:silverbulletmd/silverbullet-katex/katex.plug.js -repo: https://github.com/silverbulletmd/silverbullet-katex -author: Zef Hemel ---- - -```template -raw: "[[!raw.githubusercontent.com/silverbulletmd/silverbullet-katex/main/README]]" -``` \ No newline at end of file diff --git a/website/Plugs/Kanban.md b/website/Plugs/Kanban.md deleted file mode 100644 index ac84b866..00000000 --- a/website/Plugs/Kanban.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -uri: github:dandimrod/silverbullet-kanban/kanban.plug.js -repo: https://github.com/dandimrod/silverbullet-kanban -author: Daniel Diment -tags: plug ---- - -![[!raw.githubusercontent.com/dandimrod/silverbullet-kanban/main/README]] -Error: Could not load -``` diff --git a/website/Plugs/Markdown.md b/website/Plugs/Markdown.md deleted file mode 100644 index 230ba1d8..00000000 --- a/website/Plugs/Markdown.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tags: plug ---- -The Markdown plug provides support for various advanced Markdown features, specifically: - -* {[Markdown Preview: Toggle]} preview diff --git a/website/Plugs/Mermaid.md b/website/Plugs/Mermaid.md deleted file mode 100644 index 3357fb0b..00000000 --- a/website/Plugs/Mermaid.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -tags: -- plug -uri: github:silverbulletmd/silverbullet-mermaid/mermaid.plug.js -repo: https://github.com/silverbulletmd/silverbullet-mermaid -author: Zef Hemel ---- -Example use: -```mermaid -flowchart TD - Start --> Stop -``` - -```template -raw: "[[!raw.githubusercontent.com/silverbulletmd/silverbullet-mermaid/main/README]]" -``` \ No newline at end of file diff --git a/website/Plugs/Share.md b/website/Plugs/Share.md deleted file mode 100644 index ec345bc4..00000000 --- a/website/Plugs/Share.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -repo: https://github.com/silverbulletmd/silverbullet -tags: plug ---- -The Share plug provides infrastructure for sharing pages outside of your space. It standardizes the {[Share: Page Or Selection]} (bound to `Cmd-s` or `Ctrl-s`) to share the current page or selection in various ways. - -Supported out of the box: - -* _Copy to clipboard as clean markdown_ (e.g. to copy into Github, Discourse or some other system that supports plain markdown). This makes the following modifications: - * It renders any [[Live Queries]] and [[Live Templates]] in place - * It replaces wiki links with regular links (using the SilverBullet URL as root host name) - * It removes [[Frontmatter]] - * It removes [[Attributes]] - * It removes [[Markdown/Anchors]] and replaces [[Markdown/Command links]] with regular back-tick’ed text. -* _Copy to clipboard as rich text_ (e.g. to copy into Google Docs, Confluence or Word) -* _Publish to Y_: When the `$share` attribute is configured in [[Frontmatter]], see below. - -## Publishers -Specific implementations for publishing are implemented in plugs, specifically: -```query -plug where shareSupport = true render [[Library/Core/Query/Page]] -``` diff --git a/website/Plugs/TreeView.md b/website/Plugs/TreeView.md deleted file mode 100644 index 54c628c1..00000000 --- a/website/Plugs/TreeView.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -uri: github:joekrill/silverbullet-treeview/treeview.plug.js -repo: https://github.com/joekrill/silverbullet-treeview -author: Joe Krill -tags: plug ---- - -![[!raw.githubusercontent.com/joekrill/silverbullet-treeview/main/README]] -``` diff --git a/website/Shortcuts.md b/website/Shortcuts.md index f82a6fdc..a582ea7e 100644 --- a/website/Shortcuts.md +++ b/website/Shortcuts.md @@ -1,6 +1,4 @@ -#level/intermediate - -SilverBullet enables you to configure some custom shortcuts in [[SETTINGS]] via the `shortcuts` attribute that trigger [[Commands]] in various ways. +SilverBullet enables you to configure some custom shortcuts in [[^Library/Std/Config]] via the `shortcuts` attribute that trigger [[Commands]] in various ways. Supported types of shortcuts: * [[Keyboard Shortcuts]] that create keyboard bindings for a given command diff --git a/website/Slash Commands.md b/website/Slash Commands.md index 78ffd997..2aaca59f 100644 --- a/website/Slash Commands.md +++ b/website/Slash Commands.md @@ -1,4 +1,4 @@ -Slash commands are quick ways to perform repetitive tasks. 99% of the time this will mean using a [[^Library/Std/Slash Template]], but you can also create them more manually using [[Space Lua#Slash commands]]. +Slash commands are quick ways to perform repetitive tasks. 99% of the time this will mean using a [[Library/Std/Slash Templatese]], but you can also create them more manually using [[Space Lua#Slash commands]]. # Invoking a slash command You can trigger a slash command by typing a `/` in your text (after some white space) followed by its name (this will auto complete). diff --git a/website/Space Style.md b/website/Space Style.md index d049f422..59d0c696 100644 --- a/website/Space Style.md +++ b/website/Space Style.md @@ -1,10 +1,10 @@ #level/hardcore -Space Style is [[Space Script]]’s stylish sibling. It enables you to add your own styling to SilverBullet with `space-style` [[Blocks]]. +Space Style is [[Space Script]]’s stylish sibling. It enables you to add your own styling to SilverBullet with `space-style` [[Markdown/Fenced Code Blocks]]. This can be used to achieve various things, such as overriding the default editor font or setting wider page widths. It is also possible to develop custom themes this way. -To apply the updated styles, either reload the client or run the {[System: Reload]} command. +To apply the updated styles, either reload the client or run the ${widgets.commandButton("System: Reload")} command. Many styles can be set with [variables](https://github.com/silverbulletmd/silverbullet/blob/main/web/styles/theme.scss) but not everything is covered. You’ll have to reverse-engineer those parts, unfortunately. diff --git a/website/Special Pages.md b/website/Special Pages.md index 057db3fd..86838492 100644 --- a/website/Special Pages.md +++ b/website/Special Pages.md @@ -1,9 +1,8 @@ SilverBullet has a few “special pages.” The convention is to always use ALL CAPS for these page names. Generally the format of these pages is that they can contain arbitrary text, but embedded in them is some sort of fenced code block (triple backtick blocks) that encode something special. What _exactly_ depends on the page. -All special pages except [[SETTINGS]] are optional: if they don’t exist, well, they don’t do anything. +All special pages except [[CONFIG]] are optional: if they don’t exist, well, they don’t do anything. Here are the current list of “special pages” known to humankind: -* [[SETTINGS]] for setting various settings -* `PLUGS` as a source for the plug manager to decide what plugs to load and where from +* [[CONFIG]] for setting various settings * [[VIMRC]] for tweaking [[Vim]] mode diff --git a/website/Sync.md b/website/Sync.md deleted file mode 100644 index 188fdd1c..00000000 --- a/website/Sync.md +++ /dev/null @@ -1,41 +0,0 @@ -The SilverBullet CLI has a `sync` command that can be used to synchronize local as well as remote [[Spaces]]. This can be useful when migrating between different [[Install/Configuration#Storage|storage implementations]]. It can also be used to back up content elsewhere. Under the hood, this sync mechanism uses the exact same sync engine used for the Sync [[Client Modes]]. - -# Use cases -* **Migration**: you hosted SilverBullet on your local device until now, but have since set up an instance via [[Install/Deno Deploy]] and want to migrate your content there. -* **Backup**: you host SilverBullet on a remote server, but would like to make backups elsewhere from time to time. - -# Setup -To use `silverbullet sync` you need a [[Install/Deno|local deno installation of SilverBullet]]. - -# General use -To perform a sync between two locations: - -```shell -silverbullet sync --snapshot snapshot.json -``` - -Where both `primaryPath` and `secondaryPath` can use any [[Install/Configuration#Storage]] configuration. - -The `--snapshot` argument is optional; when set, it will read/write a snapshot to the given location. This snapshot will be used to speed up future synchronizations. - -To synchronize two local folders (named `testspace1` and `testspace2`) (not particularly useful, you may as well use `cp` or `rsync`): - -``` -silverbullet sync --snapshot snapshot.json testspace testspace2 -``` - -# Migrate -To synchronize a local folder (the current directory `.`) to a remote server (located at `https://notes.myserver.com`) for which you have setup an [[Install/Configuration#Authentication|auth token]] using the `SB_AUTH_TOKEN` environment variable of `1234`: - -```shell -SB_AUTH_TOKEN=1234 silverbullet sync . https://notes.myserver.com -``` - -If you want to perform a “wipe sync”, wiping the destination (secondary) before uploading all files from the primary path there, you can use the `--wipe-secondary` flag. You will be asked for confirmation: - -```shell -SB_AUTH_TOKEN=1234 silverbullet sync --wipe-secondary . https://notes.myserver.com -``` - -# Backup -To perform a backup, you may simply run the `sync` commands mentioned above regularly. Be sure to always specify the `--snapshot` flag in this case, and be sure to actually back up your local copy, e.g. using git. diff --git a/website/Tasks.md b/website/Tasks.md new file mode 100644 index 00000000..98e9414d --- /dev/null +++ b/website/Tasks.md @@ -0,0 +1,12 @@ +The task notation syntax is a [[Markdown]] extension to write down tasks: + +Its most basic form is: + + * [ ] My task name + +which renders as follows: +* [ ] My task name + +SilverBullet allows you to simply toggle the complete state of a task by clicking the checkbox. It also allows for querying tasks as [[Objects#task]]. For instance: + +${query[[from index.tag "task" where page == editor.getCurrentPage()]]} diff --git a/website/VIMRC.md b/website/VIMRC.md index 28a3493b..6da7cbf1 100644 --- a/website/VIMRC.md +++ b/website/VIMRC.md @@ -4,4 +4,4 @@ As part of SilverBullet’s [[Vim]] support, the [[VIMRC]] page allows you to ru imap jj ``` -To manually reload your [[VIMRC]] you can use the {[Editor: Vim: Load VIMRC]} command. \ No newline at end of file +To manually reload your [[VIMRC]] you can use the ${widgets.commandButton("Editor: Vim: Load VIMRC")} command. \ No newline at end of file diff --git a/website/Vim.md b/website/Vim.md index bb1aa9a3..92ea271b 100644 --- a/website/Vim.md +++ b/website/Vim.md @@ -1,4 +1,5 @@ -SilverBullet has a basic Vim mode. You can toggle it using the {[Editor: Toggle Vim Mode]} command. +SilverBullet has a basic Vim mode. You can toggle it using the +${widgets.commandButton("Editor: Toggle Vim Mode")} command. In addition, it supports various ex commands that you can run as you would expect, for instance: `:imap jj `. diff --git a/website/YAML.md b/website/YAML.md index 88ddedbc..b633cea2 100644 --- a/website/YAML.md +++ b/website/YAML.md @@ -1,6 +1,6 @@ YAML stands for “YAML Ain’t Markup Language.” More information can be found at [the YAML website](https://yaml.org/). -SilverBullet uses YAML in various contexts, specifically [[Frontmatter]] and [[Space Config]] +SilverBullet uses YAML in various contexts, specifically [[Frontmatter]]. # Internal links Many string values can be written directly in YAML without any quoting, like: @@ -8,7 +8,7 @@ Many string values can be written directly in YAML without any quoting, like: property: value ``` -However when you want to reference [[Links|a page]] or [[Command links|command]] you will need to quote the full link: +However when you want to reference [[Links|a page]] you will need to quote the full link: ```yaml some page: "[[Pages]]" list of pages: