SuperAPI AI Directory

markdown-rendering

Writing & research

View repository

Updated 10-16 06:22

About this skill

Markdown Rendering

Convert any markdown file to a styled, self-contained HTML document and open it in the default browser.

Quick render (existing file)

nix run nixpkgs#pandoc -- \
  --from=markdown-implicit_figures --to=html --embed-resources --standalone \
  --css="$HOME/.pi/agent/skills/knowledge/markdown-rendering/assets/style.css" \
  input.md -o output.html && xdg-open output.html

Quick render (piped stdin — no temp file)

Pandoc accepts - as the input filename to read from stdin. Use this when generating markdown on the fly:

echo '# Hello World' | nix run nixpkgs#pandoc -- \
  --from=markdown-implicit_figures --to=html --embed-resources --standalone \
  --css="$HOME/.pi/agent/skills/knowledge/markdown-rendering/assets/style.css" \
  - -o output.html && xdg-open output.html

Stylesheet

The stylesheet lives at assets/style.css and is derived from ~/.nix/modules/nixos/defaults/colors.nix (base16 palette). It provides:

  • Dark background (#191033) with light text (#f8f8f8)
  • Yellow accents on headings (#fad000)
  • Cyan links (#80fcff) and green code strings (#a5ff90)
  • Styled tables, blockquotes, code blocks, and horizontal rules

Constraints

  • Always use nix run nixpkgs#pandoc — do not assume pandoc is on PATH
  • Always pass --embed-resources --standalone so the HTML is fully portable (no external CSS/JS dependencies)
  • Always pass --css=<path> pointing to assets/style.css for consistent styling
  • Always open with xdg-open after rendering — the user expects to see the result
  • Pipe generated markdown via stdin (-) instead of writing a temp file — pandoc reads stdin natively