From 265a117bdeefd9b3cba49d492ab522e591f1e953 Mon Sep 17 00:00:00 2001 From: TonyCrane Date: Wed, 22 Jun 2022 15:23:58 +0800 Subject: [PATCH] upload --- .gitignore | 2 + README.md | 17 +++ docs/css/card.css | 99 +++++++++++++ docs/css/counter.css | 40 ++++++ docs/css/custom.css | 215 ++++++++++++++++++++++++++++ docs/css/tasklist.css | 47 ++++++ docs/images/icon.png | Bin 0 -> 8918 bytes docs/index.md | 25 ++++ docs/js/katex.js | 39 +++++ docs/js/scheme.js | 98 +++++++++++++ docs/old_exam.md | 52 +++++++ mkdocs.yml | 85 +++++++++++ overrides/announce.html | 0 overrides/base.html | 229 ++++++++++++++++++++++++++++++ overrides/partials/content.html | 18 +++ overrides/partials/copyright.html | 22 +++ overrides/partials/header.html | 84 +++++++++++ overrides/partials/toc.html | 25 ++++ 18 files changed, 1097 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 docs/css/card.css create mode 100644 docs/css/counter.css create mode 100644 docs/css/custom.css create mode 100644 docs/css/tasklist.css create mode 100644 docs/images/icon.png create mode 100644 docs/index.md create mode 100644 docs/js/katex.js create mode 100644 docs/js/scheme.js create mode 100644 docs/old_exam.md create mode 100644 mkdocs.yml create mode 100644 overrides/announce.html create mode 100644 overrides/base.html create mode 100644 overrides/partials/content.html create mode 100644 overrides/partials/copyright.html create mode 100644 overrides/partials/header.html create mode 100644 overrides/partials/toc.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..125498e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +site/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..751fefc --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# 图灵 2022 级学长组资料汇总网站 + +## 本地构建 + +- 安装 mkdocs 及 material 主题 + ```sh + pip install mkdocs + pip install mkdocs-material + ``` +- 开启本地预览服务 + ```sh + $ mkdocs serve # serve at localhost:8000 + ``` + +## 修改发布 + +不需要 build 之类的,修改好直接通过 git 更新到这个 repo 里,我来手动拉取构建再丢到服务器上 \ No newline at end of file diff --git a/docs/css/card.css b/docs/css/card.css new file mode 100644 index 0000000..6cc12d5 --- /dev/null +++ b/docs/css/card.css @@ -0,0 +1,99 @@ +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #FEFEFE; + background-clip: border-box; + border: 0.5px solid #606060; + border-radius: .25rem; + margin-bottom: 1em; +} + +[data-md-color-scheme="slate"] .card { + background-color: #181818; + border: 0.5px solid #606060; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 1px; + padding-left: 1rem; + padding-right: 1rem; + padding-bottom: 1rem; + padding-top: 0.5rem; +} + +.card-header { + padding-left: 1.5rem; + padding-right: 1.5rem; + padding-top: 0.7rem; + padding-bottom: 0.25rem; + margin-bottom: 0; + font-size: 1.5em; + text-transform: uppercase; + font-weight: 600; +} + +.card-body ul { + margin-top: 0; + margin-bottom: 0; +} + +.md-typeset :is(.card-body details) { + margin-top: 0.25rem; + margin-bottom: 0; +} + +.file-block { + display: flex; + flex-direction: row; + align-items: center; + padding: 0.2em 1em; + transition: background-color .3s cubic-bezier(.4,0,.2,1); +} + +.file-block:hover { + background-color: #eeeeee; +} +[data-md-color-scheme="slate"] .file-block:hover { + background-color: #606060; +} + +.file-title { + padding-left: 0rem; + margin-bottom: 0; + font-size: 1.1em; + font-weight: 600; +} + +.file-meta { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 1px; +} + +.file-body { + padding-left: 1em; + margin-right: auto; +} + +.down-button { + border: 0.05rem solid; + border-radius: 0.1rem; + cursor: pointer; + display: inline-block; + font-weight: 700; + padding: 0.25em 0.5em; + transition: color .3s,background-color .3s,border-color .3s !important; +} + +.down-button:is(:focus,:hover) { + background-color: var(--md-accent-fg-color); + border-color: var(--md-accent-fg-color); + color: var(--md-accent-bg-color) !important; +} \ No newline at end of file diff --git a/docs/css/counter.css b/docs/css/counter.css new file mode 100644 index 0000000..245d5e6 --- /dev/null +++ b/docs/css/counter.css @@ -0,0 +1,40 @@ +h1 { + counter-reset: h2; +} +h2 { + counter-reset: h3; +} +h3 { + counter-reset: h4; +} +h4 { + counter-reset: h5; +} +h5 { + counter-reset: h6; +} +h2:before { + counter-increment: h2; + content: counter(h2); + margin-right: 0.8rem; +} +h3:before { + counter-increment: h3; + content: counter(h2) "." counter(h3); + margin-right: 0.8rem; +} +h4:before { + counter-increment: h4; + content: counter(h2) "." counter(h3) "." counter(h4); + margin-right: 0.8rem; +} +h5:before { + counter-increment: h5; + content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5); + margin-right: 0.8rem; +} +h6:before { + counter-increment: h6; + content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6); + margin-right: 0.8rem; +} \ No newline at end of file diff --git a/docs/css/custom.css b/docs/css/custom.css new file mode 100644 index 0000000..6e02859 --- /dev/null +++ b/docs/css/custom.css @@ -0,0 +1,215 @@ +:root { + --md-text-font: "JetBrains Mono", "LXGW WenKai Screen"; +} + +.md-typeset h1, .md-typeset h2 { + font-weight: 600; +} + +.md-typeset h3 { + font-weight: 500; +} + +.md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4 { + letter-spacing: 0; +} + +.md-typeset { + font-size: .75rem; +} + +.md-typeset h3 { + font-weight: 600; +} + +[data-md-color-scheme="default"] { + --md-primary-fg-color: #efefef; + --md-primary-bg-color: #000000; + --md-typeset-a-color: #555555; + --md-footer-fg-color: #000000; + --md-footer-bg-color: #efefef; + --md-footer-bg-color--dark: #efefef; + --md-footer-fg-color--light: #000000; + --md-footer-fg-color--lighter: #000000; + --md-code-bg-color: #fafafa; +} + +[data-md-color-scheme="slate"] { + --md-default-bg-color: #161616; + --md-default-bg-color--light: #161616; + --md-default-bg-color--lighter: #161616; + --md-default-bg-color--lightest: #161616; + --md-default-fg-color: rgba(255,255,255,0.9); + --md-default-fg-color--light: rgba(255,255,255,0.85); + --md-default-fg-color--lighter: rgba(255,255,255,0.8); + --md-default-fg-color--lightest: rgba(255,255,255,0.6); + --md-primary-fg-color: #0d0d0d; + --md-typeset-a-color: #d3d3d3; + --md-footer-fg-color: #fff; + --md-footer-bg-color: #0d0d0d; + --md-footer-bg-color--dark: #0d0d0d; + --md-footer-fg-color--light: #fff; + --md-footer-fg-color--lighter: #fff; + --md-code-bg-color: #1d1d1d; +} + +input.md-search__input { + background-color: #fff; +} + +[data-md-color-scheme="slate"] input.md-search__input { + background-color: #000; +} + +[data-md-color-scheme="slate"] .md-typeset .md-content__button { + color: #555555; +} + +.md-copyright { + font-size: .55rem; +} + +body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .light-mode, +body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .system-mode, +body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .unknown-mode { + display: none; +} +body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .dark-mode, +body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .system-mode, +body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .unknown-mode { + display: none; +} +body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .dark-mode, +body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .light-mode, +body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .system-mode { + display: none; +} +body[data-md-prefers-color-scheme=true] .md-icon .dark-mode, +body[data-md-prefers-color-scheme=true] .md-icon .light-mode, +body[data-md-prefers-color-scheme=true] .md-icon .unknown-mode { + display: none; +} + +@media screen and (max-width: 59.9375em) { + .md-nav__source { + background-color: var(--md-primary-fg-color); + } +} + +@media screen and (max-width: 76.1875em) { + .md-nav--primary .md-nav__title { + background-color: var(--md-primary-fg-color); + } +} + +[data-md-color-scheme="slate"] .md-annotation__index:after { + background-color: #4c4c4c; +} + +input#mkdocs-content-password { + width: 6rem; +} + +[data-md-color-scheme="slate"] input#mkdocs-content-password { + background-color: #161616; +} + +.katex { + -webkit-text-stroke-width: 0.3px; +} + +.reference ol { + counter-reset: li; +} +.reference li { + padding-left: 0.7em; + counter-increment: li; + word-break: break-all; +} +.reference li::marker { + content: "[" counter(li) "]"; + font-size: 0.8em; +} + +.riscv-table, .fl-table { + width: 100%; + display: inline-table; + table-layout: fixed; + /* border-collapse: collapse; */ +} +.riscv-table-node { + text-align: center; + padding: 0.2em; + border: 0.04rem solid var(--md-default-fg-color); +} +.riscv-table-node-little, .fl-table-node { + text-align: center; + padding: 0.1em; + border: 0.04rem solid var(--md-default-fg-color); +} +.riscv-table-numnode { + font-size: .4rem; +} +.riscv-table-undernode { + font-size: .6rem; + text-align: center; +} +.riscv-table-numnodel { + font-size: .4rem; + text-align: left; +} +.riscv-table-numnoder { + font-size: .4rem; + text-align: right; +} +@media (max-width: 700px) { + .riscv-table-node, .riscv-table-node-little, .fl-table-node { + font-size: .6rem; + } +} +@media (max-width: 610px) { + .riscv-table-node, .riscv-table-node-little, .fl-table-node { + font-size: .5rem; + } +} +@media (max-width: 602px) { + .riscv-table-node, .riscv-table-node-little { + overflow-x: scroll; + word-wrap: normal; + } + .riscv-table-numnoder { + font-size: 0px; + } + .riscv-table-numnodel { + word-wrap: normal; + } +} + +[data-md-color-scheme="slate"] .fl-affected { + background: linear-gradient( + 45deg, + rgb(255 255 255 / 30%) 0, rgb(255 255 255 / 30%) 25%, transparent 25%, transparent 50%, + rgb(255 255 255 / 30%) 50%, rgb(255 255 255 / 30%) 75%, transparent 75%, transparent + ); + background-size: 10px 10px; +} +[data-md-color-scheme="default"] .fl-affected { + background: linear-gradient( + 45deg, + rgb(0 0 0 / 30%) 0, rgb(0 0 0 / 30%) 25%, transparent 25%, transparent 50%, + rgb(0 0 0 / 30%) 50%, rgb(0 0 0 / 30%) 75%, transparent 75%, transparent + ); + background-size: 10px 10px; +} +[data-md-color-scheme="slate"] .fl-special { + background: rgb(255 255 255 / 30%); +} +[data-md-color-scheme="default"] .fl-special { + background: rgb(0 0 0 / 30%); +} +[data-md-color-scheme="slate"] .fl-undefined { + background-image: url('data:image/svg+xml;utf8,'); +} +[data-md-color-scheme="default"] .fl-undefined { + background-image: url('data:image/svg+xml;utf8,'); +} \ No newline at end of file diff --git a/docs/css/tasklist.css b/docs/css/tasklist.css new file mode 100644 index 0000000..b13499d --- /dev/null +++ b/docs/css/tasklist.css @@ -0,0 +1,47 @@ +.markdown-body .task-list-item { + list-style-type: none !important; +} + +.markdown-body .task-list-item input[type="checkbox"] { + margin: 0 4px 0.25em -20px; + vertical-align: middle; +} + +.markdown-body .task-list-control { + display: inline; /* Ensure label is inline incase theme sets it to block.*/ +} + +.markdown-body .task-list-control { + position: relative; + display: inline-block; + color: #555; + cursor: pointer; +} + +.markdown-body .task-list-control input[type="checkbox"] { + position: absolute; + opacity: 0; + z-index: -1; /* Put the input behind the label so it doesn't overlay text */ +} + +.markdown-body .task-list-indicator { + position: absolute; + top: -8px; + left: -18px; + display: block; + width: 14px; + height: 14px; + color: #eee; + background-color: #eee; + border-radius: .25rem; +} + +.markdown-body .task-list-control input[type="checkbox"]:checked + .task-list-indicator::before { + display: block; + margin-top: -4px; + margin-left: 2px; + font-size: 16px; + line-height: 1; + content: "✔"; + color: #1EBB52; +} \ No newline at end of file diff --git a/docs/images/icon.png b/docs/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e8516f8314caa1ff115f003e0063803286813a71 GIT binary patch literal 8918 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 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..5d64a4d --- /dev/null +++ b/docs/index.md @@ -0,0 +1,25 @@ +--- +hide: + - date +home: true +--- + +# o(〃'▽'〃)o Hi! + +2022 级图灵班的同学们大家好! + +这里是你们的学长组( ̄▽ ̄),我们在这个网站上为你们整合了从入学到入土,从生活到学习的各种资料和资源,请查收! + +## Table of Contents + +咕咕咕 + +## TODO list + +- [ ] 主题配色微调 +- [ ] Q&A +- [ ] 学习指导建议 + - [ ] 主修课 + - [ ] 通识建议 +- [x] 回忆卷 +- [ ] ... \ No newline at end of file diff --git a/docs/js/katex.js b/docs/js/katex.js new file mode 100644 index 0000000..6db5642 --- /dev/null +++ b/docs/js/katex.js @@ -0,0 +1,39 @@ +(function () { + 'use strict'; + + var katexMath = (function () { + var maths = document.querySelectorAll('.arithmatex'), + tex; + + for (var i = 0; i < maths.length; i++) { + tex = maths[i].textContent || maths[i].innerText; + if (tex.startsWith('\\(') && tex.endsWith('\\)')) { + katex.render(tex.slice(2, -2), maths[i], {'displayMode': false}); + } else if (tex.startsWith('\\[') && tex.endsWith('\\]')) { + katex.render(tex.slice(2, -2), maths[i], {'displayMode': true}); + } + } + }); + + (function () { + var onReady = function onReady(fn) { + if (document.addEventListener) { + document.addEventListener("DOMContentLoaded", fn); + } else { + document.attachEvent("onreadystatechange", function () { + if (document.readyState === "interactive") { + fn(); + } + }); + } + }; + + onReady(function () { + if (typeof katex !== "undefined") { + katexMath(); + } + }); + })(); + + }()); + \ No newline at end of file diff --git a/docs/js/scheme.js b/docs/js/scheme.js new file mode 100644 index 0000000..b73a6c7 --- /dev/null +++ b/docs/js/scheme.js @@ -0,0 +1,98 @@ +(() => { + + const preferToggle = e => { + if (localStorage.getItem("data-md-prefers-color-scheme") === "true") { + document.querySelector("body").setAttribute("data-md-color-scheme", (e.matches) ? "slate" : "default") + } + var frame = document.querySelector(".giscus-frame") + var theme = document.querySelector("body").getAttribute("data-md-color-scheme") === "slate" ? "https://gcore.jsdelivr.net/gh/TonyCrane/note/docs/css/giscus.css" : "light" + frame.contentWindow.postMessage( + { giscus: { setConfig: { theme } } }, + "https://giscus.app" + ) + } + + const setupTheme = body => { + const preferSupported = window.matchMedia("(prefers-color-scheme)").media !== "not all" + let scheme = localStorage.getItem("data-md-color-scheme") + let prefers = localStorage.getItem("data-md-prefers-color-scheme") + let oldversion = localStorage.getItem("/.__palette") + + if (oldversion) { + localStorage.removeItem("/.__palette") + } + + if (!scheme) { + scheme = "slate" + } + if (!prefers) { + prefers = "false" + } + + if (prefers === "true" && preferSupported) { + scheme = (window.matchMedia("(prefers-color-scheme: dark)").matches) ? "slate" : "default" + } else { + prefers = "false" + } + + body.setAttribute("data-md-prefers-color-scheme", prefers) + body.setAttribute("data-md-color-scheme", scheme) + + if (preferSupported) { + const matchListener = window.matchMedia("(prefers-color-scheme: dark)") + matchListener.addListener(preferToggle) + } + } + + const observer = new MutationObserver(mutations => { + mutations.forEach(mutation => { + if (mutation.type === "childList") { + if (mutation.addedNodes.length) { + for (let i = 0; i < mutation.addedNodes.length; i++) { + const el = mutation.addedNodes[i] + + if (el.nodeType === 1 && el.tagName.toLowerCase() === "body") { + setupTheme(el) + break + } + } + } + } + }) + }) + + observer.observe(document.querySelector("html"), {childList: true}) + setupTheme(document.querySelector("body")) +})() + +window.toggleScheme = () => { + const body = document.querySelector("body") + const preferSupported = window.matchMedia("(prefers-color-scheme)").media !== "not all" + let scheme = body.getAttribute("data-md-color-scheme") + let prefer = body.getAttribute("data-md-prefers-color-scheme") + + if (preferSupported && scheme === "default" && prefer !== "true") { + prefer = "true" + scheme = (window.matchMedia("(prefers-color-scheme: dark)").matches) ? "slate" : "default" + } else if (preferSupported && prefer === "true") { + prefer = "false" + scheme = "slate" + } else if (scheme === "slate") { + prefer = "false" + scheme = "default" + } else { + prefer = "false" + scheme = "slate" + } + localStorage.setItem("data-md-prefers-color-scheme", prefer) + localStorage.setItem("data-md-color-scheme", scheme) + body.setAttribute("data-md-prefers-color-scheme", prefer) + body.setAttribute("data-md-color-scheme", scheme) + + var frame = document.querySelector(".giscus-frame") + var theme = scheme === "slate" ? "https://gcore.jsdelivr.net/gh/TonyCrane/note/docs/css/giscus.css" : "light" + frame.contentWindow.postMessage( + { giscus: { setConfig: { theme } } }, + "https://giscus.app" + ) +} diff --git a/docs/old_exam.md b/docs/old_exam.md new file mode 100644 index 0000000..82e16a0 --- /dev/null +++ b/docs/old_exam.md @@ -0,0 +1,52 @@ +--- +password: turing2022 +--- + +# 部分课程回忆卷 + +!!! warning + 图灵自制回忆卷汇总,不保证完全准确 + + 仅供学习交流参考,请勿外传 + +## 大一秋冬 + +### 数学分析(甲)I(H) + +
+
+
+
数分 I 2021 秋冬期末回忆卷
+
53 KB / 1 P / 2022-01-05
+
+:fontawesome-solid-download: 下载 +
+ +
+
+
+
数分 I 2020 秋冬期末(部分)
+
47 KB / 1 P / 2021-08-24
+
+:fontawesome-solid-download: 下载 +
+ +### 线性代数 I(H) + +
+
+
+
线代 I 2021 秋冬期中
+
64 KB / 2 P / 2021-11-12
+
+:fontawesome-solid-download: 下载 +
+ +
+
+
+
线代 I 2020 秋冬期中
+
63 KB / 2 P / 2021-08-24
+
+:fontawesome-solid-download: 下载 +
diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..4fb0a22 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,85 @@ +site_name: 图灵 2022 学长组资料汇总 +site_url: https://turing.tonycrane.cc/ +site_description: 图灵 2022 学长组信息汇总 +copyright: Copyright © 2022 浙江大学图灵班学长组 + +theme: + name: 'material' + language: 'zh' + icon: + logo: material/notebook-outline + custom_dir: overrides + favicon: images/icon.png + features: + - content.code.annotate + - navigation.tracking + # - navigation.tabs + - navigation.indexes + - navigation.top + font: + text: JetBrains Mono + code: JetBrains Mono + palette: + - scheme: default + +markdown_extensions: + - toc: + permalink: true + toc_depth: 3 + - meta + - def_list + - attr_list + - md_in_html + - sane_lists + - admonition + - pymdownx.keys + - pymdownx.mark + - pymdownx.tilde + - pymdownx.critic + - pymdownx.details + - pymdownx.snippets + - pymdownx.magiclink + - pymdownx.superfences + - pymdownx.inlinehilite + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.arithmatex: + generic: true + +extra_css: + - https://gcore.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css + - https://gcore.jsdelivr.net/npm/lxgw-wenkai-screen-webfont@1.1.0/style.css + - https://gcore.jsdelivr.net/npm/lxgw-wenkai-webfont@1.1.0/style.css + - https://cdn.tonycrane.cc/turing2022/css/tasklist.css + - https://cdn.tonycrane.cc/turing2022/css/card.css + # - https://cdn.tonycrane.cc/turing2022/css/custom.css + - css/custom.css + +extra_javascript: + - https://gcore.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js + - https://cdn.tonycrane.cc/turing2022/js/katex.js + # js/scheme.js # this is in template 'base.html' + +plugins: + - search + - encryptcontent: # now just for one page, need to be improved + title_prefix: "🔒 " + summary: '这个页面被加密叻(・・;)' + placeholder: '在此输入密码 ' + decryption_failure_message: '密码错误' + encryption_info_message: '请输入密码查看本篇文章(请联系我)' + remember_password: True + default_expire_dalay: 24 + encrypted_something: + mkdocs-encrypted-toc: [nav, class] + +nav: + - Home: index.md + - 回忆卷: old_exam.md diff --git a/overrides/announce.html b/overrides/announce.html new file mode 100644 index 0000000..e69de29 diff --git a/overrides/base.html b/overrides/base.html new file mode 100644 index 0000000..cf0f588 --- /dev/null +++ b/overrides/base.html @@ -0,0 +1,229 @@ +{#- + This file was automatically generated - do not edit + -#} + {% import "partials/language.html" as lang with context %} + + + + {% block site_meta %} + + + {% if page and page.meta and page.meta.description %} + + {% elif config.site_description %} + + {% endif %} + {% if page and page.meta and page.meta.author %} + + {% elif config.site_author %} + + {% endif %} + {% if page.canonical_url %} + + {% endif %} + + + {% endblock %} + {% block htmltitle %} + {% if page and page.meta and page.meta.home %} + {{ config.site_name }} + {% elif page and page.meta and page.meta.title %} + {{ page.meta.title }} - {{ config.site_name }} + {% elif page and page.title and not page.is_homepage %} + {{ page.title | striptags }} - {{ config.site_name }} + {% else %} + {{ config.site_name }} + {% endif %} + {% endblock %} + {% block styles %} + + {% if config.theme.palette %} + {% set palette = config.theme.palette %} + + {% if palette.primary %} + {% import "partials/palette.html" as map %} + {% set primary = map.primary( + palette.primary | replace(" ", "-") | lower + ) %} + + {% endif %} + {% endif %} + {% endblock %} + {% block libs %}{% endblock %} + {% block fonts %} + {% if config.theme.font != false %} + {% set font = config.theme.font %} + + + + {% endif %} + {% endblock %} + {% for path in config["extra_css"] %} + + {% endfor %} + {% if page and page.meta and page.meta.counter %} + + {% endif %} + {% include "partials/javascripts/base.html" %} + {% block analytics %} + {% include "partials/integrations/analytics.html" %} + {% endblock %} + {% block extrahead %}{% endblock %} + + {% set direction = config.theme.direction or lang.t('direction') %} + {% if config.theme.palette %} + {% set palette = config.theme.palette %} + {% if not palette is mapping %} + {% set palette = palette | first %} + {% endif %} + {% set scheme = palette.scheme | replace(" ", "-") | lower %} + {% set primary = palette.primary | replace(" ", "-") | lower %} + {% set accent = palette.accent | replace(" ", "-") | lower %} + + {% else %} + + {% endif %} + + {% set features = config.theme.features or [] %} + {% if not config.theme.palette is mapping %} + {% include "partials/javascripts/palette.html" %} + {% endif %} + + + +
+ {% if page.toc | first is defined %} + {% set skip = page.toc | first %} + + {{ lang.t('skip.link.title') }} + + {% endif %} +
+
+ {% if self.announce() %} + + {% endif %} +
+ {% if config.extra.version %} + + {% endif %} + {% block header %} + {% include "partials/header.html" %} + {% endblock %} +
+ {% block hero %}{% endblock %} + {% block tabs %} + {% if not "navigation.tabs.sticky" in features %} + {% if "navigation.tabs" in features %} + {% include "partials/tabs.html" %} + {% endif %} + {% endif %} + {% endblock %} +
+
+ {% block site_nav %} + {% if nav %} +
+
+
+ {% if page and page.meta and page.meta.hide and "navigation" in page.meta.hide %} + {% else %} + {% include "partials/nav.html" %} + {% endif %} +
+
+
+ {% endif %} + {% if page.toc and not "toc.integrate" in features %} +
+
+
+ {% if page and page.meta and page.meta.hide and "toc" in page.meta.hide %} + {% else %} + {% include "partials/toc.html" %} + {% endif %} +
+
+
+ {% endif %} + {% endblock %} +
+
+ {% block content %} + {% include "partials/content.html" %} + {% endblock %} +
+
+
+ {% if "navigation.top" in features %} + + {% include ".icons/material/arrow-up.svg" %} + {{ lang.t('top.title') }} + + {% endif %} +
+ {% block footer %} + {% include "partials/footer.html" %} + {% endblock %} +
+
+
+
+ {% block config %} + {%- set app = { + "base": base_url, + "features": features, + "translations": {}, + "search": "assets/javascripts/workers/search.361d90f1.min.js" | url + } -%} + {%- if config.extra.version -%} + {%- set _ = app.update({ "version": config.extra.version }) -%} + {%- endif -%} + {%- set translations = app.translations -%} + {%- for key in [ + "clipboard.copy", + "clipboard.copied", + "search.config.lang", + "search.config.pipeline", + "search.config.separator", + "search.placeholder", + "search.result.placeholder", + "search.result.none", + "search.result.one", + "search.result.other", + "search.result.more.one", + "search.result.more.other", + "search.result.term.missing", + "select.version.title" + ] -%} + {%- set _ = translations.update({ key: lang.t(key) }) -%} + {%- endfor -%} + + {% endblock %} + {% block scripts %} + + {% for path in config["extra_javascript"] %} + + {% endfor %} + {% endblock %} + + + \ No newline at end of file diff --git a/overrides/partials/content.html b/overrides/partials/content.html new file mode 100644 index 0000000..3f6248b --- /dev/null +++ b/overrides/partials/content.html @@ -0,0 +1,18 @@ +{% if page.edit_url %} + + {% include ".icons/material/pencil.svg" %} + +{% endif %} +{% if not "\x3ch1" in page.content %} +

{{ page.title | d(config.site_name, true)}}

+{% endif %} +{{ page.content }} +{% if page and page.meta and ( + page.meta.git_revision_date_localized or + page.meta.revision_date +) %} + {% if page and page.meta and page.meta.hide and "date" in page.meta.hide %} + {% else %} + {% include "partials/source-file.html" %} + {% endif %} +{% endif %} \ No newline at end of file diff --git a/overrides/partials/copyright.html b/overrides/partials/copyright.html new file mode 100644 index 0000000..d4641f6 --- /dev/null +++ b/overrides/partials/copyright.html @@ -0,0 +1,22 @@ + + \ No newline at end of file diff --git a/overrides/partials/header.html b/overrides/partials/header.html new file mode 100644 index 0000000..e1eecf8 --- /dev/null +++ b/overrides/partials/header.html @@ -0,0 +1,84 @@ +{% set class = "md-header" %} +{% if "navigation.tabs.sticky" in features %} + {% set class = class ~ " md-header--lifted" %} +{% endif %} +
+ + {% if "navigation.tabs.sticky" in features %} + {% if "navigation.tabs" in features %} + {% include "partials/tabs.html" %} + {% endif %} + {% endif %} +
diff --git a/overrides/partials/toc.html b/overrides/partials/toc.html new file mode 100644 index 0000000..f15b1ce --- /dev/null +++ b/overrides/partials/toc.html @@ -0,0 +1,25 @@ +{#- + This file was automatically generated - do not edit + -#} + {% set title = lang.t("toc.title") %} + {% if config.mdx_configs.toc and config.mdx_configs.toc.title %} + {% set title = config.mdx_configs.toc.title %} + {% endif %} + \ No newline at end of file