diff --git a/docs/css/admonitions.scss b/docs/css/admonitions.scss index 15329e24..e941c376 100644 --- a/docs/css/admonitions.scss +++ b/docs/css/admonitions.scss @@ -1,38 +1,72 @@ :root { - --md-admonition-icon--comment: url('data:image/svg+xml;charset=utf-8,'); - --md-admonition-icon--lab: url('data:image/svg+xml;charset=utf-8,'); + --md-admonition-icon--homepage-workflow: url('data:image/svg+xml;charset=utf-8,'); + --md-admonition-icon--homepage-infrastructure: url('data:image/svg+xml;charset=utf-8,'); + --md-admonition-icon--homepage-services: url('data:image/svg+xml;charset=utf-8,'); + --md-admonition-icon--homepage-faq: url('data:image/svg+xml;charset=utf-8,'); } .md-typeset { - .admonition.comment, - details.comment { - border-color: rgb(0, 200, 83); + .admonition.homepage-workflow, + details.homepage-workflow { + border-color: rgb(241, 79, 33); } - .comment > .admonition-title, - .comment > summary { - background-color: rgba(0, 200, 83, 0.1); + .homepage-workflow > .admonition-title, + .homepage-workflow > summary { + background-color: rgba(241, 79, 33, 0.1); &::before { - background-color: rgb(0, 200, 83); - -webkit-mask-image: var(--md-admonition-icon--comment); - mask-image: var(--md-admonition-icon--comment); + background-color: rgb(241, 79, 33); + -webkit-mask-image: var(--md-admonition-icon--homepage-workflow); + mask-image: var(--md-admonition-icon--homepage-workflow); } } - .admonition.lab, - details.lab { - border-color: rgb(255, 179, 77); + .admonition.homepage-infrastructure, + details.homepage-infrastructure { + border-color: rgb(126, 185, 0); } - .lab > .admonition-title, - .lab > summary { - background-color: rgba(255, 179, 77, 0.1); + .homepage-infrastructure > .admonition-title, + .homepage-infrastructure > summary { + background-color: rgba(126, 185, 0, 0.1); &::before { - background-color: rgb(255, 179, 77); - -webkit-mask-image: var(--md-admonition-icon--lab); - mask-image: var(--md-admonition-icon--lab); + background-color: rgb(126, 185, 0); + -webkit-mask-image: var(--md-admonition-icon--homepage-infrastructure); + mask-image: var(--md-admonition-icon--homepage-infrastructure); + } + } + + .admonition.homepage-services, + details.homepage-services { + border-color: rgb(0, 163, 238); + } + + .homepage-services > .admonition-title, + .homepage-services > summary { + background-color: rgba(0, 163, 238, 0.1); + + &::before { + background-color: rgb(0, 163, 238); + -webkit-mask-image: var(--md-admonition-icon--homepage-services); + mask-image: var(--md-admonition-icon--homepage-services); + } + } + + .admonition.homepage-faq, + details.homepage-faq { + border-color: rgb(254, 184, 0); + } + + .homepage-faq > .admonition-title, + .homepage-faq > summary { + background-color: rgba(254, 184, 0, 0.1); + + &::before { + background-color: rgb(254, 184, 0); + -webkit-mask-image: var(--md-admonition-icon--homepage-faq); + mask-image: var(--md-admonition-icon--homepage-faq); } } } diff --git a/docs/css/extra.css b/docs/css/extra.css index 5a3a5633..b25f6b11 100644 --- a/docs/css/extra.css +++ b/docs/css/extra.css @@ -1,16 +1,28 @@ -:root { --md-admonition-icon--comment: url('data:image/svg+xml;charset=utf-8,'); --md-admonition-icon--lab: url('data:image/svg+xml;charset=utf-8,'); } +:root { --md-admonition-icon--homepage-workflow: url('data:image/svg+xml;charset=utf-8,'); --md-admonition-icon--homepage-infrastructure: url('data:image/svg+xml;charset=utf-8,'); --md-admonition-icon--homepage-services: url('data:image/svg+xml;charset=utf-8,'); --md-admonition-icon--homepage-faq: url('data:image/svg+xml;charset=utf-8,'); } -.md-typeset .admonition.comment, .md-typeset details.comment { border-color: #00c853; } +.md-typeset .admonition.homepage-workflow, .md-typeset details.homepage-workflow { border-color: #f14f21; } -.md-typeset .comment > .admonition-title, .md-typeset .comment > summary { background-color: rgba(0, 200, 83, 0.1); } +.md-typeset .homepage-workflow > .admonition-title, .md-typeset .homepage-workflow > summary { background-color: rgba(241, 79, 33, 0.1); } -.md-typeset .comment > .admonition-title::before, .md-typeset .comment > summary::before { background-color: #00c853; -webkit-mask-image: var(--md-admonition-icon--comment); mask-image: var(--md-admonition-icon--comment); } +.md-typeset .homepage-workflow > .admonition-title::before, .md-typeset .homepage-workflow > summary::before { background-color: #f14f21; -webkit-mask-image: var(--md-admonition-icon--homepage-workflow); mask-image: var(--md-admonition-icon--homepage-workflow); } -.md-typeset .admonition.lab, .md-typeset details.lab { border-color: #ffb34d; } +.md-typeset .admonition.homepage-infrastructure, .md-typeset details.homepage-infrastructure { border-color: #7eb900; } -.md-typeset .lab > .admonition-title, .md-typeset .lab > summary { background-color: rgba(255, 179, 77, 0.1); } +.md-typeset .homepage-infrastructure > .admonition-title, .md-typeset .homepage-infrastructure > summary { background-color: rgba(126, 185, 0, 0.1); } -.md-typeset .lab > .admonition-title::before, .md-typeset .lab > summary::before { background-color: #ffb34d; -webkit-mask-image: var(--md-admonition-icon--lab); mask-image: var(--md-admonition-icon--lab); } +.md-typeset .homepage-infrastructure > .admonition-title::before, .md-typeset .homepage-infrastructure > summary::before { background-color: #7eb900; -webkit-mask-image: var(--md-admonition-icon--homepage-infrastructure); mask-image: var(--md-admonition-icon--homepage-infrastructure); } + +.md-typeset .admonition.homepage-services, .md-typeset details.homepage-services { border-color: #00a3ee; } + +.md-typeset .homepage-services > .admonition-title, .md-typeset .homepage-services > summary { background-color: rgba(0, 163, 238, 0.1); } + +.md-typeset .homepage-services > .admonition-title::before, .md-typeset .homepage-services > summary::before { background-color: #00a3ee; -webkit-mask-image: var(--md-admonition-icon--homepage-services); mask-image: var(--md-admonition-icon--homepage-services); } + +.md-typeset .admonition.homepage-faq, .md-typeset details.homepage-faq { border-color: #feb800; } + +.md-typeset .homepage-faq > .admonition-title, .md-typeset .homepage-faq > summary { background-color: rgba(254, 184, 0, 0.1); } + +.md-typeset .homepage-faq > .admonition-title::before, .md-typeset .homepage-faq > summary::before { background-color: #feb800; -webkit-mask-image: var(--md-admonition-icon--homepage-faq); mask-image: var(--md-admonition-icon--homepage-faq); } .red, .red-important { color: red !important; } diff --git a/docs/index.md b/docs/index.md index 13a0a628..73fe9a7c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,29 +11,21 @@ Documentation for LUG @ USTC technical infrastructure. Our documentation is divided into these sections, as laid out on the left navigation menu: -
+
-- :fontawesome-solid-wrench:{ .lg .middle } **Workflow** - - --- +!!! homepage-workflow "Workflow" Provides guidance to (a few) common maintenance tasks. -- :material-toy-brick:{ .lg .middle } **Infrastructure** - - --- +!!! homepage-infrastructure "Infrastructure" Describes our infrastructure, as well as common configurations across different servers (networking, firewalls, security, monitoring, etc.). -- :fontawesome-solid-certificate:{ .lg .middle } **Services** - - --- +!!! homepage-services "Services" Specific configurations on individual servers and service units (software and/or Docker containers). -- :fontawesome-solid-circle-question:{ .lg .middle } **Common Issues** (a.k.a. **FAQ**) - - --- +!!! homepage-faq "Common Issues (a.k.a. "FAQ")" For our troubleshooting experiences and serves partially as a "notebook" for known traps and workarounds. diff --git a/mkdocs.yml b/mkdocs.yml index 0d3fa21b..cc0e5352 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -49,7 +49,7 @@ extra: link: "https://github.com/ustclug" extra_css: - - https://101.ustclug.org/css/extra.css + - /css/extra.css # Extensions markdown_extensions: diff --git a/scripts/custom-admonitions.py b/scripts/custom-admonitions.py index 23fcc580..14f80089 100755 --- a/scripts/custom-admonitions.py +++ b/scripts/custom-admonitions.py @@ -7,14 +7,22 @@ CUSTOM_ADMONITIONS = { - "comment": { - "icon": "material/comment", - "rgb": [0x00, 0xC8, 0x53], + "homepage-workflow": { + "icon": "fontawesome/solid/wrench", + "rgb": (241, 79, 33), + }, + "homepage-infrastructure": { + "icon": "material/toy-brick", + "rgb": (126, 185, 0), + }, + "homepage-services": { + "icon": "fontawesome/solid/certificate", + "rgb": (0, 163, 238), + }, + "homepage-faq": { + "icon": "fontawesome/solid/circle-question", + "rgb": (254, 184, 0), }, - "lab": { - "icon": "material/flask", - "rgb": [0xFF, 0xB3, 0x4D], - } } # ensure we're in project root directory