Color mode

Plugin Showcase

The Plugin catalog lives in Plugins. This page shows what each Plugin actually produces. Each entry pairs the Markdown source with the result rendered by Riebeckite.

The generated showcase preset lets you try examples like these locally.

Obsidian Markdown

Callouts — obsidian-markdown

Source

md
> [!tip] Try it
> A callout is a block quote with a `[!type]` marker.
> `[!info]`, `[!warning]`, and `[!question]` render the same way.

Rendered

Try it

A callout is a block quote with a [!type] marker. [!info], [!warning], and [!question] render the same way.

Source

md
A WikiLink to [[README]] and to [[plugins/README|Plugin catalog]].

Rendered

A WikiLink to README and to Plugin catalog.

Code

Code with a toolbar — code-enhance

Line numbers, a filename bar, line highlighting, and a copy button.

Source

md
```ts title="hello.ts"
export function hello(name: string): string {
  return `Hello, ${name}`;
}
```

Rendered

hello.ts
export function hello(name: string): string {
  return `Hello, ${name}`;
}

Code tabs — code-tabs

Adjacent code fences with tab="..." become a single tab group.

Source

md
```ts tab="React"
const greeting = "Hello from React";
```
 
```js tab="Vanilla"
console.log("Hello from JavaScript");
```

Rendered

ts
const greeting = "Hello from React";
js
console.log("Hello from JavaScript");

Code annotations

Fence metadata and inline comments express line highlighting, additions, removals, and focus.

Source

md
```js {2}
const first = 1;
const second = 2;
const third = 3;
```
 
```js
const kept = true;
const added = "new line"; // [!code ++]
const removed = false; // [!code --]
```
 
```js
const focused = 1; // [!code focus]
const plain = 2;
```

Rendered

js
const first = 1;
const second = 2;
const third = 3;
js
const kept = true;
const added = "new line";
const removed = false;
js
const focused = 1;
const plain = 2;

Inline

Highlight

Text wrapped in ==...== is emphasized inline.

Source

md
This sentence contains an ==emphasized== span; the rest stays unchanged.

Rendered

This sentence contains an emphasized span; the rest stays unchanged.

Sidenotes

Footnote syntax becomes a side note next to the body.

Source

md
We reference a side note here.[^1]
 
[^1]: This is the side note body.

Rendered

We reference a side note here.

Shortcodes

::name and :::name directives insert badges, keyboard keys, notes, and more.

Source

md
::badge[Stable]{variant=success}
 
::kbd[Ctrl+Shift+P]
 
:::note[Note]
You can write body text as-is.
:::

Rendered

Stable
Ctrl+Shift+P

Note

You can write body text as-is.

Diagrams

Mermaid — mermaid

Source

md
```mermaid
flowchart LR
  A[Note] --> B{Published?}
  B -->|yes| C[Site]
  B -->|no| D[Draft]
```

Rendered

Diagram source
text
flowchart LR
  A[Note] --> B{Published?}
  B -->|yes| C[Site]
  B -->|no| D[Draft]

D2 — d2

Source

md
```d2
site: Riebeckite
content -> build -> deploy
```

Rendered

Diagram source
text
site: Riebeckite
content -> build -> deploy

Graphviz / DOT — graphviz

Source

md
```dot
digraph G {
  notes -> pages;
  pages -> html;
}
```

Rendered

Diagram source
text
digraph G {
  notes -> pages;
  pages -> html;
}

Chart.js — chartjs

Source

md
```chart
{
  "type": "bar",
  "data": {
    "labels": ["Mon", "Tue", "Wed"],
    "datasets": [{ "label": "Visits", "data": [12, 19, 8] }]
  }
}
```

Rendered

Vega-Lite — vega-lite

Source

md
```vega-lite
{
  "title": "Revenue",
  "data": { "values": [{ "category": "A", "value": 28 }, { "category": "B", "value": 55 }] },
  "mark": "bar",
  "encoding": {
    "x": { "field": "category", "type": "nominal" },
    "y": { "field": "value", "type": "quantitative" }
  }
}
```

Rendered

Revenue
Vega-Lite spec
text
{
  "title": "Revenue",
  "data": { "values": [{ "category": "A", "value": 28 }, { "category": "B", "value": 55 }] },
  "mark": "bar",
  "encoding": {
    "x": { "field": "category", "type": "nominal" },
    "y": { "field": "value", "type": "quantitative" }
  }
}

WaveDrom — wavedrom

Source

md
```wavedrom
{ "signal": [
  { "name": "clk", "wave": "p......" },
  { "name": "bus", "wave": "x.34.5x", "data": "head body tail" }
] }
```

Rendered

WaveJSON source
text
{ "signal": [
  { "name": "clk", "wave": "p......" },
  { "name": "bus", "wave": "x.34.5x", "data": "head body tail" }
] }

Markmap — markmap

Source

md
```markmap
# Project
 
## Design
 
### Notation
### Rendering
 
## Delivery
```

Rendered

Markdown source
text
# Project
 
## Design
 
### Notation
### Rendering
 
## Delivery

Marp slides — marp

Source

md
```marp title="Intro deck"
# First slide
 
- a bullet
 
---
 
# Second slide
```

Rendered

First slide

  • a bullet

Second slide

Marp source
text
# First slide
 
- a bullet
 
---
 
# Second slide

Maps — map

A static fallback renders first, then expands to an interactive map where JavaScript is available.

Source

md
```map
center: 35.6812, 139.7671
zoom: 13
label: Tokyo Station
markers:
  - 35.6812, 139.7671 | Tokyo Station
  - 35.6586, 139.7454 | Tokyo Tower
```

Rendered

Tokyo Station

Tokyo Station

© OpenStreetMap contributors

Map source
text
center: 35.6812, 139.7671
zoom: 13
label: Tokyo Station
markers:
  - 35.6812, 139.7671 | Tokyo Station
  - 35.6586, 139.7454 | Tokyo Tower

QR codes — qr-code

Generated as inline SVG at build time.

Source

md
```qr
# caption: Project page
https://example.com/
```

Rendered

Project pagehttps://example.com/

PlantUML — plantuml

The diagram becomes an image URL pointing at a PlantUML server at build time. Viewing it requires reaching that server.

Source

md
```plantuml
@startuml
Alice -> Bob: Hello
Bob --> Alice: Hi
@enduml
```

Rendered

PlantUML diagram
Diagram source
text
@startuml
Alice -> Bob: Hello
Bob --> Alice: Hi
@enduml

Canvas — canvas

Write JSON Canvas directly in a code fence, or embed a Canvas file with ![[diagram.canvas]].

Source

md
```canvas
{
  "nodes": [
    { "id": "note", "type": "text", "x": 0, "y": 0, "width": 240, "height": 100, "text": "Note" }
  ],
  "edges": []
}
```

Rendered

Canvas nodes and edges
  • text note — Note

Media

Rich embeds — rich-embed

Turn a URL into an embed for YouTube, Vimeo, Spotify, CodePen, Gist, and more.

Source

md
```embed
https://www.youtube.com/watch?v=dQw4w9WgXcQ
title: Demo video
caption: A short caption
aspect: 16/9
```

Rendered

A short caption

Source

md
```gallery
columns: 3
items:
  - title: Default
    description: A clean, typographic theme.
    href: https://riebeckite.dev/docs/themes/default
  - title: Minimal
    description: Stripped back to the essentials.
    href: https://riebeckite.dev/docs/themes/minimal
  - title: Gruvbox
    description: A warm, high-contrast palette.
    href: https://riebeckite.dev/docs/themes/gruvbox
```

Rendered

Excalidraw — excalidraw

Embedding an Excalidraw note replaces it with an SVG in the browser. This site embeds the drawing in assets/HW.md.

Source

md
![[HW]]

Rendered

Responsive image — responsive-image

Embedding an image with ![[...]] expands to a <picture> element with multiple size candidates when the variants exist.

Source

md
![[riebeckite-logo-horizontal.png]]

Rendered

A cardlink fence with a URL and metadata becomes a link card.

Source

md
```cardlink
url: https://example.com/riebeckite
title: Riebeckite
description: A tool that builds a static site from Markdown
host: example.com
```

Rendered

Knowledge and data

Dataview — dataview

Source

md
```dataview
TABLE file.name AS "Name", status
FROM #project
WHERE status = "active"
SORT file.name asc
LIMIT 10
```

Rendered

No matching content.

Dataview query
TABLE file.name AS "Name", status
FROM #project
WHERE status = "active"
SORT file.name asc
LIMIT 10

Query — query

Source

md
```query
sort:
  field: title
  order: asc
limit: 5
```

Rendered

Bases — bases

Source

md
```base
filters:
  and:
    - file.hasTag("featured")
properties:
  file.name:
    displayName: Title
views:
  - type: table
    name: Featured
    limit: 10
```

Rendered

Featured

Title
Riebeckite
README
HW
Documentation
ドキュメント
Accessibility
アクセシビリティ
Framework
Framework
architecture.en
Base definition
filters:
  and:
    - file.hasTag("featured")
properties:
  file.name:
    displayName: Title
views:
  - type: table
    name: Featured
    limit: 10

Kanban boards — kanban

Put ## column headings and task lists in the body to get a board.

Source

md
## Backlog
 
- [ ] Draft the release notes
- [ ] Link to [[README]]
 
## Done
 
- [x] Publish the fixture

Rendered

Backlog
  • Draft the release notes
  • Link to README
Done
  • Publish the fixture

Flashcards

A flashcards fence of front :: back pairs becomes a study deck. It still reads as a static list without JavaScript.

Source

md
```flashcards
What is Riebeckite? :: A tool that builds a static site from Markdown
 
What is the unit of publishing? :: A note
```

Rendered

  1. What is Riebeckite?A tool that builds a static site from Markdown
  2. What is the unit of publishing?A note

ExcaliBrain — excalibrain

Shows each note's relationships across seven regions. The body of the excalibrain fence is ignored; the fence only marks where to draw, and the map is assembled from the page's own links.

Source

md
```excalibrain
```

Rendered

The map above is built from this page's WikiLinks. Because each Plugin page is linked with a Markdown relative link, only pages named by WikiLink appear under child. parent lists pages that WikiLink to this page, and sibling lists pages that those parent pages WikiLink to.

Plugins that act on the page or site

These Plugins cannot be expressed by a single Markdown fragment. They are visible on this page as the search box, table of contents, color mode toggle, and so on.

Plugin What to look for
search A search box that filters the site
toc A table of contents that follows scroll position
backlinks A list of notes that reference this note
related-posts Related notes at the bottom of a note
properties A list of frontmatter properties
breadcrumbs Page hierarchy breadcrumbs
share Share controls for a note
hover-preview A hover preview of link targets
local-graph A mini graph of nearby notes
garden-explorer The explorer Page Type with a graph and search
taxonomy The tag and folder listing Page Types
docs The Docs sidebar and previous/next links
folder-pages An index Page Type for each folder
lightbox Click to enlarge an image
diff / changelog Per-note git history
l10n The language switcher on translated pages
color-mode Light / dark / system switching

Plugins that act at build time or on metadata

These Plugins do not appear in the body. Their results show up as generated files, head tags, or redirects.

Plugin What it generates
seo sitemap.xml / robots.txt / feeds, plus canonical and OGP head tags
webmention webmentions.json and the send/receive endpoints
alias Redirects from alternative names
series Previous/next navigation from series frontmatter
recent-posts A list of recent notes, placed by the site
daily-notes Short snippets from Daily Notes, placed by the site
rename Redirects from old paths
deploy Deployment config files for each host
diagnostics Diagnostics for orphan notes and unused assets
quality Quality checks such as heading order and duplicate ids

Footnotes

  1. This is the side note body. ↩

History

1 changesCollapseExpand
1 + # Plugin Showcase
2 +
3 + The Plugin catalog lives in [Plugins](./README.en.md). This page shows what each Plugin actually produces. Each entry pairs the Markdown source with the result rendered by Riebeckite.
4 +
5 + > The generated `showcase` preset lets you try examples like these locally.
6 +
7 + ## Obsidian Markdown
8 +
9 + ### Callouts — [`obsidian-markdown`](./obsidian-markdown.en.md)
10 +
11 + #### Source
12 +
13 + ````md
14 + > [!tip] Try it
15 + > A callout is a block quote with a `[!type]` marker.
16 + > `[!info]`, `[!warning]`, and `[!question]` render the same way.
17 + ````
18 +
19 + #### Rendered
20 +
21 + > [!tip] Try it
22 + > A callout is a block quote with a `[!type]` marker.
23 + > `[!info]`, `[!warning]`, and `[!question]` render the same way.
24 +
25 + ### WikiLinks and embeds — [`obsidian-markdown`](./obsidian-markdown.en.md)
26 +
27 + #### Source
28 +
29 + ````md
30 + A WikiLink to [[README]] and to [[plugins/README|Plugin catalog]].
31 + ````
32 +
33 + #### Rendered
34 +
35 + A WikiLink to [[README]] and to [[plugins/README|Plugin catalog]].
36 +
37 + ## Code
38 +
39 + ### Code with a toolbar — [`code-enhance`](./code-enhance.en.md)
40 +
41 + Line numbers, a filename bar, line highlighting, and a copy button.
42 +
43 + #### Source
44 +
45 + ````md
46 + ```ts title="hello.ts"
47 + export function hello(name: string): string {
48 + return `Hello, ${name}`;
49 + }
50 + ```
51 + ````
52 +
53 + #### Rendered
54 +
55 + ```ts title="hello.ts"
56 + export function hello(name: string): string {
57 + return `Hello, ${name}`;
58 + }
59 + ```
60 +
61 + ### Code tabs — [`code-tabs`](./code-tabs.en.md)
62 +
63 + Adjacent code fences with `tab="..."` become a single tab group.
64 +
65 + #### Source
66 +
67 + ````md
68 + ```ts tab="React"
69 + const greeting = "Hello from React";
70 + ```
71 +
72 + ```js tab="Vanilla"
73 + console.log("Hello from JavaScript");
74 + ```
75 + ````
76 +
77 + #### Rendered
78 +
79 + ```ts tab="React"
80 + const greeting = "Hello from React";
81 + ```
82 +
83 + ```js tab="Vanilla"
84 + console.log("Hello from JavaScript");
85 + ```
86 +
87 + ### Code annotations
88 +
89 + Fence metadata and inline comments express line highlighting, additions, removals, and focus.
90 +
91 + #### Source
92 +
93 + ````md
94 + ```js {2}
95 + const first = 1;
96 + const second = 2;
97 + const third = 3;
98 + ```
99 +
100 + ```js
101 + const kept = true;
102 + const added = "new line"; // [!code ++]
103 + const removed = false; // [!code --]
104 + ```
105 +
106 + ```js
107 + const focused = 1; // [!code focus]
108 + const plain = 2;
109 + ```
110 + ````
111 +
112 + #### Rendered
113 +
114 + ```js {2}
115 + const first = 1;
116 + const second = 2;
117 + const third = 3;
118 + ```
119 +
120 + ```js
121 + const kept = true;
122 + const added = "new line"; // [!code ++]
123 + const removed = false; // [!code --]
124 + ```
125 +
126 + ```js
127 + const focused = 1; // [!code focus]
128 + const plain = 2;
129 + ```
130 +
131 + ## Inline
132 +
133 + ### Highlight
134 +
135 + Text wrapped in `==...==` is emphasized inline.
136 +
137 + #### Source
138 +
139 + ````md
140 + This sentence contains an ==emphasized== span; the rest stays unchanged.
141 + ````
142 +
143 + #### Rendered
144 +
145 + This sentence contains an ==emphasized== span; the rest stays unchanged.
146 +
147 + ### Sidenotes
148 +
149 + Footnote syntax becomes a side note next to the body.
150 +
151 + #### Source
152 +
153 + ````md
154 + We reference a side note here.[^1]
155 +
156 + [^1]: This is the side note body.
157 + ````
158 +
159 + #### Rendered
160 +
161 + We reference a side note here.[^1]
162 +
163 + [^1]: This is the side note body.
164 +
165 + ### Shortcodes
166 +
167 + `::name` and `:::name` directives insert badges, keyboard keys, notes, and more.
168 +
169 + #### Source
170 +
171 + ````md
172 + ::badge[Stable]{variant=success}
173 +
174 + ::kbd[Ctrl+Shift+P]
175 +
176 + :::note[Note]
177 + You can write body text as-is.
178 + :::
179 + ````
180 +
181 + #### Rendered
182 +
183 + ::badge[Stable]{variant=success}
184 +
185 + ::kbd[Ctrl+Shift+P]
186 +
187 + :::note[Note]
188 + You can write body text as-is.
189 + :::
190 +
191 + ## Diagrams
192 +
193 + ### Mermaid — [`mermaid`](./mermaid.en.md)
194 +
195 + #### Source
196 +
197 + ````md
198 + ```mermaid
199 + flowchart LR
200 + A[Note] --> B{Published?}
201 + B -->|yes| C[Site]
202 + B -->|no| D[Draft]
203 + ```
204 + ````
205 +
206 + #### Rendered
207 +
208 + ```mermaid
209 + flowchart LR
210 + A[Note] --> B{Published?}
211 + B -->|yes| C[Site]
212 + B -->|no| D[Draft]
213 + ```
214 +
215 + ### D2 — [`d2`](./d2.en.md)
216 +
217 + #### Source
218 +
219 + ````md
220 + ```d2
221 + site: Riebeckite
222 + content -> build -> deploy
223 + ```
224 + ````
225 +
226 + #### Rendered
227 +
228 + ```d2
229 + site: Riebeckite
230 + content -> build -> deploy
231 + ```
232 +
233 + ### Graphviz / DOT — [`graphviz`](./graphviz.en.md)
234 +
235 + #### Source
236 +
237 + ````md
238 + ```dot
239 + digraph G {
240 + notes -> pages;
241 + pages -> html;
242 + }
243 + ```
244 + ````
245 +
246 + #### Rendered
247 +
248 + ```dot
249 + digraph G {
250 + notes -> pages;
251 + pages -> html;
252 + }
253 + ```
254 +
255 + ### Chart.js — [`chartjs`](./chartjs.en.md)
256 +
257 + #### Source
258 +
259 + ````md
260 + ```chart
261 + {
262 + "type": "bar",
263 + "data": {
264 + "labels": ["Mon", "Tue", "Wed"],
265 + "datasets": [{ "label": "Visits", "data": [12, 19, 8] }]
266 + }
267 + }
268 + ```
269 + ````
270 +
271 + #### Rendered
272 +
273 + ```chart
274 + {
275 + "type": "bar",
276 + "data": {
277 + "labels": ["Mon", "Tue", "Wed"],
278 + "datasets": [{ "label": "Visits", "data": [12, 19, 8] }]
279 + }
280 + }
281 + ```
282 +
283 + ### Vega-Lite — [`vega-lite`](./vega-lite.en.md)
284 +
285 + #### Source
286 +
287 + ````md
288 + ```vega-lite
289 + {
290 + "title": "Revenue",
291 + "data": { "values": [{ "category": "A", "value": 28 }, { "category": "B", "value": 55 }] },
292 + "mark": "bar",
293 + "encoding": {
294 + "x": { "field": "category", "type": "nominal" },
295 + "y": { "field": "value", "type": "quantitative" }
296 + }
297 + }
298 + ```
299 + ````
300 +
301 + #### Rendered
302 +
303 + ```vega-lite
304 + {
305 + "title": "Revenue",
306 + "data": { "values": [{ "category": "A", "value": 28 }, { "category": "B", "value": 55 }] },
307 + "mark": "bar",
308 + "encoding": {
309 + "x": { "field": "category", "type": "nominal" },
310 + "y": { "field": "value", "type": "quantitative" }
311 + }
312 + }
313 + ```
314 +
315 + ### WaveDrom — [`wavedrom`](./wavedrom.en.md)
316 +
317 + #### Source
318 +
319 + ````md
320 + ```wavedrom
321 + { "signal": [
322 + { "name": "clk", "wave": "p......" },
323 + { "name": "bus", "wave": "x.34.5x", "data": "head body tail" }
324 + ] }
325 + ```
326 + ````
327 +
328 + #### Rendered
329 +
330 + ```wavedrom
331 + { "signal": [
332 + { "name": "clk", "wave": "p......" },
333 + { "name": "bus", "wave": "x.34.5x", "data": "head body tail" }
334 + ] }
335 + ```
336 +
337 + ### Markmap — [`markmap`](./markmap.en.md)
338 +
339 + #### Source
340 +
341 + ````md
342 + ```markmap
343 + # Project
344 +
345 + ## Design
346 +
347 + ### Notation
348 + ### Rendering
349 +
350 + ## Delivery
351 + ```
352 + ````
353 +
354 + #### Rendered
355 +
356 + ```markmap
357 + # Project
358 +
359 + ## Design
360 +
361 + ### Notation
362 + ### Rendering
363 +
364 + ## Delivery
365 + ```
366 +
367 + ### Marp slides — [`marp`](./marp.en.md)
368 +
369 + #### Source
370 +
371 + ````md
372 + ```marp title="Intro deck"
373 + # First slide
374 +
375 + - a bullet
376 +
377 + ---
378 +
379 + # Second slide
380 + ```
381 + ````
382 +
383 + #### Rendered
384 +
385 + ```marp title="Intro deck"
386 + # First slide
387 +
388 + - a bullet
389 +
390 + ---
391 +
392 + # Second slide
393 + ```
394 +
395 + ### Maps — [`map`](./map.en.md)
396 +
397 + A static fallback renders first, then expands to an interactive map where JavaScript is available.
398 +
399 + #### Source
400 +
401 + ````md
402 + ```map
403 + center: 35.6812, 139.7671
404 + zoom: 13
405 + label: Tokyo Station
406 + markers:
407 + - 35.6812, 139.7671 | Tokyo Station
408 + - 35.6586, 139.7454 | Tokyo Tower
409 + ```
410 + ````
411 +
412 + #### Rendered
413 +
414 + ```map
415 + center: 35.6812, 139.7671
416 + zoom: 13
417 + label: Tokyo Station
418 + markers:
419 + - 35.6812, 139.7671 | Tokyo Station
420 + - 35.6586, 139.7454 | Tokyo Tower
421 + ```
422 +
423 + ### QR codes — [`qr-code`](./qr-code.en.md)
424 +
425 + Generated as inline SVG at build time.
426 +
427 + #### Source
428 +
429 + ````md
430 + ```qr
431 + # caption: Project page
432 + https://example.com/
433 + ```
434 + ````
435 +
436 + #### Rendered
437 +
438 + ```qr
439 + # caption: Project page
440 + https://example.com/
441 + ```
442 +
443 + ### PlantUML — [`plantuml`](./plantuml.en.md)
444 +
445 + The diagram becomes an image URL pointing at a PlantUML server at build time. Viewing it requires reaching that server.
446 +
447 + #### Source
448 +
449 + ````md
450 + ```plantuml
451 + @startuml
452 + Alice -> Bob: Hello
453 + Bob --> Alice: Hi
454 + @enduml
455 + ```
456 + ````
457 +
458 + #### Rendered
459 +
460 + ```plantuml
461 + @startuml
462 + Alice -> Bob: Hello
463 + Bob --> Alice: Hi
464 + @enduml
465 + ```
466 +
467 + ### Canvas — [`canvas`](./canvas.en.md)
468 +
469 + Write JSON Canvas directly in a code fence, or embed a Canvas file with `![[diagram.canvas]]`.
470 +
471 + #### Source
472 +
473 + ````md
474 + ```canvas
475 + {
476 + "nodes": [
477 + { "id": "note", "type": "text", "x": 0, "y": 0, "width": 240, "height": 100, "text": "Note" }
478 + ],
479 + "edges": []
480 + }
481 + ```
482 + ````
483 +
484 + #### Rendered
485 +
486 + ```canvas
487 + {
488 + "nodes": [
489 + { "id": "note", "type": "text", "x": 0, "y": 0, "width": 240, "height": 100, "text": "Note" }
490 + ],
491 + "edges": []
492 + }
493 + ```
494 +
495 + ## Media
496 +
497 + ### Rich embeds — [`rich-embed`](./rich-embed.en.md)
498 +
499 + Turn a URL into an embed for YouTube, Vimeo, Spotify, CodePen, Gist, and more.
500 +
501 + #### Source
502 +
503 + ````md
504 + ```embed
505 + https://www.youtube.com/watch?v=dQw4w9WgXcQ
506 + title: Demo video
507 + caption: A short caption
508 + aspect: 16/9
509 + ```
510 + ````
511 +
512 + #### Rendered
513 +
514 + ```embed
515 + https://www.youtube.com/watch?v=dQw4w9WgXcQ
516 + title: Demo video
517 + caption: A short caption
518 + aspect: 16/9
519 + ```
520 +
521 + ### Gallery cards — [`gallery`](./gallery.en.md)
522 +
523 + #### Source
524 +
525 + ````md
526 + ```gallery
527 + columns: 3
528 + items:
529 + - title: Default
530 + description: A clean, typographic theme.
531 + href: https://riebeckite.dev/docs/themes/default
532 + - title: Minimal
533 + description: Stripped back to the essentials.
534 + href: https://riebeckite.dev/docs/themes/minimal
535 + - title: Gruvbox
536 + description: A warm, high-contrast palette.
537 + href: https://riebeckite.dev/docs/themes/gruvbox
538 + ```
539 + ````
540 +
541 + #### Rendered
542 +
543 + ```gallery
544 + columns: 3
545 + items:
546 + - title: Default
547 + description: A clean, typographic theme.
548 + href: https://riebeckite.dev/docs/themes/default
549 + - title: Minimal
550 + description: Stripped back to the essentials.
551 + href: https://riebeckite.dev/docs/themes/minimal
552 + - title: Gruvbox
553 + description: A warm, high-contrast palette.
554 + href: https://riebeckite.dev/docs/themes/gruvbox
555 + ```
556 +
557 + ### Excalidraw — [`excalidraw`](./excalidraw.en.md)
558 +
559 + Embedding an Excalidraw note replaces it with an SVG in the browser. This site embeds the drawing in `assets/HW.md`.
560 +
561 + #### Source
562 +
563 + ````md
564 + ![[HW]]
565 + ````
566 +
567 + #### Rendered
568 +
569 + ![[HW]]
570 +
571 + ### Responsive image — [`responsive-image`](./responsive-image.en.md)
572 +
573 + Embedding an image with `![[...]]` expands to a `<picture>` element with multiple size candidates when the variants exist.
574 +
575 + #### Source
576 +
577 + ````md
578 + ![[riebeckite-logo-horizontal.png]]
579 + ````
580 +
581 + #### Rendered
582 +
583 + ![[riebeckite-logo-horizontal.png]]
584 +
585 + ### AutoCardLink
586 +
587 + A `cardlink` fence with a URL and metadata becomes a link card.
588 +
589 + #### Source
590 +
591 + ````md
592 + ```cardlink
593 + url: https://example.com/riebeckite
594 + title: Riebeckite
595 + description: A tool that builds a static site from Markdown
596 + host: example.com
597 + ```
598 + ````
599 +
600 + #### Rendered
601 +
602 + ```cardlink
603 + url: https://example.com/riebeckite
604 + title: Riebeckite
605 + description: A tool that builds a static site from Markdown
606 + host: example.com
607 + ```
608 +
609 + ## Knowledge and data
610 +
611 + ### Dataview — [`dataview`](./dataview.en.md)
612 +
613 + #### Source
614 +
615 + ````md
616 + ```dataview
617 + TABLE file.name AS "Name", status
618 + FROM #project
619 + WHERE status = "active"
620 + SORT file.name asc
621 + LIMIT 10
622 + ```
623 + ````
624 +
625 + #### Rendered
626 +
627 + ```dataview
628 + TABLE file.name AS "Name", status
629 + FROM #project
630 + WHERE status = "active"
631 + SORT file.name asc
632 + LIMIT 10
633 + ```
634 +
635 + ### Query — [`query`](./query.en.md)
636 +
637 + #### Source
638 +
639 + ````md
640 + ```query
641 + sort:
642 + field: title
643 + order: asc
644 + limit: 5
645 + ```
646 + ````
647 +
648 + #### Rendered
649 +
650 + ```query
651 + sort:
652 + field: title
653 + order: asc
654 + limit: 5
655 + ```
656 +
657 + ### Bases — [`bases`](./bases.en.md)
658 +
659 + #### Source
660 +
661 + ````md
662 + ```base
663 + filters:
664 + and:
665 + - file.hasTag("featured")
666 + properties:
667 + file.name:
668 + displayName: Title
669 + views:
670 + - type: table
671 + name: Featured
672 + limit: 10
673 + ```
674 + ````
675 +
676 + #### Rendered
677 +
678 + ```base
679 + filters:
680 + and:
681 + - file.hasTag("featured")
682 + properties:
683 + file.name:
684 + displayName: Title
685 + views:
686 + - type: table
687 + name: Featured
688 + limit: 10
689 + ```
690 +
691 + ### Kanban boards — [`kanban`](./kanban.en.md)
692 +
693 + Put `##` column headings and task lists in the body to get a board.
694 +
695 + #### Source
696 +
697 + ````md
698 + ## Backlog
699 +
700 + - [ ] Draft the release notes
701 + - [ ] Link to [[README]]
702 +
703 + ## Done
704 +
705 + - [x] Publish the fixture
706 + ````
707 +
708 + #### Rendered
709 +
710 + ```kanban
711 + ## Backlog
712 +
713 + - [ ] Draft the release notes
714 + - [ ] Link to [[README]]
715 +
716 + ## Done
717 +
718 + - [x] Publish the fixture
719 + ```
720 +
721 + ### Flashcards
722 +
723 + A `flashcards` fence of `front :: back` pairs becomes a study deck. It still reads as a static list without JavaScript.
724 +
725 + #### Source
726 +
727 + ````md
728 + ```flashcards
729 + What is Riebeckite? :: A tool that builds a static site from Markdown
730 +
731 + What is the unit of publishing? :: A note
732 + ```
733 + ````
734 +
735 + #### Rendered
736 +
737 + ```flashcards
738 + What is Riebeckite? :: A tool that builds a static site from Markdown
739 +
740 + What is the unit of publishing? :: A note
741 + ```
742 +
743 + ### ExcaliBrain — [`excalibrain`](./excalibrain.en.md)
744 +
745 + Shows each note's relationships across seven regions. The body of the `excalibrain` fence is ignored; the fence only marks where to draw, and the map is assembled from the page's own links.
746 +
747 + #### Source
748 +
749 + ````md
750 + ```excalibrain
751 + ```
752 + ````
753 +
754 + #### Rendered
755 +
756 + ```excalibrain
757 + ```
758 +
759 + The map above is built from this page's WikiLinks. Because each Plugin page is linked with a Markdown relative link, only pages named by WikiLink appear under `child`. `parent` lists pages that WikiLink to this page, and `sibling` lists pages that those `parent` pages WikiLink to.
760 +
761 + ## Plugins that act on the page or site
762 +
763 + These Plugins cannot be expressed by a single Markdown fragment. They are visible on this page as the search box, table of contents, color mode toggle, and so on.
764 +
765 + | Plugin | What to look for |
766 + | --- | --- |
767 + | [`search`](./search.en.md) | A search box that filters the site |
768 + | [`toc`](./toc.en.md) | A table of contents that follows scroll position |
769 + | [`backlinks`](./backlinks.en.md) | A list of notes that reference this note |
770 + | [`related-posts`](./related-posts.en.md) | Related notes at the bottom of a note |
771 + | [`properties`](./properties.en.md) | A list of frontmatter properties |
772 + | breadcrumbs | Page hierarchy breadcrumbs |
773 + | share | Share controls for a note |
774 + | hover-preview | A hover preview of link targets |
775 + | [`local-graph`](./local-graph.en.md) | A mini graph of nearby notes |
776 + | [`garden-explorer`](./garden-explorer.en.md) | The explorer Page Type with a graph and search |
777 + | [`taxonomy`](./taxonomy.en.md) | The tag and folder listing Page Types |
778 + | [`docs`](./docs.en.md) | The Docs sidebar and previous/next links |
779 + | folder-pages | An index Page Type for each folder |
780 + | [`lightbox`](./lightbox.en.md) | Click to enlarge an image |
781 + | [`diff`](./diff.en.md) / [`changelog`](./changelog.en.md) | Per-note git history |
782 + | [`l10n`](./l10n.en.md) | The language switcher on translated pages |
783 + | [`color-mode`](./color-mode.en.md) | Light / dark / system switching |
784 +
785 + ## Plugins that act at build time or on metadata
786 +
787 + These Plugins do not appear in the body. Their results show up as generated files, head tags, or redirects.
788 +
789 + | Plugin | What it generates |
790 + | --- | --- |
791 + | [`seo`](./seo.en.md) | sitemap.xml / robots.txt / feeds, plus canonical and OGP head tags |
792 + | webmention | webmentions.json and the send/receive endpoints |
793 + | [`alias`](./alias.en.md) | Redirects from alternative names |
794 + | series | Previous/next navigation from `series` frontmatter |
795 + | [`recent-posts`](./recent-posts.en.md) | A list of recent notes, placed by the site |
796 + | [`daily-notes`](./daily-notes.en.md) | Short snippets from Daily Notes, placed by the site |
797 + | rename | Redirects from old paths |
798 + | [`deploy`](./deploy.en.md) | Deployment config files for each host |
799 + | [`diagnostics`](./diagnostics.en.md) | Diagnostics for orphan notes and unused assets |
800 + | [`quality`](./quality.en.md) | Quality checks such as heading order and duplicate ids |
801 +
802 + ## Related
803 +
804 + - [Plugin catalog](./README.en.md)
805 + - [Writing a Plugin](./writing-a-plugin.en.md)
806 + - [Plugin API](../reference/plugin-api.en.md)
807 +

Local Graph

Nearby Notes

Open in Explorer →
showcase.enPluginsHW
CurrentOutgoingBacklink