My Doc-Site / Pages / Recipes / Include an HTML deck

Include an HTML deck

Rendered slide decks (Reveal.js, Marp, PowerPoint → HTML export) and other self-contained pages own their own full markup. You don't want the wrap script injecting the site chrome into the middle of a deck. The mechanism for that is external_layout.

How it works

A tab marked "external_layout": true in its _tab.json still appears in the header, but the wrap script skips every page inside it — the files are served exactly as authored. Use this for any tab whose pages are not <main class="doc-body"> documents.

Steps

  1. Create the tab directory and drop your decks in:
    mkdir docs/pages/decks
    cp ~/exports/q1-review.html docs/pages/decks/index.html
    cp ~/exports/pitch.html      docs/pages/decks/pitch.html
  2. Mark it external in docs/pages/decks/_tab.json:
    {
      "label": "Decks",
      "key": "research",
      "landing": "index.html",
      "order_priority": 40,
      "external_layout": true,
      "sections": []
    }
  3. Re-run the wrap script. It reports the decks tab as skipped (by design) and leaves those files byte-for-byte intact:
    python3 docs/_lib/_wrap_handwritten.py

Clicking the Decks tab opens index.html as-is; the deck controls its own navigation.

Linking to a deck from a normal page

<p>Watch the <a href="../decks/q1-review.html">Q1 review deck</a>.</p>

Notes

My Doc-Site docs