Edit this page on GitHub

Markdown elements

A torture test for the prose engine: every element this theme styles, rendered live from plain markdown. Read the source of this file to see the markdown behind each block.

Headings

The engine adds anchor links to headings on hover (try it), and the heading above this text uses an id from its title. Sub-headings nest in order:

Third level heading

Fourth level heading

Text

This is a paragraph with bold, italic, both, strikethrough, and inline code that wraps long identifiers like REALLY_LONG_FUNCTION_NAME_that_should_never_overflow_the_line when needed. Links look like this one, with a subtle underline that brightens on hover. Pressing Ctrl + K does nothing here, but the keys render nicely.

Lists

  • unordered item one
  • unordered item two
    • nested item
    • another nested item
  • unordered item three
  1. ordered item one
  2. ordered item two
  3. ordered item three

Task lists use checkboxes:

  • write the docs
  • render them with Stygian
  • ship it

Quotes

A plain blockquote. It keeps the reading rhythm without shouting.

And callouts, via a kramdown attribute list on the blockquote:

Note: this is a callout. Write the note text inside the quote and add {: .callout } on the next line.

Warning: callouts inherit the theme surface and glow color, so they stay legible in both light and dark mode.

Code

Inline code uses the mono stack with a bordered chip. Fenced blocks get a copy button (hover the block) and a terminal-style surface:

gem build stygian.gemspec
jekyll build --baseurl /stygian
python3 -m http.server 4000 --directory _site
collections:
  docs:
    output: true
    permalink: /:collection/:path/
defaults:
  - scope:
      path: ""
      type: docs
    values:
      layout: docs
document.querySelectorAll('.sty-prose table').forEach((table) => {
  const wrap = document.createElement('div');
  wrap.className = 'table-scroll';
  table.parentNode.insertBefore(wrap, table);
  wrap.appendChild(table);
});
- remote_theme: just-the-docs/just-the-docs
+ remote_theme: ksauraj/stygian

Tables

Plain markdown tables render on a bordered surface. Narrow screens scroll the table horizontally instead of breaking the layout:

Resource Namespace Replicas Image Status Notes
api-server production 3 registry.example.com/api-server:v2.4.1 Running rolling update done
scheduler production 1 registry.example.com/scheduler:v2.4.1 Running leader elected
worker-pool production 12 registry.example.com/worker:v1.9.0 Running autoscaling active
canary staging 2 registry.example.com/api-server:v2.5.0-rc1 Running 10% traffic
legacy-api legacy 4 registry.example.com/legacy:v0.8.2 Degraded deprecation planned

Code inside table cells stays on one line: kubectl get pods -o wide.

Diagrams

Mermaid fences load the library lazily and render on demand. The theme keeps a dark graph in dark mode and a neutral one in light mode:

flowchart LR
    A[Markdown page] --> B[Kramdown]
    B --> C[Sidebar entry]
    B --> D[Prose render]
    D --> E[Copy buttons]
    D --> F[Tables]
    D --> G[Mermaid]
    C --> H[Prev / next]

Horizontal rule


Footnotes

Kramdown footnotes render at the bottom of the page1.

  1. This is a footnote. Reference it from anywhere with [^1]