Replace the single always-numbered viewer-template.html with a templates/
directory of named doctype templates that share partials:
- templates/_head.html — <head> + all CSS (numbering CSS now scoped behind a
body.numbered class instead of being applied unconditionally)
- templates/_doc.html — shared TOC-sidebar body (report/specification)
- templates/_scripts.html — shared JS
- templates/{report,specification}.html — TOC-layout doctypes
- templates/letter.html — single-column letterhead, no TOC
A document selects its template with `template: <name>` in YAML front matter
(default report) and turns on legal numbering with `numbering: true` (default
off). Pandoc passes both fields straight from the front matter — the numbering
toggle needs no converter code. Retire custom.css (folded into _head.html,
gated) and the old viewer-template.html.
CLI: convert md→html resolves templates/<name>.html (name from front matter,
sanitized, default report); convert-diff uses templates/report.html and no
longer passes --css=custom.css. README updated.
Server (zddc/internal/convert) still uses its own embedded copy and is
unchanged here; it migrates to this templates/ dir in the next commit.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
56 lines
1.9 KiB
HTML
56 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
$_head()$
|
|
|
|
<body class="doc-letter$if(numbering)$ numbered$endif$">
|
|
<!-- Letter layout: single column, no TOC sidebar -->
|
|
<main class="content-wrapper" role="main">
|
|
<div class="content-page">
|
|
<!-- Letterhead -->
|
|
<header class="document-header">
|
|
<div class="header-content">
|
|
$if(client)$$if(project)$
|
|
<div class="header-line client-project">
|
|
$client$ - $project$$if(project_number)$ ($project_number$)$endif$
|
|
</div>
|
|
$endif$$endif$
|
|
$if(title)$
|
|
<div class="document-title">$title$</div>
|
|
$endif$
|
|
<div class="document-meta">
|
|
$if(date)$<span class="date">$date$</span>$endif$
|
|
$if(tracking_number)$<span class="tracking-number">$tracking_number$</span>$endif$
|
|
$if(revision)$<span class="revision">Revision: $revision$</span>$endif$
|
|
$if(status)$<span class="status">Status: $status$</span>$endif$
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- Print-only header -->
|
|
<div class="print-header">
|
|
$if(custom_header)$
|
|
$custom_header$
|
|
$else$
|
|
$if(client)$$if(project)$
|
|
<div class="header-line client-project">$client$ - $project$$if(project_number)$ ($project_number$)$endif$</div>
|
|
$endif$$endif$
|
|
$if(title)$<div class="header-line document-title">$title$</div>$endif$
|
|
$endif$
|
|
</div>
|
|
|
|
<!-- Print-only footer -->
|
|
<div class="print-footer">
|
|
<div class="footer-left">
|
|
$if(tracking_number)$$tracking_number$$endif$$if(revision)$ Revision: $revision$$endif$$if(status)$ Status: $status$$endif$
|
|
</div>
|
|
<div class="footer-right">Page <span class="page-number"></span></div>
|
|
</div>
|
|
|
|
<article class="document-content">
|
|
$body$
|
|
</article>
|
|
</div>
|
|
</main>
|
|
$_scripts()$
|
|
</body>
|
|
</html>
|