Skip to content

๐ŸงชHello World

Updated: 4 min read

A full kitchen-sink test article verifying Outline image attachments, callout blocks, Mermaid diagrams, Shiki syntax highlighting, and GFM tables.

1. Outline Image & File Attachments โ€‹

When you drag-and-drop or paste an image into Outline, Outline stores a private redirect path (/api/attachments.redirect?id=<uuid>). During pnpm sync, VitePaper automatically authenticates with your OUTLINE_API_KEY, downloads the binary into content/public/attachments/<uuid>.<ext>, and rewrites the Markdown URL so public visitors can see it without needing an Outline login.

Here is a real attachment pulled directly from your Outline instance (id=7cf59078-4d40-460a-a2c9-411025d62f05):

Map of the Tyne and Wear Metro System

Download Raw Metro Map Image


2. Callout / Notice Blocks (:::) โ€‹

Outline's native notice blocks export as fenced ::: containers. All four semantic styles work natively:

INFO

Info Callout (:::info) โ€” Used for background context, register addresses, or protocol notes. Supports bold, italics, dashed links, and inline code.

TIP

Tip Callout (:::tip) โ€” Useful for pro-tips, shortcuts, and recommended configurations.

WARNING

Warning Callout (:::warning) โ€” Highlights hardware voltage warnings, EULA caveats, or breaking changes.

DANGER

Danger Callout (:::danger) โ€” Critical alerts such as avoiding overwriting EC health flags (FANE bit 0).


3. Mermaid Diagrams โ€‹

Both flowcharts and sequence diagrams render client-side via mermaid and automatically adapt when you toggle between Warm Parchment Light and Slate & Orange Dark mode:

Rendering diagram...

4. Syntax Highlighting & ProseMirror Quirk Normalizer โ€‹

Testing Shiki syntax highlighting across multiple systems languages (powershell, asl, c, bash), plus verifying that Outline's bold-inline-code serialization quirk (**CommandType 0x28**) renders cleanly without literal asterisks:

powershell
# Query HP Thermal Profile via WMI
$instance = Get-CimInstance -Namespace "root\wmi" -ClassName "hpqBIntM"
$result = Invoke-CimMethod -InputObject $instance -MethodName "hpqBIOSInt4"
Write-Host "Current Mode: $($result.OutData.Data[0])" -ForegroundColor Green
asl
Device (EC0)
{
    Name (_HID, EisaId ("PNP0C09"))
    Method (FRSP, 0, NotSerialized)
    {
        Return (Multiply (FRPM, 0x64))
    }
}

5. Tables, Blockquotes & Task Lists โ€‹

FeatureOutline SyntaxVitePaper OutputStatus
YAML FrontmatterTop ```yaml code blockParsed & stripped into .md frontmatterโœ… Verified
Private Attachments/api/attachments.redirect?id=...Cached to /attachments/<uuid>.<ext>โœ… Verified
Callouts:::info, :::tip, :::warningStyled .custom-block containersโœ… Verified
Mermaid```mermaidTheme-aware SVG diagramโœ… Verified

"Any sufficiently advanced firmware bug is indistinguishable from a feature." โ€” Embedded Controller Proverbs

  • [x] Verify YAML frontmatter overrides (tags, updated, featured, nav, excludeFromPosts)
  • [x] Verify authenticated Outline attachment downloading & URL rewriting
  • [x] Verify Mermaid & Shiki rendering in Light and Dark modes
  • [ ] Deploy container to Unraid and wire up POST /api/webhook/outline

TIP

Live Webhook & Cross-Link Test: This callout links directly to another Outline document โ€” Dumping SPI Flash Firmware with a Raspberry Pi Pico โ€” to verify cross-document link rewriting and automatic Referenced In backlinks!

Tabbed Code Groups ([tab: ...] & [tab-group: ...]) โ€‹

Two back-to-back named tab groups (request and response):

http
POST /api/webhook/outline HTTP/1.1
Host: blog.jcktwd.uk
Content-Type: application/json
Outline-Signature: t=1727798000,s=4b8e9a...
json
{
  "event": "documents.update",
  "payload": {
    "id": "72fa8be6-5ddb-49f4-90ee-0131fdc46c9e",
    "title": "Hello World"
  }
}
http
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-cache
json
{
  "ok": true,
  "event": "documents.update"
}