This commit is contained in:
notes 2024-09-30 10:15:00 +00:00
parent eb376275a9
commit 142e503512
29 changed files with 219 additions and 107 deletions

View File

@ -1,16 +0,0 @@
---
description: "Create a movie"
tags: template
hooks.newPage:
suggestedName: "Media/Movies/"
confirmName: true
command: "Create Movie"
---
---
date:
author:
rating: 0
---
# Name

View File

@ -0,0 +1,12 @@
---
description: Create a New Page template
tags: template
hooks.newPage:
suggestedName: "Library/Personal/New Page/"
confirmName: true
frontmatter: |
tags: template
displayName: "|^|"
hooks.newPage:
suggestedName: ""
---

View File

@ -2,7 +2,7 @@
description: "Create a quick note"
tags: template
hooks.newPage:
suggestedName: "Inbox/{{today}} {{time}}"
suggestedName: "Inbox/{{today}}/{{safeTime}}"
confirmName: false
command: "Quick Note"
key: "Alt-Shift-n"

View File

@ -1,24 +0,0 @@
---
description: "Create a recipe"
tags: template
hooks.newPage:
suggestedName: "Recipes/"
confirmName: true
command: "Create Recipe"
---
---
link:
rating:
time:
image:
---
# Name
---
- Ingredients
---
1. Steps

View File

@ -0,0 +1,11 @@
---
tags: template
description: Create a new Snippet template
hooks.newPage:
suggestedName: Library/Personal/Snippet/
confirmName: true
frontmatter: |
tags: template
hooks.snippet:
slashCommand: "|^|"
---

View File

@ -1,36 +1,37 @@
#meta
We would like to keep our space clean, these are some tools that help you do that.
# Broken links
This shows all internal links that are broken.
# Aspiring pages
This shows all page links that link to a page that does not (yet) exist. These could be broken links or just pages _aspiring_ to be created.
```template
query: |
link where toPage and pageExists(toPage) = false
template: |
{{#if .}}
{{#each .}}
* [[{{ref}}]]: broken link to [[{{toPage}}]]
{{#let @brokenLinks = {aspiring-page}}}
{{#if @brokenLinks}}
{{#each @brokenLinks}}
* [[{{ref}}]]: broken link to [[{{name}}]]
{{/each}}
{{else}}
No broken links, all good!
No aspiring pages, all good!
{{/if}}
{{/let}}
```
# Conflict copies
These are pages that have conflicted copies (as a result of sync), have a look at them as well as their original (non-conflicted versions) and decide which one to keep.
```template
query: |
{{#let @conflictPages = {
page where name =~ /\.conflicted\.\d+$/
select
name as conflictedName,
select name as conflictedName,
replace(name, /\.conflicted\.\d+$/, "") as cleanName
template: |
{{#if .}}
{{#each .}}
}}}
{{#if @conflictPages}}
{{#each @conflictPages}}
* [[{{cleanName}}]]: confict copy [[{{conflictedName}}]]
{{/each}}
{{else}}
No conflicting pages!
{{/if}}
{{/let}}
```

View File

@ -0,0 +1,7 @@
#meta
This page lists all `#meta` tagged pages currently available in your space. You can also navigate to them via the {[Navigate: Meta Picker]}.
```query
page where tags = "meta" render [[Library/Core/Query/Page]]
```

View File

@ -0,0 +1,39 @@
#meta
This page compiles some useful things about your space and may also be useful for debugging things.
# Stats
```template
**Total pages:** {{count({page select name})}}
**Total attachments:** {{count({attachment select name})}}
**Total tags:** {{count({tag select name})}}
```
# Active [[!silverbullet.md/Space Script]]
```template
{{#each {space-script}}}
* [[{{ref}}]]
{{/each}}
```
# Active [[!silverbullet.md/Space Style]]
```template
{{#each {space-style}}}
* [[{{ref}}]]
{{/each}}
```
# Active [[!silverbullet.md/Space Config]]
You have space config defined on the following pages:
```template
{{#each {space-config select replace(ref, /@.+/, "") as page}}}
* [[{{page}}]]
{{/each}}
```
Composed, this leads to the following active configuration:
```template
~~~yaml
{{yaml(@config)}}
~~~
```

View File

@ -1,23 +1,28 @@
This page lists all templates currently available in your space.
#meta
This page lists all templates currently available in your space. You can also navigate to them via the {[Navigate: Meta Picker]}. More information on templates can be found [[!silverbullet.md/Templates]]
# New Page
$newPage
These [[!silverbullet.md/Page Templates]] are available through the {[Page: From Template]} command.
These [[!silverbullet.md/Page Templates]] are available through the {[Page: From Template]} command:
```query
template where hooks.newPage render [[Library/Core/Query/Template]]
```
# Snippets
$snippets
These can be used as [[!silverbullet.md/Snippets]] via [[!silverbullet.md/Slash Commands]]:
```query
template where hooks.snippet render [[Library/Core/Query/Template]]
```template
{{#each {
template
where hooks.snippet
order by hooks.snippet.slashCommand
}}}
* [[{{ref}}|/{{hooks.snippet.slashCommand}}]] {{description}}
{{/each}}
```
# Widgets
$widgets
Widgets can either be automatically attached to the top or bottom of pages (matching certain criteria) or used inline via [[!silverbullet.md/Live Templates]].
## Top
@ -37,11 +42,11 @@ render [[Library/Core/Query/Template]]
```
## Inline
Use these as `page` in [[!silverbullet.md/Live Templates]] to render useful things in your pages:
Use with [[!silverbullet.md/Live Templates#Include]] to render useful things in your pages:
```query
template
where name =~ /\/Widget\// and hooks.top = null and hooks.bottom = null
where name =~ /\/Widget\// and not hooks.top and not hooks.bottom
order by order
render [[Library/Core/Query/Template]]
```

View File

@ -0,0 +1,5 @@
---
tags: template
description: A page reference link as a list item showing the full page path
---
* [[{{name}}|{{name}}]]

View File

@ -1,4 +1,7 @@
#template
---
tags: template
---
* [[{{ref}}]] {{description}}
{{#if usage}}
* **Usage:** {{usage}}

View File

@ -1,5 +1,8 @@
This is your {[Quick Note]} inbox.
```query
page where name =~ /^Inbox\// render [[Library/Core/Query/Page]]
page
where name =~ /^Inbox\//
render [[Library/Core/Query/Full Page]]
order by lastModified desc
```

View File

@ -0,0 +1,10 @@
---
description: (Template) Insert an `#each` directive
tags: template
hooks.snippet:
slashCommand: "#each"
order: 10
---
{{escapeDirective("#each |^|")}}
{{escapeDirective("/each")}}

View File

@ -3,6 +3,6 @@ tags: template
description: Make this a level 1 heading
hooks.snippet:
slashCommand: h1
match: "^#*\\s*"
matchRegex: "^#*\\s*"
---
#

View File

@ -3,6 +3,6 @@ tags: template
description: Make this a level 2 heading
hooks.snippet:
slashCommand: h2
match: "^#*\\s*"
matchRegex: "^#*\\s*"
---
##

View File

@ -3,6 +3,6 @@ tags: template
description: Make this a level 3 heading
hooks.snippet:
slashCommand: h3
match: "^#*\\s*"
matchRegex: "^#*\\s*"
---
###

View File

@ -3,6 +3,6 @@ tags: template
description: Make this a level 4 heading
hooks.snippet:
slashCommand: h4
match: "^#*\\s*"
matchRegex: "^#*\\s*"
---
####

View File

@ -0,0 +1,10 @@
---
description: (Template) Insert an `#if` directive
tags: template
hooks.snippet:
slashCommand: "#if"
order: 10
---
{{escapeDirective("#if |^|")}}
{{escapeDirective("/if")}}

View File

@ -0,0 +1,12 @@
---
description: (Template) Insert `#if` directive with 'else'
tags: template
hooks.snippet:
slashCommand: "#if-else"
order: 10
---
{{escapeDirective("#if |^|")}}
{{escapeDirective("else")}}
{{escapeDirective("/if")}}

View File

@ -0,0 +1,8 @@
---
tags: template
description: Add a live preview of a page
hooks.snippet.slashCommand: include-page
---
```include
raw: "[[|^|]]"
```

View File

@ -0,0 +1,10 @@
---
tags: template
description: Make this a bullet item
hooks.snippet:
slashCommand: item
matchRegex: "^(\\s*)[\\-\\*]?\\s*"
command: "Text: Turn into a bullet item"
key: "Ctrl-q i"
---
$1*

View File

@ -0,0 +1,10 @@
---
description: (Template) Insert a `#let` directive
tags: template
hooks.snippet:
slashCommand: "#let"
order: 10
---
{{escapeDirective("#let @|^| = ")}}
{{escapeDirective("/let")}}

View File

@ -1,10 +1,10 @@
---
tags: template
description: Turn the current line into a task
description: Make this a task
hooks.snippet:
slashCommand: task
matchRegex: "^(\\s*)[\\-\\*]?\\s*(\\[[ xX]\\])?\\s*"
command: "Turn into task"
command: "Text: Turn into task"
key: "Ctrl-q t"
---
$1* [ ]

View File

@ -1,8 +1,8 @@
---
description: Insert an inline template
description: Insert a template
tags: template
hooks.snippet.slashCommand: "template"
---
```template
page: "[[|^|]]"
|^|
```

View File

@ -1,18 +1,13 @@
---
description: Adds Linked Mentions to pages
tags: template
hooks.bottom.where: 'false'
hooks.bottom.where: 'true'
---
```template
# We need to escape handlebars directives here, since we're embedding
# this template into a template (INCEPTION)
template: |
{{escape "#if ."}}
{{#let @linkedMentions = {link where toPage = @page.name and page != @page.name order by page}}}
{{#if @linkedMentions}}
# Linked Mentions
{{escape "#each ."}}
* [[{{escape "ref"}}]]: `{{escape "snippet"}}`
{{escape "/each"}}
{{escape "/if"}}
query: |
link where toPage = "{{@page.name}}" and page != "{{@page.name}}"
```
{{#each @linkedMentions}}
* [[{{ref}}]]: “{{snippet}}”
{{/each}}
{{/if}}
{{/let}}

View File

@ -2,8 +2,15 @@
tags: template
description: |
Shows all tasks that contain a link the current page. For instance a task that references `[[John]]` in its name, would appear on the `John` page.
hooks.top:
where: 'true'
order: 1
---
```query
task where name =~ /\[\[{{escapeRegexp @page.name}}\]\]/ where done = false render [[Library/Core/Query/Task]]
```
{{#let @linkedTasks = {task where not done and contains(name, "[[" + @page.name + "]]")}}}
{{#if @linkedTasks}}
# Linked Tasks
{{#each @linkedTasks}}
{{template([[Library/Core/Query/Task]], .)}}
{{/each}}
{{/if}}
{{/let}}

View File

@ -2,7 +2,7 @@
description: Adds a Table of Contents to pages
tags: template
hooks.top:
where: 'false'
where: 'not pageDecoration.disableTOC'
# Show all the way at the top
order: 0
---

View File

@ -5,5 +5,5 @@ usage: Pass in the tag to filter on as the `value` of this template
---
```query
task where tags = "{{.}}" and done = false render [[Library/Core/Query/Task]]
task where tags = "{{.}}" and not done render [[Library/Core/Query/Task]]
```

View File

@ -1,5 +1,9 @@
```yaml
indexPage: index
hideSyncButton: true
libraries:
# The "Core" library is recommended for all users
- import: "[[!silverbullet.md/Library/Core/*]]"
git:
autoCommitMinutes: 5
autoSync: true # or false