at default-knot 160 lines 5.6 kB view raw
1<!DOCTYPE html> 2<html xmlns="http://www.w3.org/1999/xhtml" lang="$lang$" xml:lang="$lang$"$if(dir)$ dir="$dir$"$endif$> 3 <head> 4 <meta charset="utf-8" /> 5 <meta name="generator" content="pandoc" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> 7 $for(author-meta)$ 8 <meta name="author" content="$author-meta$" /> 9 $endfor$ 10 11 $if(date-meta)$ 12 <meta name="dcterms.date" content="$date-meta$" /> 13 $endif$ 14 15 $if(keywords)$ 16 <meta name="keywords" content="$for(keywords)$$keywords$$sep$, $endfor$" /> 17 $endif$ 18 19 $if(description-meta)$ 20 <meta name="description" content="$description-meta$" /> 21 $endif$ 22 23 <title>$pagetitle$</title> 24 25 <style> 26 $styles.css()$ 27 </style> 28 29 $for(css)$ 30 <link rel="stylesheet" href="$css$" /> 31 $endfor$ 32 33 $for(header-includes)$ 34 $header-includes$ 35 $endfor$ 36 37 <link rel="preload" href="/static/fonts/InterVariable.woff2" as="font" type="font/woff2" crossorigin /> 38 <link rel="icon" href="/static/logos/dolly.ico" sizes="48x48"/> 39 <link rel="icon" href="/static/logos/dolly.svg" sizes="any" type="image/svg+xml"/> 40 <link rel="apple-touch-icon" href="/static/logos/dolly.png"/> 41 42 </head> 43 <body class="bg-white dark:bg-gray-900 flex flex-col min-h-svh"> 44 $for(include-before)$ 45 $include-before$ 46 $endfor$ 47 48 $if(toc)$ 49 <!-- mobile TOC trigger --> 50 <div class="md:hidden px-6 py-4 border-b border-gray-200 dark:border-gray-700"> 51 <button 52 type="button" 53 popovertarget="mobile-toc-popover" 54 popovertargetaction="toggle" 55 class="w-full flex gap-2 items-center text-sm font-semibold dark:text-white" 56 > 57 ${ menu.svg() } 58 $if(toc-title)$$toc-title$$else$Table of Contents$endif$ 59 </button> 60 </div> 61 62 <div 63 id="mobile-toc-popover" 64 popover 65 class="mobile-toc-popover 66 bg-gray-50 dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700 67 h-full overflow-y-auto shadow-sm 68 px-6 py-4 fixed inset-x-0 top-0 w-fit max-w-4/5 m-0" 69 > 70 <div class="flex flex-col min-h-full"> 71 <div class="flex-1 space-y-4"> 72 <button 73 type="button" 74 popovertarget="mobile-toc-popover" 75 popovertargetaction="toggle" 76 class="w-full flex gap-2 items-center text-sm font-semibold dark:text-white mb-4"> 77 ${ x.svg() } 78 $if(toc-title)$$toc-title$$else$Table of Contents$endif$ 79 </button> 80 ${ logo.html() } 81 ${ search.html() } 82 ${ table-of-contents:toc.html() } 83 </div> 84 ${ single-page:mode.html() } 85 </div> 86 </div> 87 88 <!-- desktop sidebar toc --> 89 <nav 90 id="$idprefix$TOC" 91 role="doc-toc" 92 class="hidden md:flex md:flex-col gap-4 fixed left-0 top-0 w-80 h-screen 93 bg-gray-50 dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700 94 p-4 z-50 overflow-y-auto"> 95 ${ logo.html() } 96 ${ search.html() } 97 <div class="flex-1"> 98 $if(toc-title)$ 99 <h2 id="$idprefix$toc-title" class="text-lg font-semibold mb-4 text-gray-900">$toc-title$</h2> 100 $endif$ 101 ${ table-of-contents:toc.html() } 102 </div> 103 ${ single-page:mode.html() } 104 </nav> 105 $endif$ 106 107 <div class="$if(toc)$md:ml-80$endif$ flex-1 flex flex-col"> 108 <main class="max-w-4xl w-full mx-auto p-6 flex-1"> 109 $if(top)$ 110 $-- only print title block if this is NOT the top page 111 $else$ 112 $if(title)$ 113 <header id="title-block-header" class="mb-8 pb-8 border-b border-gray-200 dark:border-gray-700"> 114 <h1 class="text-4xl font-bold mb-2 text-black dark:text-white">$title$</h1> 115 $if(subtitle)$ 116 <p class="text-xl text-gray-500 dark:text-gray-400 mb-2">$subtitle$</p> 117 $endif$ 118 $for(author)$ 119 <p class="text-sm text-gray-500 dark:text-gray-400">$author$</p> 120 $endfor$ 121 $if(date)$ 122 <p class="text-sm text-gray-500 dark:text-gray-400">Updated on $date$</p> 123 $endif$ 124 $endif$ 125 </header> 126 $if(abstract)$ 127 <article class="prose dark:prose-invert max-w-none"> 128 $abstract$ 129 </article> 130 $endif$ 131 $endif$ 132 133 <article class="prose dark:prose-invert max-w-none"> 134 $body$ 135 </article> 136 </main> 137 <nav id="sitenav" class="border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800"> 138 <div class="max-w-4xl mx-auto px-8 py-4"> 139 <div class="flex justify-between gap-4"> 140 <span class="flex-1"> 141 $if(previous.url)$ 142 <span class="text-xs text-gray-500 dark:text-gray-400 uppercase block mb-1">Previous</span> 143 <a href="$previous.url$" accesskey="p" rel="previous">$previous.title$</a> 144 $endif$ 145 </span> 146 <span class="flex-1 text-right"> 147 $if(next.url)$ 148 <span class="text-xs text-gray-500 dark:text-gray-400 uppercase block mb-1">Next</span> 149 <a href="$next.url$" accesskey="n" rel="next">$next.title$</a> 150 $endif$ 151 </span> 152 </div> 153 </div> 154 </nav> 155 </div> 156 $for(include-after)$ 157 $include-after$ 158 $endfor$ 159 </body> 160</html>