diff options
| author | Nicolas Paul <n@nc0.fr> | 2023-04-27 18:36:46 +0200 |
|---|---|---|
| committer | Nicolas Paul <n@nc0.fr> | 2023-04-27 18:36:46 +0200 |
| commit | e287b89ecd02fcafe9dc0add4c82ddee14791eaa (patch) | |
| tree | 77db7b5be0ee6989c6e18363f053fee641608bf8 | |
| parent | 0924a2f58236dd6b379a1c3fc16ea01cbaa35288 (diff) | |
Update documentation site
| -rw-r--r-- | doc/src/.crocc.html | 78 | ||||
| -rw-r--r-- | doc/src/assets/crocc_logo.svg | 41 | ||||
| -rw-r--r-- | doc/src/assets/emoji_crocodile.ico | bin | 4286 -> 0 bytes | |||
| -rw-r--r-- | doc/src/assets/emoji_crocodile.png | bin | 5594 -> 0 bytes | |||
| -rw-r--r-- | doc/src/assets/emoji_crocodile.svg | 167 | ||||
| -rw-r--r-- | doc/src/css/prism.css | 4 | ||||
| -rw-r--r-- | doc/src/css/style.css | 173 | ||||
| -rw-r--r-- | doc/src/doc/iodir.md | 1 | ||||
| -rw-r--r-- | doc/src/js/prism.js | 14 | ||||
| -rw-r--r-- | doc/src/style.css | 92 |
10 files changed, 385 insertions, 185 deletions
diff --git a/doc/src/.crocc.html b/doc/src/.crocc.html index 49cf993..490ac42 100644 --- a/doc/src/.crocc.html +++ b/doc/src/.crocc.html @@ -14,8 +14,8 @@ <meta name="description" content="{{ .Description }}" /> <meta name="keywords" content="{{ .Keywords }}" /> <meta name="generator" content="{{ .Generator }}"> - <meta name="color-scheme" content="light dark" /> - <meta name="theme-color" content="#155eca"> + <meta name="color-scheme" content="only light" /> + <meta name="theme-color" content="#606c37"> <meta name="robots" content="all" /> <link rel="sitemap" href="/sitemap.xml" /> <meta name="twitter:card" content="summary_large_image" /> @@ -31,23 +31,37 @@ <meta property="og:locale" content="en" /> <meta property="og:site_name" content="Crocc" /> <meta property="og:image" content="{{ .Site }}/assets/crocodile.jpg" /> - <link rel="stylesheet" href="/style.css"> - <link rel="icon" href="assets/emoji_crocodile.svg" type="image/svg"> - <link rel="mask-icon" href="assets/emoji_crocodile.svg"> + <link rel="icon" href="/assets/emoji_crocodile.svg" type="image/svg"> + <link rel="mask-icon" href="/assets/emoji_crocodile.svg"> + <link rel="stylesheet" href="/css/style.css"> + <link rel="stylesheet" href="/css/prism.css"> + <script src="/js/prism.js"></script> </head> <body> - <header> - <nav> + <header aria-label="Page header" class="header"> + <div class="header-container-left"> + <a href="/"> + <img src="/assets/crocc_logo.svg" + alt="A green crocodile emoji" class="logo"> + </a> + </div> + <nav class="header-container-right" v> <ul> - <li><strong>Crocc</strong></li> - <li><a href="/">Home</a></li> <li> - <a href="https://github.com/n1c00o/crocc" - target="_blank">Source</a> + <h3><a href="/" class="header-link">About</a></h3> </li> <li> - <a href="https://nc0.fr" target="_blank">Nicolas - Paul</a> + <h3><a href="/doc" class="header-link">Documentation</a> + </h3> + </li> + <li> + <h3><a href="/example" class="header-link">Example</a> + </h3> + </li> + <li> + <h3><a href="https://github.com/n1c00o/crocc" + target="_blank" class="header-link">Source</a> + </h3> </li> </ul> </nav> @@ -55,10 +69,40 @@ <main> {{ .Content }} </main> - <footer> - <hr /> - - <p>Copyright (c) 2023, Nicolas Paul</p> + <footer role="contentinfo" aria-label="Page footer" class="footer"> + <hr> + <div class="footer-nav"> + <nav aria-label="Footer links" class="footer-column-left"> + <ul> + <li><a href="/" class="footer-link">Website</a></li> + <li><a href="/doc" class="footer-link">Documentation</a> + <li><a href="https://github.com/n1c00o/crocc" + target="_blank" class="footer-link"> + View source + </a></li> + <li><a href="https://github.com/n1c00o/crocc/issues" + target="_blank" class="footer-link">File + a bug</a></li> + </ul> + </nav> + <div aria-label="Footer copyright" class="footer-column-right"> + <div> + <p>Unless stated otherwise, the content of this page is + licensed under the <a + href="https://creativecommons.org/licenses/by/4.0/" + target="_blank" class="footer-link">Creative + Commons Attribution 4.0 + License</a>, and code samples are licensed under + the <a + href="https://github.com/n1c00o/crocc/blob/master/LICENSE" + target="_blank" class="footer-link">BSD-3-Clause + License</a>. + </p> + <p>© 2023 <a href="https://www.nc0.fr" target="_blank" + class="footer-link">Nicolas Paul</a></p> + </div> + </div> + </div> </footer> </body> </html>
\ No newline at end of file diff --git a/doc/src/assets/crocc_logo.svg b/doc/src/assets/crocc_logo.svg new file mode 100644 index 0000000..9eb1d1a --- /dev/null +++ b/doc/src/assets/crocc_logo.svg @@ -0,0 +1,41 @@ +<svg width="210mm" height="65mm" viewBox="0 0 109.172 33.791" + xmlns="http://www.w3.org/2000/svg"> + <path + d="M12.747 3.352L7.731 6.183 4.8 9.014l-2.388.463s.931 1.042 3.64.159c2.683-.876 4.197-4.474 7.123-4.154 2.812.307 2.28 3.045 2.28 3.045l3.848-4.379zM11.893 10.93s-.892.262-1.403 1.648c-.396 1.077-.137 2.122-.023 2.532.11.41.394.968.412 1.19.019.223-.637.66-.606 1.072.019.244.469.603 1.024.67 1.08.13 1.323-.149 1.323-.149l1.453-5zM12.422 19.637s-1.87-1.08-3.789-.968c-1.918.11-2.458 1.005-2.683 1.77-.148.508-.492 1.383-.764 1.825-.252.41-.784.76-1.117.834-.479.106-1.072.307-.881 1.042.156.603.595.982 1.135 1.336.532.347 1.159.747 1.159.747l6.871-4.554zM18.986 23.082l-1.564 2.066s.614 1.23 2.141 1.583c1.527.354 2.318.447 2.524.939.278.672-.037 1.563-.148 1.751-.111.186-.693.794-.27 1.212.513.503 1.9.204 2.384.037.484-.167 1.093-.294 1.307-1 .146-.484.44-2.228.397-3.31-.048-1.257-.28-2.095-.67-2.45-.391-.354-2.952-.828-2.952-.828s.442-1.027.95-2.365c.25-.662.4-1.368.52-1.416.194-.074.514.447.588.65.074.205.037 2.242.315 2.546.236.26 1.013.429 1.725-.047.625-.418 1.283-1.194 1.249-1.993-.048-1.034-.998-1.788-1.035-2.198-.037-.41.149-1.445 0-2.244-.148-.802-3.976-3.175-3.976-3.175z" + fill="#5a6415" /> + <path fill="#f26a35" + d="M12.096 26.656L3.267 29.04l-1.19.28.037 1.21 2.254 1.49 5.215-1.546 3.334-1.786-.932-2.161" /> + <path + d="M2.431 30.866s.074-1.098.558-1.005c.395.076.577 1.378.577 1.378l.67.558.67-.632s.335-1.304.727-1.342c.447-.042.746 1.173.746 1.173l-2.14 1.172zM7.72 28.072s.463.92 1.006.876c.65-.056.764-1.638.764-1.638z" + fill="#fffdfd" /> + <path + d="M6.564 24.18c-.085.51-1.138 1.146-1.577 1.434-.545.36-1.18.839-1.59.857-.41.019-1.019.061-1.6.1-.56.038-.956.157-1.218.697-.193.4-.235 1.328.212 1.775.447.447 1.434.839 2.757.67 1.323-.167 1.733-.392 2.161-.577.429-.186 2.421-.987 3.353-1.23.931-.244 2.683-.747 2.979-.485.299.262-.894 1.061-1.826 1.416-.931.354-3.696 1.936-4.791 2.235-.78.212-2.44.096-2.845-.28-.307-.283-.41-.479-.418-.736-.01-.256-.293-.349-.55-.084-.318.325.03 1.19.67 1.714.637.516 1.711.818 3.301.707 2.162-.149 4.141-1.546 4.607-1.564.465-.019 1.984.225 3.426-.347 1.482-.587 2.21-1.701 2.21-1.701s1.29-.622 2.11-1.18c.821-.558 1.342-.945 1.342-.945s-.72-.423-.738-1.452c-.01-.614.204-1.453.746-1.36.54.093-.391 1.452.614 1.937 1.005.484 2.738 1.024 3.67.484.931-.54 1.892-1.934 1.577-2.4-.318-.466-1.067-.638-1.789-.783-.677-.135-1.54-.188-1.54-.188s.913-2.291 1.024-3.574a7.6 7.6 0 00-.055-1.845c-.112-.688-.289-1.542-.28-2.18.01-.688.073-1.638.428-1.563.354.074.193 1.042.262 1.955.074 1.024.52 2.476 1.677 2.402 1.154-.074 1.77-.876 1.6-2.402-.166-1.527-.343-2.495-.978-3.278-.632-.784-1.33-.94-1.33-.94s-.094-2.894-.95-4.683c-.94-1.966-3.046-4.638-6.285-5.57-3.238-.93-5.638-.028-7.31.988C7.32 3.6 6.315 7.389 4.9 8.08c-1.416.69-2.561.661-2.58 1.053-.018.392.13.521 1.043.503.912-.019 1.849-.167 3.053-1.024 1.423-1.016 3.37-3.37 4.842-3.91 1.47-.54 3.053-.374 3.8.428.745.802.967 1.701.79 2.42-.293 1.197-1.164 1.956-1.164 1.956s-2.775.746-3.574 1.974c-.8 1.228-.57 1.778.037 2.273.97.79 2.272.391 2.272.391s-.643 2.366-.79 3.09c-.149.728-.625 3.112-.773 3.483-.149.373-.336 1.19-.84 1.172-.502-.019-1.396-.95-2.923-.355-1.383.54-1.415 1.977-1.529 2.646z" + fill="#70853c" /> + <path + d="M11.062 27.178c-.569.158-.606 1.555-.606 1.555s.347-.135.717-.344a2.36 2.36 0 00.527-.378s-.286-.931-.638-.833z" + fill="#fffdfd" /> + <path + d="M23.003 29.752c-.392-.029-.559.347-.646.73-.048.204-.066.4-.066.4s.222.047.484.029c.262-.019.503-.056.503-.056s.267-1.063-.275-1.103zM23.627 30.781s-.056-.452.14-.823c.196-.373.736-.37.765.14.013.257-.019.424-.019.424s-.185.093-.367.146c-.215.058-.519.113-.519.113z" + fill="#70853c" /> + <path + d="M25.17 21.685c-.456.003-.482.94-.482.94s.161.131.452.14c.26.007.466-.048.466-.048s.069-1.035-.437-1.032zM26 22.582s-.431-1.037.133-1.18c.386-.098.52.704.52.704s-.12.153-.28.262c-.169.113-.373.214-.373.214z" + fill="#71873b" /> + <path + d="M10.411 17.642s.36-.852.722-.667c.381.196-.103 1.011-.103 1.011s-.204-.066-.373-.159a1.477 1.477 0 01-.246-.185zM11.853 17.206c.4.018.262.862.262.862s-.172.019-.355.013c-.169-.005-.367-.024-.367-.024s.105-.867.46-.851zM3.156 23.91s.96-.251 1.154.177c.196.429-.786.717-.786.717s-.201-.254-.265-.428c-.135-.36-.103-.466-.103-.466zM3.847 25.124c-.01-.029.595-.605.939-.354s-.214.857-.214.857-.233-.127-.381-.233c-.18-.127-.344-.27-.344-.27z" + fill="#70853c" /> + <path + d="M13.628 24.881c.037.434-.087.945-.746 1.106-.598.148-1.204-.235-1.217-.881a1.025 1.025 0 011.006-1.069c.531 0 .912.312.957.844zM4.41 28.215c-.024.31-.29.394-.484.373a.438.438 0 01-.376-.553.424.424 0 01.532-.294c.21.064.35.21.328.474zM2.257 27.614c.11.249-.101.495-.262.558-.217.088-.506-.01-.577-.267a.424.424 0 01.296-.529c.214-.055.434-.005.543.238z" + fill="#2e2c33" /> + <path + d="M13.022 20.2c-.18.599.022.966.109 1.16.175.383.45.37.675.195.222-.174-.1-.793.013-1.08.161-.41.733-.423.682-.917-.037-.37-.531-.45-.88-.149-.257.215-.48.387-.599.792zM14.21 16.536a1.73 1.73 0 00-.018 1.305c.122.298.68.391.735-.104.038-.333-.121-.55.03-.931.145-.373.447-.28.727-.532.148-.135.167-.632-.38-.624-.292.005-.797.15-1.094.886zM18.838 17.93c-.111.57-.019.932.093 1.128.11.195.576.333.706-.093.074-.243-.103-.437.03-.94.065-.256.243-.38.41-.558.261-.28-.088-.73-.514-.558-.296.12-.587.328-.725 1.021zM17.153 21.434c-.233.418-.19.889-.149 1.164.085.569.651.558.717.233.067-.326-.01-.728.104-.998.113-.27.465-.333.688-.447.306-.159.222-.81-.355-.688-.577.122-.82.402-1.005.736zM19.891 13.694c-.14.474-.1.797-.066.969.085.4.643.418.698.066.056-.355.037-.55.104-.773.108-.367.2-.43.362-.605.288-.307-.066-.792-.503-.532-.251.15-.49.516-.595.875zM15.372 12.348c-.24.465-.183.968-.146 1.214.04.244.164.471.434.45.27-.019.368-.225.339-.45-.016-.116-.077-.5.048-.764.124-.265.373-.424.569-.5.484-.186.198-.884-.358-.696-.404.14-.693.373-.886.746zM17.163 8.723c-.349.376-.368.83-.344 1.154.048.642.643.54.717.177.05-.244.103-.577.178-.746.148-.336.4-.54.203-.746-.177-.183-.521-.09-.754.161zM20.497 9.583c-.032.558.06.786.201 1.042.201.368.717.275.746-.158.021-.315-.127-.241-.095-.852.021-.387.23-.757-.053-.895-.28-.137-.746-.063-.799.863zM19.63 5.286c.158.27.362.503.436.876.103.513.775.391.783-.074.01-.625-.185-.903-.41-1.183-.217-.27-.57-.28-.717-.177-.148.103-.228.328-.093.558zM17.07 5.514a.465.465 0 00-.06.64c.222.275.346.5.333.73-.021.368.31.503.521.35.283-.207.381-.593.111-1.2-.254-.565-.711-.687-.904-.52zM16.343 2.262c-.082.26.193.354.468.402.275.048.593.254.686.458.13.285.537.442.624-.006.077-.383-.413-.78-.714-.955-.246-.145-.921-.349-1.064.1zM15.737 3.397c-.418-.236-1.143-.214-1.23.185-.093.437.307.423.484.437.233.018.455.084.595.251.14.167.244.355.532.27.288-.082.347-.736-.38-1.143zM14.303 2.018c.122-.153.085-.605-.735-.643-.686-.031-.863.297-.755.503.14.27.482.082.765.111.344.037.577.215.725.03zM12.58 2.828c-.473-.056-1 .23-.894.643.085.325.474-.026.783-.019.374.011.702.239.81.019.159-.318-.048-.566-.698-.643zM10.898 2.27c-.008.317-.304.225-.67.362-.222.085-.43.484-.64.31-.28-.236-.024-.611.397-.828.304-.162.923-.18.913.156zM9.615 3.677c-.622.305-.784 1.061-.474 1.196.376.164.368-.397.69-.603.257-.161.855-.077.85-.442-.005-.365-.69-.333-1.066-.15zM8.456 5.723c.069-.241-.41-.57-.98-.186-.568.384-.608.945-.243 1.024.262.056.28-.341.503-.513.318-.24.627.003.72-.325z" + fill="#97a927" /><text + style="-inkscape-font-specification:'Public Sans, @wght=600';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 600" + x="56.112" y="41.08" transform="matrix(.98946 0 0 1.01065 -21.275 -15.956)" + font-weight="400" font-size="28.971" + font-family="system-ui, -apple-system, BlinkMacSystemFont, sans-serif" + fill="#606c37" stroke-width="2.414"> + <tspan + style="-inkscape-font-specification:'Public Sans, @wght=600';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 600" + x="56.112" y="41.08">crocc</tspan> + </text> +</svg>
\ No newline at end of file diff --git a/doc/src/assets/emoji_crocodile.ico b/doc/src/assets/emoji_crocodile.ico Binary files differdeleted file mode 100644 index 16b28a5..0000000 --- a/doc/src/assets/emoji_crocodile.ico +++ /dev/null diff --git a/doc/src/assets/emoji_crocodile.png b/doc/src/assets/emoji_crocodile.png Binary files differdeleted file mode 100644 index 8f151c7..0000000 --- a/doc/src/assets/emoji_crocodile.png +++ /dev/null diff --git a/doc/src/assets/emoji_crocodile.svg b/doc/src/assets/emoji_crocodile.svg index f9049ee..ede70eb 100644 --- a/doc/src/assets/emoji_crocodile.svg +++ b/doc/src/assets/emoji_crocodile.svg @@ -1,26 +1,32 @@ <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<svg version="1.1" id="Layer_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - viewBox="0 0 128 128" style="enable-background:new 0 0 128 128;" xml:space="preserve"> -<path style="fill:#5A6415;" d="M58.5,13.64l-18.96,10.7l-11.07,10.7l-9.03,1.75c0,0,3.52,3.94,13.76,0.6 - c10.14-3.31,15.86-16.91,26.92-15.7c10.63,1.16,8.62,11.51,8.62,11.51l14.54-16.55L58.5,13.64z"/> -<path style="fill:#5A6415;" d="M55.27,42.28c0,0-3.37,0.99-5.3,6.23c-1.5,4.07-0.52,8.02-0.09,9.57c0.42,1.55,1.49,3.66,1.56,4.5 - c0.07,0.84-2.41,2.49-2.29,4.05c0.07,0.92,1.77,2.28,3.87,2.53c4.08,0.49,5-0.56,5-0.56l5.49-18.9L55.27,42.28z"/> -<path style="fill:#5A6415;" d="M57.27,75.19c0,0-7.07-4.08-14.32-3.66s-9.29,3.8-10.14,6.69c-0.56,1.92-1.86,5.23-2.89,6.9 +<svg version="1.1" id="Layer_3" xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 128 128" style="enable-background:new 0 0 128 128;" + xml:space="preserve"> + <path style="fill:#5A6415;" + d="M58.5,13.64l-18.96,10.7l-11.07,10.7l-9.03,1.75c0,0,3.52,3.94,13.76,0.6 + c10.14-3.31,15.86-16.91,26.92-15.7c10.63,1.16,8.62,11.51,8.62,11.51l14.54-16.55L58.5,13.64z" /> + <path style="fill:#5A6415;" + d="M55.27,42.28c0,0-3.37,0.99-5.3,6.23c-1.5,4.07-0.52,8.02-0.09,9.57c0.42,1.55,1.49,3.66,1.56,4.5 + c0.07,0.84-2.41,2.49-2.29,4.05c0.07,0.92,1.77,2.28,3.87,2.53c4.08,0.49,5-0.56,5-0.56l5.49-18.9L55.27,42.28z" /> + <path style="fill:#5A6415;" d="M57.27,75.19c0,0-7.07-4.08-14.32-3.66s-9.29,3.8-10.14,6.69c-0.56,1.92-1.86,5.23-2.89,6.9 c-0.95,1.55-2.96,2.87-4.22,3.15c-1.81,0.4-4.05,1.16-3.33,3.94c0.59,2.28,2.25,3.71,4.29,5.05c2.01,1.31,4.38,2.82,4.38,2.82 - l25.97-17.21L57.27,75.19z"/> -<path style="fill:#5A6415;" d="M82.08,88.21l-5.91,7.81c0,0,2.32,4.65,8.09,5.98c5.77,1.34,8.76,1.69,9.54,3.55 + l25.97-17.21L57.27,75.19z" /> + <path style="fill:#5A6415;" d="M82.08,88.21l-5.91,7.81c0,0,2.32,4.65,8.09,5.98c5.77,1.34,8.76,1.69,9.54,3.55 c1.05,2.54-0.14,5.91-0.56,6.62c-0.42,0.7-2.62,3-1.02,4.58c1.94,1.9,7.18,0.77,9.01,0.14s4.13-1.11,4.94-3.78 c0.55-1.83,1.66-8.42,1.5-12.51c-0.18-4.75-1.06-7.92-2.53-9.26c-1.48-1.34-11.16-3.13-11.16-3.13s1.67-3.88,3.59-8.94 c0.95-2.5,1.51-5.17,1.97-5.35c0.73-0.28,1.94,1.69,2.22,2.46c0.28,0.77,0.14,8.47,1.19,9.62c0.89,0.98,3.83,1.62,6.52-0.18 c2.36-1.58,4.85-4.51,4.72-7.53c-0.18-3.91-3.77-6.76-3.91-8.31c-0.14-1.55,0.56-5.46,0-8.48c-0.56-3.03-15.03-12-15.03-12 - L82.08,88.21z"/> -<polyline style="fill:#F26A35;" points="56.04,101.72 22.67,110.73 18.17,111.79 18.31,116.36 26.83,121.99 46.54,116.15 - 59.14,109.4 55.62,101.23 "/> -<path style="fill:#FFFDFD;" d="M19.51,117.63c0,0,0.28-4.15,2.11-3.8c1.49,0.29,2.18,5.21,2.18,5.21l2.53,2.11l2.53-2.39 - c0,0,1.27-4.93,2.75-5.07c1.69-0.16,2.82,4.43,2.82,4.43l-8.09,4.43L19.51,117.63z"/> -<path style="fill:#FFFDFD;" d="M39.5,107.07c0,0,1.75,3.48,3.8,3.31c2.46-0.21,2.89-6.19,2.89-6.19L39.5,107.07z"/> -<path style="fill:#70853C;" d="M35.13,92.36c-0.32,1.93-4.3,4.33-5.96,5.42c-2.06,1.36-4.46,3.17-6.01,3.24s-3.85,0.23-6.05,0.38 + L82.08,88.21z" /> + <polyline style="fill:#F26A35;" points="56.04,101.72 22.67,110.73 18.17,111.79 18.31,116.36 26.83,121.99 46.54,116.15 + 59.14,109.4 55.62,101.23 " /> + <path style="fill:#FFFDFD;" + d="M19.51,117.63c0,0,0.28-4.15,2.11-3.8c1.49,0.29,2.18,5.21,2.18,5.21l2.53,2.11l2.53-2.39 + c0,0,1.27-4.93,2.75-5.07c1.69-0.16,2.82,4.43,2.82,4.43l-8.09,4.43L19.51,117.63z" /> + <path style="fill:#FFFDFD;" + d="M39.5,107.07c0,0,1.75,3.48,3.8,3.31c2.46-0.21,2.89-6.19,2.89-6.19L39.5,107.07z" /> + <path style="fill:#70853C;" d="M35.13,92.36c-0.32,1.93-4.3,4.33-5.96,5.42c-2.06,1.36-4.46,3.17-6.01,3.24s-3.85,0.23-6.05,0.38 c-2.11,0.14-3.61,0.59-4.6,2.63c-0.73,1.51-0.89,5.02,0.8,6.71c1.69,1.69,5.42,3.17,10.42,2.53c5-0.63,6.55-1.48,8.17-2.18 c1.62-0.7,9.15-3.73,12.67-4.65c3.52-0.92,10.14-2.82,11.26-1.83c1.13,0.99-3.38,4.01-6.9,5.35c-3.52,1.34-13.97,7.32-18.11,8.45 c-2.95,0.8-9.22,0.36-10.75-1.06c-1.16-1.07-1.55-1.81-1.58-2.78c-0.04-0.97-1.11-1.32-2.08-0.32c-1.2,1.23,0.11,4.5,2.53,6.48 @@ -34,66 +40,75 @@ c3.45-0.07,6.99-0.63,11.54-3.87c5.38-3.84,12.74-12.74,18.3-14.78s11.54-1.41,14.36,1.62s3.66,6.43,2.99,9.15 c-1.11,4.52-4.4,7.39-4.4,7.39s-10.49,2.82-13.51,7.46s-2.15,6.72,0.14,8.59c3.67,2.99,8.59,1.48,8.59,1.48s-2.43,8.94-2.99,11.68 c-0.56,2.75-2.36,11.76-2.92,13.16c-0.56,1.41-1.27,4.5-3.17,4.43c-1.9-0.07-5.28-3.59-11.05-1.34 - C35.68,84.4,35.56,89.83,35.13,92.36z"/> -<path style="fill:#FFFDFD;" d="M52.13,103.69c-2.15,0.6-2.29,5.88-2.29,5.88s1.31-0.51,2.71-1.3c1.37-0.77,1.99-1.43,1.99-1.43 - S53.46,103.32,52.13,103.69z"/> -<path style="fill:#70853C;" d="M97.26,113.42c-1.48-0.11-2.11,1.31-2.44,2.76c-0.18,0.77-0.25,1.51-0.25,1.51s0.84,0.18,1.83,0.11 - s1.9-0.21,1.9-0.21S99.31,113.57,97.26,113.42z"/> -<path style="fill:#70853C;" d="M99.62,117.31c0,0-0.21-1.71,0.53-3.11c0.74-1.41,2.78-1.4,2.89,0.53c0.05,0.97-0.07,1.6-0.07,1.6 - s-0.7,0.35-1.39,0.55C100.77,117.1,99.62,117.31,99.62,117.31z"/> -<path style="fill:#71873B;" d="M105.45,82.93c-1.72,0.01-1.82,3.55-1.82,3.55s0.61,0.5,1.71,0.53c0.98,0.03,1.76-0.18,1.76-0.18 - S107.36,82.92,105.45,82.93z"/> -<path style="fill:#71873B;" d="M108.59,86.32c0,0-1.63-3.92,0.5-4.46c1.46-0.37,1.97,2.66,1.97,2.66s-0.46,0.58-1.06,0.99 - C109.36,85.94,108.59,86.32,108.59,86.32z"/> -<path style="fill:#70853C;" d="M49.67,67.65c0,0,1.36-3.22,2.73-2.52c1.44,0.74-0.39,3.82-0.39,3.82s-0.77-0.25-1.41-0.6 - C50.16,68.11,49.67,67.65,49.67,67.65z"/> -<path style="fill:#70853C;" d="M55.12,66c1.51,0.07,0.99,3.26,0.99,3.26s-0.65,0.07-1.34,0.05c-0.64-0.02-1.39-0.09-1.39-0.09 - S53.78,65.94,55.12,66z"/> -<path style="fill:#70853C;" d="M22.25,91.34c0,0,3.63-0.95,4.36,0.67c0.74,1.62-2.97,2.71-2.97,2.71s-0.76-0.96-1-1.62 - C22.13,91.74,22.25,91.34,22.25,91.34z"/> -<path style="fill:#70853C;" d="M24.86,95.93c-0.04-0.11,2.25-2.29,3.55-1.34s-0.81,3.24-0.81,3.24s-0.88-0.48-1.44-0.88 - C25.48,96.47,24.86,95.93,24.86,95.93z"/> -<path style="fill:#2E2C33;" d="M61.83,95.01c0.14,1.64-0.33,3.57-2.82,4.18c-2.26,0.56-4.55-0.89-4.6-3.33 - c-0.05-2.35,1.79-4.04,3.8-4.04S61.66,93,61.83,95.01z"/> -<path style="fill:#2E2C33;" d="M26.99,107.61c-0.09,1.17-1.1,1.49-1.83,1.41c-1.03-0.12-1.71-1.13-1.42-2.09 - c0.27-0.93,1.21-1.36,2.01-1.11C26.54,106.06,27.07,106.61,26.99,107.61z"/> -<path style="fill:#2E2C33;" d="M18.85,105.34c0.42,0.94-0.38,1.87-0.99,2.11c-0.82,0.33-1.91-0.04-2.18-1.01 - c-0.26-0.93,0.31-1.79,1.12-2S18.44,104.42,18.85,105.34z"/> -<path style="fill:#97A927;" d="M59.54,77.32c-0.68,2.26,0.08,3.65,0.41,4.38c0.66,1.45,1.7,1.4,2.55,0.74 - c0.84-0.66-0.38-3,0.05-4.08c0.61-1.55,2.77-1.6,2.58-3.47c-0.14-1.4-2.01-1.7-3.33-0.56C60.83,75.14,59.99,75.79,59.54,77.32z"/> -<path style="fill:#97A927;" d="M64.03,63.47c-0.95,2.35-0.35,4.24-0.07,4.93c0.46,1.13,2.57,1.48,2.78-0.39 + C35.68,84.4,35.56,89.83,35.13,92.36z" /> + <path style="fill:#FFFDFD;" d="M52.13,103.69c-2.15,0.6-2.29,5.88-2.29,5.88s1.31-0.51,2.71-1.3c1.37-0.77,1.99-1.43,1.99-1.43 + S53.46,103.32,52.13,103.69z" /> + <path style="fill:#70853C;" d="M97.26,113.42c-1.48-0.11-2.11,1.31-2.44,2.76c-0.18,0.77-0.25,1.51-0.25,1.51s0.84,0.18,1.83,0.11 + s1.9-0.21,1.9-0.21S99.31,113.57,97.26,113.42z" /> + <path style="fill:#70853C;" d="M99.62,117.31c0,0-0.21-1.71,0.53-3.11c0.74-1.41,2.78-1.4,2.89,0.53c0.05,0.97-0.07,1.6-0.07,1.6 + s-0.7,0.35-1.39,0.55C100.77,117.1,99.62,117.31,99.62,117.31z" /> + <path style="fill:#71873B;" d="M105.45,82.93c-1.72,0.01-1.82,3.55-1.82,3.55s0.61,0.5,1.71,0.53c0.98,0.03,1.76-0.18,1.76-0.18 + S107.36,82.92,105.45,82.93z" /> + <path style="fill:#71873B;" d="M108.59,86.32c0,0-1.63-3.92,0.5-4.46c1.46-0.37,1.97,2.66,1.97,2.66s-0.46,0.58-1.06,0.99 + C109.36,85.94,108.59,86.32,108.59,86.32z" /> + <path style="fill:#70853C;" d="M49.67,67.65c0,0,1.36-3.22,2.73-2.52c1.44,0.74-0.39,3.82-0.39,3.82s-0.77-0.25-1.41-0.6 + C50.16,68.11,49.67,67.65,49.67,67.65z" /> + <path style="fill:#70853C;" d="M55.12,66c1.51,0.07,0.99,3.26,0.99,3.26s-0.65,0.07-1.34,0.05c-0.64-0.02-1.39-0.09-1.39-0.09 + S53.78,65.94,55.12,66z" /> + <path style="fill:#70853C;" d="M22.25,91.34c0,0,3.63-0.95,4.36,0.67c0.74,1.62-2.97,2.71-2.97,2.71s-0.76-0.96-1-1.62 + C22.13,91.74,22.25,91.34,22.25,91.34z" /> + <path style="fill:#70853C;" d="M24.86,95.93c-0.04-0.11,2.25-2.29,3.55-1.34s-0.81,3.24-0.81,3.24s-0.88-0.48-1.44-0.88 + C25.48,96.47,24.86,95.93,24.86,95.93z" /> + <path style="fill:#2E2C33;" d="M61.83,95.01c0.14,1.64-0.33,3.57-2.82,4.18c-2.26,0.56-4.55-0.89-4.6-3.33 + c-0.05-2.35,1.79-4.04,3.8-4.04S61.66,93,61.83,95.01z" /> + <path style="fill:#2E2C33;" d="M26.99,107.61c-0.09,1.17-1.1,1.49-1.83,1.41c-1.03-0.12-1.71-1.13-1.42-2.09 + c0.27-0.93,1.21-1.36,2.01-1.11C26.54,106.06,27.07,106.61,26.99,107.61z" /> + <path style="fill:#2E2C33;" d="M18.85,105.34c0.42,0.94-0.38,1.87-0.99,2.11c-0.82,0.33-1.91-0.04-2.18-1.01 + c-0.26-0.93,0.31-1.79,1.12-2S18.44,104.42,18.85,105.34z" /> + <path style="fill:#97A927;" + d="M59.54,77.32c-0.68,2.26,0.08,3.65,0.41,4.38c0.66,1.45,1.7,1.4,2.55,0.74 + c0.84-0.66-0.38-3,0.05-4.08c0.61-1.55,2.77-1.6,2.58-3.47c-0.14-1.4-2.01-1.7-3.33-0.56C60.83,75.14,59.99,75.79,59.54,77.32z" /> + <path style="fill:#97A927;" d="M64.03,63.47c-0.95,2.35-0.35,4.24-0.07,4.93c0.46,1.13,2.57,1.48,2.78-0.39 c0.14-1.26-0.46-2.08,0.11-3.52c0.55-1.41,1.69-1.06,2.75-2.01c0.56-0.51,0.63-2.39-1.44-2.36C67.06,60.14,65.15,60.69,64.03,63.47z - "/> -<path style="fill:#97A927;" d="M81.52,68.74c-0.42,2.15-0.07,3.52,0.35,4.26c0.42,0.74,2.18,1.26,2.67-0.35 + " /> + <path style="fill:#97A927;" d="M81.52,68.74c-0.42,2.15-0.07,3.52,0.35,4.26c0.42,0.74,2.18,1.26,2.67-0.35 c0.28-0.92-0.39-1.65,0.11-3.55c0.25-0.97,0.92-1.44,1.55-2.11c0.99-1.06-0.33-2.76-1.94-2.11C83.14,65.33,82.04,66.12,81.52,68.74z - "/> -<path style="fill:#97A927;" d="M75.15,81.98c-0.88,1.58-0.72,3.36-0.56,4.4c0.32,2.15,2.46,2.11,2.71,0.88 - c0.25-1.23-0.04-2.75,0.39-3.77s1.76-1.26,2.6-1.69c1.16-0.6,0.84-3.06-1.34-2.6C76.77,79.66,75.85,80.72,75.15,81.98z"/> -<path style="fill:#97A927;" d="M85.5,52.73c-0.53,1.79-0.38,3.01-0.25,3.66c0.32,1.51,2.43,1.58,2.64,0.25 - c0.21-1.34,0.14-2.08,0.39-2.92c0.41-1.39,0.76-1.63,1.37-2.29c1.09-1.16-0.25-2.99-1.9-2.01C86.8,49.99,85.9,51.37,85.5,52.73z"/> -<path style="fill:#97A927;" d="M68.42,47.64c-0.91,1.76-0.69,3.66-0.55,4.59c0.15,0.92,0.62,1.78,1.64,1.7 + " /> + <path style="fill:#97A927;" + d="M75.15,81.98c-0.88,1.58-0.72,3.36-0.56,4.4c0.32,2.15,2.46,2.11,2.71,0.88 + c0.25-1.23-0.04-2.75,0.39-3.77s1.76-1.26,2.6-1.69c1.16-0.6,0.84-3.06-1.34-2.6C76.77,79.66,75.85,80.72,75.15,81.98z" /> + <path style="fill:#97A927;" + d="M85.5,52.73c-0.53,1.79-0.38,3.01-0.25,3.66c0.32,1.51,2.43,1.58,2.64,0.25 + c0.21-1.34,0.14-2.08,0.39-2.92c0.41-1.39,0.76-1.63,1.37-2.29c1.09-1.16-0.25-2.99-1.9-2.01C86.8,49.99,85.9,51.37,85.5,52.73z" /> + <path style="fill:#97A927;" d="M68.42,47.64c-0.91,1.76-0.69,3.66-0.55,4.59c0.15,0.92,0.62,1.78,1.64,1.7 c1.02-0.07,1.39-0.85,1.28-1.7c-0.06-0.44-0.29-1.89,0.18-2.89s1.41-1.6,2.15-1.89c1.83-0.7,0.75-3.34-1.35-2.63 - C70.24,45.35,69.15,46.23,68.42,47.64z"/> -<path style="fill:#97A927;" d="M75.19,33.94c-1.32,1.42-1.39,3.14-1.3,4.36c0.18,2.43,2.43,2.04,2.71,0.67 - c0.19-0.92,0.39-2.18,0.67-2.82c0.56-1.27,1.51-2.04,0.77-2.82C77.37,32.64,76.07,32.99,75.19,33.94z"/> -<path style="fill:#97A927;" d="M87.79,37.19c-0.12,2.11,0.23,2.97,0.76,3.94c0.76,1.39,2.71,1.04,2.82-0.6 - c0.08-1.19-0.48-0.91-0.36-3.22c0.08-1.46,0.87-2.86-0.2-3.38C89.75,33.41,87.99,33.69,87.79,37.19z"/> -<path style="fill:#97A927;" d="M84.51,20.95c0.6,1.02,1.37,1.9,1.65,3.31c0.39,1.94,2.93,1.48,2.96-0.28 - c0.04-2.36-0.7-3.41-1.55-4.47c-0.82-1.02-2.15-1.06-2.71-0.67S84,20.08,84.51,20.95z"/> -<path style="fill:#97A927;" d="M74.84,21.81c-0.64,0.54-0.87,1.62-0.23,2.42c0.84,1.04,1.31,1.89,1.26,2.76 - c-0.08,1.39,1.17,1.9,1.97,1.32c1.07-0.78,1.44-2.24,0.42-4.53C77.3,21.64,75.57,21.18,74.84,21.81z"/> -<path style="fill:#97A927;" d="M72.09,9.52c-0.31,0.98,0.73,1.34,1.77,1.52c1.04,0.18,2.24,0.96,2.59,1.73 - c0.49,1.08,2.03,1.67,2.36-0.02c0.29-1.45-1.56-2.95-2.7-3.61C75.18,8.59,72.63,7.82,72.09,9.52z"/> -<path style="fill:#97A927;" d="M69.8,13.81c-1.58-0.89-4.32-0.81-4.65,0.7c-0.35,1.65,1.16,1.6,1.83,1.65 - c0.88,0.07,1.72,0.32,2.25,0.95c0.53,0.63,0.92,1.34,2.01,1.02C72.33,17.82,72.55,15.35,69.8,13.81z"/> -<path style="fill:#97A927;" d="M64.38,8.6c0.46-0.58,0.32-2.29-2.78-2.43c-2.59-0.12-3.26,1.12-2.85,1.9 - c0.53,1.02,1.82,0.31,2.89,0.42C62.94,8.63,63.82,9.3,64.38,8.6z"/> -<path style="fill:#97A927;" d="M57.87,11.66c-1.79-0.21-3.78,0.87-3.38,2.43c0.32,1.23,1.79-0.1,2.96-0.07 - c1.41,0.04,2.65,0.9,3.06,0.07C61.11,12.89,60.33,11.95,57.87,11.66z"/> -<path style="fill:#97A927;" d="M51.51,9.55c-0.03,1.2-1.15,0.85-2.53,1.37c-0.84,0.32-1.63,1.83-2.42,1.17 - c-1.06-0.89-0.09-2.31,1.5-3.13C49.21,8.35,51.55,8.28,51.51,9.55z"/> -<path style="fill:#97A927;" d="M46.66,14.87c-2.35,1.15-2.96,4.01-1.79,4.52c1.42,0.62,1.39-1.5,2.61-2.28 - c0.97-0.61,3.23-0.29,3.21-1.67C50.67,14.06,48.08,14.18,46.66,14.87z"/> -<path style="fill:#97A927;" d="M42.28,22.6c0.26-0.91-1.55-2.15-3.7-0.7s-2.3,3.57-0.92,3.87c0.99,0.21,1.06-1.29,1.9-1.94 - C40.76,22.92,41.93,23.84,42.28,22.6z"/> -</svg> + C70.24,45.35,69.15,46.23,68.42,47.64z" /> + <path style="fill:#97A927;" + d="M75.19,33.94c-1.32,1.42-1.39,3.14-1.3,4.36c0.18,2.43,2.43,2.04,2.71,0.67 + c0.19-0.92,0.39-2.18,0.67-2.82c0.56-1.27,1.51-2.04,0.77-2.82C77.37,32.64,76.07,32.99,75.19,33.94z" /> + <path style="fill:#97A927;" + d="M87.79,37.19c-0.12,2.11,0.23,2.97,0.76,3.94c0.76,1.39,2.71,1.04,2.82-0.6 + c0.08-1.19-0.48-0.91-0.36-3.22c0.08-1.46,0.87-2.86-0.2-3.38C89.75,33.41,87.99,33.69,87.79,37.19z" /> + <path style="fill:#97A927;" + d="M84.51,20.95c0.6,1.02,1.37,1.9,1.65,3.31c0.39,1.94,2.93,1.48,2.96-0.28 + c0.04-2.36-0.7-3.41-1.55-4.47c-0.82-1.02-2.15-1.06-2.71-0.67S84,20.08,84.51,20.95z" /> + <path style="fill:#97A927;" + d="M74.84,21.81c-0.64,0.54-0.87,1.62-0.23,2.42c0.84,1.04,1.31,1.89,1.26,2.76 + c-0.08,1.39,1.17,1.9,1.97,1.32c1.07-0.78,1.44-2.24,0.42-4.53C77.3,21.64,75.57,21.18,74.84,21.81z" /> + <path style="fill:#97A927;" + d="M72.09,9.52c-0.31,0.98,0.73,1.34,1.77,1.52c1.04,0.18,2.24,0.96,2.59,1.73 + c0.49,1.08,2.03,1.67,2.36-0.02c0.29-1.45-1.56-2.95-2.7-3.61C75.18,8.59,72.63,7.82,72.09,9.52z" /> + <path style="fill:#97A927;" + d="M69.8,13.81c-1.58-0.89-4.32-0.81-4.65,0.7c-0.35,1.65,1.16,1.6,1.83,1.65 + c0.88,0.07,1.72,0.32,2.25,0.95c0.53,0.63,0.92,1.34,2.01,1.02C72.33,17.82,72.55,15.35,69.8,13.81z" /> + <path style="fill:#97A927;" d="M64.38,8.6c0.46-0.58,0.32-2.29-2.78-2.43c-2.59-0.12-3.26,1.12-2.85,1.9 + c0.53,1.02,1.82,0.31,2.89,0.42C62.94,8.63,63.82,9.3,64.38,8.6z" /> + <path style="fill:#97A927;" d="M57.87,11.66c-1.79-0.21-3.78,0.87-3.38,2.43c0.32,1.23,1.79-0.1,2.96-0.07 + c1.41,0.04,2.65,0.9,3.06,0.07C61.11,12.89,60.33,11.95,57.87,11.66z" /> + <path style="fill:#97A927;" d="M51.51,9.55c-0.03,1.2-1.15,0.85-2.53,1.37c-0.84,0.32-1.63,1.83-2.42,1.17 + c-1.06-0.89-0.09-2.31,1.5-3.13C49.21,8.35,51.55,8.28,51.51,9.55z" /> + <path style="fill:#97A927;" d="M46.66,14.87c-2.35,1.15-2.96,4.01-1.79,4.52c1.42,0.62,1.39-1.5,2.61-2.28 + c0.97-0.61,3.23-0.29,3.21-1.67C50.67,14.06,48.08,14.18,46.66,14.87z" /> + <path style="fill:#97A927;" d="M42.28,22.6c0.26-0.91-1.55-2.15-3.7-0.7s-2.3,3.57-0.92,3.87c0.99,0.21,1.06-1.29,1.9-1.94 + C40.76,22.92,41.93,23.84,42.28,22.6z" /> +</svg>
\ No newline at end of file diff --git a/doc/src/css/prism.css b/doc/src/css/prism.css new file mode 100644 index 0000000..b6ab8b3 --- /dev/null +++ b/doc/src/css/prism.css @@ -0,0 +1,4 @@ +/* PrismJS 1.29.0 +https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+bash+go+go-module+makefile+markdown+yaml&plugins=line-numbers+highlight-keywords */ +code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green} +pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right} diff --git a/doc/src/css/style.css b/doc/src/css/style.css new file mode 100644 index 0000000..ecafdc0 --- /dev/null +++ b/doc/src/css/style.css @@ -0,0 +1,173 @@ +/** + * Copyright (c) 2023 Nicolas Paul All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + */ + +:root { + /* Dark moss green */ + --color-primary: #606c37; + /* Eerie black */ + --color-dark: #191919; + /* White */ + --color-light: #ffffff; +} + +/* Dark theme */ +@media (prefers-color-scheme: dark) { + :root { + --color-primary: #606c37; + --color-light: #191919; + --color-dark: #ffffff; + } +} + +/* General */ +body { + font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif; + background-color: var(--color-light); +} + +/* Main */ +main { + background-color: var(--color-light); + color: var(--color-dark); + margin-top: 1rem; + margin-bottom: 3rem; + justify-content: center; +} + +main p, +main li, +main h1, +main h2, +main h3, +main h4, +main h5, +main h6 { + max-width: 72ch; +} + +main a { + color: var(--color-primary); +} + +/* Logo */ +img.logo { + width: 50%; + height: auto; +} + +/* Header */ +.header { + background-color: var(--color-light); + color: var(--color-dark); + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 1rem; +} + +.header-container-right, +.header-container-left { + display: flex; + align-items: center; +} + +.header-container-left { + justify-content: flex-start; +} + +.header-container-right { + justify-content: flex-end; +} + +.header-container-right ul { + list-style: none; + padding-left: 0px; + text-align: right; +} + +.header-container-right h3 { + font-size: 90%; + margin: 0px; +} + +a.header-link { + text-decoration: none; + color: var(--color-dark) +} + +a.header-link:hover { + text-decoration: none; + color: var(--color-primary) +} + +/* Footer */ +.footer { + background-color: var(--color-light); + color: var(--color-dark); + font-size: small; +} + +a.footer-link { + text-decoration: none; + color: var(--color-dark) +} + +a.footer-link:hover { + color: var(--color-primary); +} + +.footer-nav { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); +} + +.footer-branding { + display: flex; + gap: 1.5rem; +} + +.footer-column-left { + display: flex; + flex-direction: column; + align-items: flex-start; + text-align: left; +} + +.footer-column-right { + display: flex; + flex-direction: column; + align-items: flex-end; + text-align: right; +} + +.footer-column-right p { + max-width: 50ch; +} + +.footer-column-left ul { + list-style-type: none; + padding-left: 0; +} + +/* On small screens, center the footer as we only gave on column */ +@media (max-width: 600px) { + .footer-branding { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + } + + .footer-column-left { + align-items: center; + text-align: center; + } + + .footer-column-right { + display: flex; + align-items: center; + text-align: center; + } +}
\ No newline at end of file diff --git a/doc/src/doc/iodir.md b/doc/src/doc/iodir.md index d2808da..f4475f3 100644 --- a/doc/src/doc/iodir.md +++ b/doc/src/doc/iodir.md @@ -33,6 +33,7 @@ At its root, it should contain a `.crocc.html` file, which is the Each Markdown file in this directory will be transformed to an HTML file. Other files will be copied as-is to the output directory. +Crocc does not process hidden files – files whose name starts with a dot (`.`). For illustration, here is a sample input directory: diff --git a/doc/src/js/prism.js b/doc/src/js/prism.js new file mode 100644 index 0000000..53bcfe4 --- /dev/null +++ b/doc/src/js/prism.js @@ -0,0 +1,14 @@ +/* PrismJS 1.29.0 +https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+bash+go+go-module+makefile+markdown+yaml&plugins=line-numbers+highlight-keywords */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(n,t){var r,i;switch(t=t||{},a.util.type(n)){case"Object":if(i=a.util.objId(n),t[i])return t[i];for(var l in r={},t[i]=r,n)n.hasOwnProperty(l)&&(r[l]=e(n[l],t));return r;case"Array":return i=a.util.objId(n),t[i]?t[i]:(r=[],t[i]=r,n.forEach((function(n,a){r[a]=e(n,t)})),r);default:return n}},getLanguage:function(e){for(;e;){var t=n.exec(e.className);if(t)return t[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,t){e.className=e.className.replace(RegExp(n,"gi"),""),e.classList.add("language-"+t)},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var n=document.getElementsByTagName("script");for(var t in n)if(n[t].src==e)return n[t]}return null}},isActive:function(e,n,t){for(var r="no-"+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!t}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,n){var t=a.util.clone(a.languages[e]);for(var r in n)t[r]=n[r];return t},insertBefore:function(e,n,t,r){var i=(r=r||a.languages)[e],l={};for(var o in i)if(i.hasOwnProperty(o)){if(o==n)for(var s in t)t.hasOwnProperty(s)&&(l[s]=t[s]);t.hasOwnProperty(o)||(l[o]=i[o])}var u=r[e];return r[e]=l,a.languages.DFS(a.languages,(function(n,t){t===u&&n!=e&&(this[n]=l)})),l},DFS:function e(n,t,r,i){i=i||{};var l=a.util.objId;for(var o in n)if(n.hasOwnProperty(o)){t.call(n,o,n[o],r||o);var s=n[o],u=a.util.type(s);"Object"!==u||i[l(s)]?"Array"!==u||i[l(s)]||(i[l(s)]=!0,e(s,t,o,i)):(i[l(s)]=!0,e(s,t,null,i))}}},plugins:{},highlightAll:function(e,n){a.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,t){var r={callback:t,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),a.hooks.run("before-all-elements-highlight",r);for(var i,l=0;i=r.elements[l++];)a.highlightElement(i,!0===n,r.callback)},highlightElement:function(n,t,r){var i=a.util.getLanguage(n),l=a.languages[i];a.util.setLanguage(n,i);var o=n.parentElement;o&&"pre"===o.nodeName.toLowerCase()&&a.util.setLanguage(o,i);var s={element:n,language:i,grammar:l,code:n.textContent};function u(e){s.highlightedCode=e,a.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,a.hooks.run("after-highlight",s),a.hooks.run("complete",s),r&&r.call(s.element)}if(a.hooks.run("before-sanity-check",s),(o=s.element.parentElement)&&"pre"===o.nodeName.toLowerCase()&&!o.hasAttribute("tabindex")&&o.setAttribute("tabindex","0"),!s.code)return a.hooks.run("complete",s),void(r&&r.call(s.element));if(a.hooks.run("before-highlight",s),s.grammar)if(t&&e.Worker){var c=new Worker(a.filename);c.onmessage=function(e){u(e.data)},c.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))}else u(a.highlight(s.code,s.grammar,s.language));else u(a.util.encode(s.code))},highlight:function(e,n,t){var r={code:e,grammar:n,language:t};if(a.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=a.tokenize(r.code,r.grammar),a.hooks.run("after-tokenize",r),i.stringify(a.util.encode(r.tokens),r.language)},tokenize:function(e,n){var t=n.rest;if(t){for(var r in t)n[r]=t[r];delete n.rest}var a=new s;return u(a,a.head,e),o(e,a,n,a.head,0),function(e){for(var n=[],t=e.head.next;t!==e.tail;)n.push(t.value),t=t.next;return n}(a)},hooks:{all:{},add:function(e,n){var t=a.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=a.hooks.all[e];if(t&&t.length)for(var r,i=0;r=t[i++];)r(n)}},Token:i};function i(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=0|(r||"").length}function l(e,n,t,r){e.lastIndex=n;var a=e.exec(t);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function o(e,n,t,r,s,g){for(var f in t)if(t.hasOwnProperty(f)&&t[f]){var h=t[f];h=Array.isArray(h)?h:[h];for(var d=0;d<h.length;++d){if(g&&g.cause==f+","+d)return;var v=h[d],p=v.inside,m=!!v.lookbehind,y=!!v.greedy,k=v.alias;if(y&&!v.pattern.global){var x=v.pattern.toString().match(/[imsuy]*$/)[0];v.pattern=RegExp(v.pattern.source,x+"g")}for(var b=v.pattern||v,w=r.next,A=s;w!==n.tail&&!(g&&A>=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(j<O||"string"==typeof C.value);C=C.next)L++,j+=C.value.length;L--,E=e.slice(A,j),P.index-=A}else if(!(P=l(b,0,E,m)))continue;S=P.index;var N=P[0],_=E.slice(0,S),M=E.slice(S+N.length),W=A+E.length;g&&W>g.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a<t&&r!==e.tail;a++)r=r.next;n.next=r,r.prev=n,e.length-=a}if(e.Prism=a,i.stringify=function e(n,t){if("string"==typeof n)return n;if(Array.isArray(n)){var r="";return n.forEach((function(n){r+=e(n,t)})),r}var i={type:n.type,content:e(n.content,t),tag:"span",classes:["token",n.type],attributes:{},language:t},l=n.alias;l&&(Array.isArray(l)?Array.prototype.push.apply(i.classes,l):i.classes.push(l)),a.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=" "+s+'="'+(i.attributes[s]||"").replace(/"/g,""")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+o+">"+i.content+"</"+i.tag+">"},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^<!\[CDATA\[|\]\]>$/i;var t={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,i=0;i<s.length;i++)o[s[i]]=e.languages.bash[s[i]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism); +Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"]; +Prism.languages["go-mod"]=Prism.languages["go-module"]={comment:{pattern:/\/\/.*/,greedy:!0},version:{pattern:/(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/,lookbehind:!0,alias:"number"},"go-version":{pattern:/((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/,lookbehind:!0,alias:"number"},keyword:{pattern:/^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m,lookbehind:!0},operator:/=>/,punctuation:/[()[\],]/}; +Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}; +!function(n){function e(n){return n=n.replace(/<inner>/g,(function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))"})),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var t="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",a="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))".replace(/__/g,(function(){return t})),i="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)";n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(t),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(t),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:e("\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:e("\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:e("(~~?)(?:(?!~)<inner>)+\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:e('!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\])<inner>)+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(e){["url","bold","italic","strike","code-snippet"].forEach((function(t){e!==t&&(n.languages.markdown[e].inside.content.inside[t]=n.languages.markdown[t])}))})),n.hooks.add("after-tokenize",(function(n){"markdown"!==n.language&&"md"!==n.language||function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t<a;t++){var i=e[t];if("code"===i.type){var r=i.content[1],o=i.content[3];if(r&&o&&"code-language"===r.type&&"code-block"===o.type&&"string"==typeof r.content){var l=r.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),s="language-"+(l=(/[a-z][\w-]*/i.exec(l)||[""])[0].toLowerCase());o.alias?"string"==typeof o.alias?o.alias=[o.alias,s]:o.alias.push(s):o.alias=[s]}}else n(i.content)}}(n.tokens)})),n.hooks.add("wrap",(function(e){if("code-block"===e.type){for(var t="",a=0,i=e.classes.length;a<i;a++){var s=e.classes[a],d=/language-(.+)/.exec(s);if(d){t=d[1];break}}var p=n.languages[t];if(p)e.content=n.highlight(e.content.replace(r,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(n,e){var t;return"#"===(e=e.toLowerCase())[0]?(t="x"===e[1]?parseInt(e.slice(2),16):Number(e.slice(1)),l(t)):o[e]||n})),p,t);else if(t&&"none"!==t&&n.plugins.autoloader){var u="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());e.attributes.id=u,n.plugins.autoloader.loadLanguages(t,(function(){var e=document.getElementById(u);e&&(e.innerHTML=n.highlight(e.textContent,n.languages[t],t))}))}}}));var r=RegExp(n.languages.markup.tag.pattern.source,"gi"),o={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;n.languages.md=n.languages.markdown}(Prism); +!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*".replace(/<PLAIN>/g,(function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"})),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<<prop>>/g,(function(){return t})).replace(/<<value>>/g,(function(){return e}));return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<<prop>>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\\s*:\\s)".replace(/<<prop>>/g,(function(){return t})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+d+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism); +!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e="line-numbers",n=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(n,t){if("PRE"===n.tagName&&n.classList.contains(e)){var i=n.querySelector(".line-numbers-rows");if(i){var r=parseInt(n.getAttribute("data-start"),10)||1,s=r+(i.children.length-1);t<r&&(t=r),t>s&&(t=s);var l=t-r;return i.children[l]}}},resize:function(e){r([e])},assumeViewportIndependence:!0},i=void 0;window.addEventListener("resize",(function(){t.assumeViewportIndependence&&i===window.innerWidth||(i=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(t){if(t.code){var i=t.element,s=i.parentNode;if(s&&/pre/i.test(s.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,e)){i.classList.remove(e),s.classList.add(e);var l,o=t.code.match(n),a=o?o.length+1:1,u=new Array(a+1).join("<span></span>");(l=document.createElement("span")).setAttribute("aria-hidden","true"),l.className="line-numbers-rows",l.innerHTML=u,s.hasAttribute("data-start")&&(s.style.counterReset="linenumber "+(parseInt(s.getAttribute("data-start"),10)-1)),t.element.appendChild(l),r([s]),Prism.hooks.run("line-numbers",t)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function r(e){if(0!=(e=e.filter((function(e){var n,t=(n=e,n?window.getComputedStyle?getComputedStyle(n):n.currentStyle||null:null)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var t=e.map((function(e){var t=e.querySelector("code"),i=e.querySelector(".line-numbers-rows");if(t&&i){var r=e.querySelector(".line-numbers-sizer"),s=t.textContent.split(n);r||((r=document.createElement("span")).className="line-numbers-sizer",t.appendChild(r)),r.innerHTML="0",r.style.display="block";var l=r.getBoundingClientRect().height;return r.innerHTML="",{element:e,lines:s,lineHeights:[],oneLinerHeight:l,sizer:r}}})).filter(Boolean);t.forEach((function(e){var n=e.sizer,t=e.lines,i=e.lineHeights,r=e.oneLinerHeight;i[t.length-1]=void 0,t.forEach((function(e,t){if(e&&e.length>1){var s=n.appendChild(document.createElement("span"));s.style.display="block",s.textContent=e}else i[t]=r}))})),t.forEach((function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r<t.length;r++)void 0===t[r]&&(t[r]=n.children[i++].getBoundingClientRect().height)})),t.forEach((function(e){var n=e.sizer,t=e.element.querySelector(".line-numbers-rows");n.style.display="none",n.innerHTML="",e.lineHeights.forEach((function(e,n){t.children[n].style.height=e+"px"}))}))}}}(); +"undefined"!=typeof Prism&&Prism.hooks.add("wrap",(function(e){"keyword"===e.type&&e.classes.push("keyword-"+e.content)})); diff --git a/doc/src/style.css b/doc/src/style.css deleted file mode 100644 index eca2757..0000000 --- a/doc/src/style.css +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Copyright (c) 2023 Nicolas Paul All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -/* TODO: Replace it with future common CSS */ - -:root { - --background-color: #FFFFFF; - --text-color: #000000; - --accent-color: #155eca; -} - -html { - background-color: var(--background-color); - color: var(--text-color); - font-family: sans-serif; - margin: 0.6rem; -} - -main { - padding-top: 1rem; - padding-bottom: 3rem; -} - -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote { - max-width: 80ch; - line-height: 150%; -} - -code, -kbd, -samp, -pre { - font-family: monospace; -} - -a { - color: var(--accent-color); -} - -img { - width: 100%; - height: auto; -} - -strong { - font-weight: bold; -} - -em { - font-style: italic; -} - -hr { - border: 0; - border-top: 1px solid var(--accent-color); -} - -td { - max-width: 80ch; - padding: 0 15px; -} - -/* Navigation Bar and Footer */ -header ul, -footer ul { - list-style-type: none; - display: inline-flex; - gap: 1rem; - flex-wrap: wrap; - align-items: center; - padding-left: 0; -} - -/* Auto Dark Theme */ -@media (prefers-color-scheme: dark) { - :root { - --background-color: #000000; - --text-color: #FFFFFF; - --accent-color: #648fd0; - } - -}
\ No newline at end of file |
