Everything a post can render

A reference post covering every heading level, text format, block type, and diagram style this site supports.

[demo post] Placeholder content for the layout.

This post exercises everything the site can generate. Use it as a reference when you write, and as a visual test when you change the styles.

## Headings

The post title at the top of this page is the only heading level 1. Each page keeps one h1, so a post body starts at level 2. The table of contents lists level 2 headings only.

## Heading level 3

Level 3 starts a subsection.

## Heading level 4

Level 4 divides a subsection.

## Heading level 5

Level 5 is for short labelled groups.

## Heading level 6

Level 6 is the smallest heading.

## Text formats

A paragraph can mix bold, italic, bold italic, strikethrough, underline, inline code, and a link to the writing page. External links, such as Zola, open in a new tab.

FormatSourceResult
Bold**text**text
Italic*text*text
Bold italic***text***text
Strikethrough~~text~~text
Underline<u>text</u>text
Superscriptx<sup>2</sup>x2
SubscriptH<sub>2</sub>OH2O
Highlight<mark>text</mark>text
Small<small>text</small>text
Keyboard<kbd>Ctrl</kbd>Ctrl
Abbreviation<abbr title="Object Storage Daemon">OSD</abbr>OSD
Inline code`code`code

Smart punctuation converts “straight quotes”, dashes – like this – and ellipses… as you type.

A footnote keeps a side comment out of the sentence.[1] It also works with a named label.[2]

## Lists

An unordered list can nest:

  • Linux hosts
  • OpenStack control planes
    • Nova
    • Neutron
  • Ceph storage clusters

An ordered list is a numbered checklist:

  1. Map the system.
  2. Define done.
  3. Keep a rollback path.

A task list tracks state:

  • Write the post
  • Render the diagrams
  • Replace the demo content

A definition list pairs a term with its meaning:

Failure domain
A set of components that can fail together.
Placement group
A Ceph unit that maps objects to OSDs.

## Special blocks

## Markdown alerts

Five alert types use standard Markdown syntax, for example > [!NOTE].

A note adds useful context that a reader can skip.

A tip shows an easier way to do something.

An important block states what a reader must know to succeed.

A warning flags a risk that needs attention now.

A caution flags an action with negative consequences.

## Notice blocks

Four more types use the notice component. Their body accepts Markdown.

## Blockquote

A plain blockquote carries a key statement:

A boring upgrade is built in advance: map the system, write down what success means, and rehearse the failures.

## Code

A code block sets its language for syntax highlighting:

fn main() {
    println!("Calm infrastructure is designed.");
}
nodes:
  - id: client
    label: Client
    tone: blue
cargo run -- diagrams check

A code block can also show line numbers and highlight lines:

[extra]
demo = true
highlight = "a post"

A long line scrolls inside the code box, and the language label and Copy button stay in place:

openstack --os-cloud production-region-one compute service set --disable --disable-reason "planned-maintenance-window" compute-node-0042.example.internal nova-compute

## Tables and media

Table columns can align left, centre, or right. Wide tables scroll inside their own box.

ComponentRoleReplicas
MONQuorum3
OSDData6
RGWGateway2

An image can sit on its own or in a figure with a caption:

Pixel-art scene: a figure and a campfire on the dunes under shooting stars
A figure with a caption, using the site footer art.

A horizontal rule separates two parts of a post:


## Diagrams

Each diagram compiles from a YAML file in diagrams/. Every diagram has a toolbar to zoom, fit, reset, and copy as PNG. Animated diagrams also have play, speed, and direction controls.

## Detailed style

The detailed style is the default. This is the smallest useful diagram:

Minimal diagramThe smallest useful diagram, two nodes and one labelled edge, laid out left to right.ClientAPIHTTPS
Minimal diagram: two nodes and one labelled edge, with automatic left-to-right layout.

Source: diagrams/showcase-minimal.yaml

Edges have three line styles, three routes, and three arrow options:

Edge styles, routes and arrowsEight node pairs, each joined by an edge that shows a different line style, route, or arrow option. Route targets sit lower than their sources so the path shape is visible.style: solidtargetstyle: dashedtargetstyle: dottedtargetroute: elbowtargetroute: straighttargetroute: curvetargetarrow: bothtargetarrow: nonetarget
Edge options: solid, dashed, and dotted lines; elbow, straight, and curved routes; arrows on both ends or none. The default arrow is on the end only.

Source: diagrams/showcase-edges.yaml

Edges have four animation types, and flow has three directions:

Edge animationsSix node pairs, each joined by an edge that shows a different animation type or packet direction.animation: nonetargetanimation: drawtargetanimation: pulsetargetflow: alternatetargetflow: forwardtargetflow: reversetarget
Animation options: none, draw, pulse, and flow in alternating, forward, and reverse directions.

Source: diagrams/showcase-animation.yaml

Manual layout places each node at explicit coordinates. This diagram also shows all eight tones and both node shapes:

Manual layout, tones, shapes and groupsEight nodes placed at explicit coordinates, one per colour tone, in two groups. The top row uses boxes and the bottom row uses pills.shape boxshape pillneutralbluevioletgreenamberredcyanpink
Manual layout: the eight tones, box and pill shapes, and two groups.

Source: diagrams/showcase-manual.yaml

Automatic layout can also run top to bottom, with rank overrides and groups:

Ceph data pathObject clients authenticate against the monitor quorum, receive a cluster map, and read or write objects directly through RADOS to the OSDs.MON / MGR quorumOSD nodesS3 / Swift clientCeph RGWCeph MGRCeph MONOSD 1OSD 2OSD 3NVMe / HDD(BlueStore)S3 / Swiftauth / mapRADOStelemetry
Top-to-bottom layout: groups and rank overrides in a real diagram.

Source: diagrams/ceph-data-path.yaml

## Architecture detailed style

The architecture-detailed style draws physical infrastructure with switch, server, and VM nodes, NIC and switch port grids, port-to-port links, and named bonds. Hover a node to trace its links.

Physical view with ports and bondsA server and a virtual machine, each with two NICs, connected port to port to a pair of switches through named bonds.bond0bond1switch-0124 ports123456789101112131415161718192021222324switch-0224 ports123456789101112131415161718192021222324nic1nic21212server-01nic112vm-01
Architecture detailed: two switches, a server with two bonds, and a VM, linked port to port.

Source: diagrams/showcase-arch-detailed.yaml

## Architecture simple style

The architecture-simple style draws logical network membership. Networks are rails and nodes attach to them. Hover a legend entry to highlight its network.

Logical view with network railsClients, servers and a virtual machine attached to three logical networks drawn as rails.Public networkInternal networkStorage networkClientsweb-01app-01vm-01db-01
Architecture simple: three logical networks as rails, with no ports or physical links.

Source: diagrams/showcase-arch-simple.yaml

  1. Footnotes collect at the end of the post, with a link back to the reference. ↩

  2. The label in the source does not appear in the output. The site numbers footnotes in order. ↩

Aji AryaCloud Engineer & Architect · 5 years
GitHubAtom