ozymandias/templates/partials/head.html

57 lines
3.1 KiB
HTML

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
$if(home)$<title>$site-title$</title>$else$<title>$title$ — $site-title$</title>$endif$
<link rel="stylesheet" href="/css/base.css">
<link rel="stylesheet" href="/css/layout.css">
<link rel="stylesheet" href="/css/typography.css">
<link rel="stylesheet" href="/css/sidenotes.css">
<link rel="stylesheet" href="/css/syntax.css">
<link rel="stylesheet" href="/css/components.css">
<link rel="stylesheet" href="/css/gallery.css">
<link rel="stylesheet" href="/css/popups.css">
<link rel="stylesheet" href="/css/selection-popup.css">
<link rel="stylesheet" href="/css/annotations.css">
<link rel="stylesheet" href="/css/images.css">
$if(home)$<link rel="stylesheet" href="/css/home.css">$endif$
$if(library)$<link rel="stylesheet" href="/css/library.css">$endif$
$if(new-page)$<link rel="stylesheet" href="/css/new.css">$endif$
$if(catalog)$<link rel="stylesheet" href="/css/catalog.css">$endif$
$if(commonplace)$<link rel="stylesheet" href="/css/commonplace.css">$endif$
$if(build)$<link rel="stylesheet" href="/css/build.css">$endif$
$if(reading)$<link rel="stylesheet" href="/css/reading.css">$endif$
$if(composition)$<link rel="stylesheet" href="/css/score-reader.css">$endif$
$if(photography)$<link rel="stylesheet" href="/css/photography.css">$endif$
$if(photography-map)$<link rel="stylesheet" href="/leaflet/leaflet.css">$endif$
$if(photography-map)$<link rel="stylesheet" href="/leaflet/MarkerCluster.css">$endif$
$if(photography-map)$<link rel="stylesheet" href="/leaflet/MarkerCluster.Default.css">$endif$
<link rel="stylesheet" href="/css/print.css" media="print">
$if(math)$
<!-- KaTeX CSS+fonts (~280 KB) is loaded from jsDelivr rather than vendored.
The framework vendors what is privacy/CSP-critical (Leaflet for the
photography map, the ML model for client-side semantic search); KaTeX
and Vega below are loaded only on pages that opt into them via
frontmatter, so the third-party request is bounded and predictable.
Swap the URL for a local /katex/ path if your CSP requires self-only. -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css">
$endif$
$if(search)$
<link rel="stylesheet" href="/pagefind/pagefind-ui.css">
$endif$
<script src="/js/utils.js"></script>
<script src="/js/theme.js"></script>
$if(viz)$
<!-- Vega + Vega-Lite + Vega-Embed (~1.5 MB total) is loaded from jsDelivr
rather than vendored. Same rationale as KaTeX above: opt-in per page
via `viz: true` frontmatter, so the request only happens on pages that
actually render data visualisations. Swap for local /vega/ paths if
your CSP requires self-only. -->
<link rel="stylesheet" href="/css/viz.css">
<script src="https://cdn.jsdelivr.net/npm/vega@5" defer></script>
<script src="https://cdn.jsdelivr.net/npm/vega-lite@5" defer></script>
<script src="https://cdn.jsdelivr.net/npm/vega-embed@6" defer></script>
<script src="/js/viz.js" defer></script>
$endif$
<script src="/js/collapse.js" defer></script>
<script src="/js/transclude.js" defer></script>
<script src="/js/copy.js" defer></script>