diff --git a/docs/Community/CODE_OF_CONDUCT.md b/docs/Community/CODE_OF_CONDUCT.md
index fed50819..500fddb5 100644
--- a/docs/Community/CODE_OF_CONDUCT.md
+++ b/docs/Community/CODE_OF_CONDUCT.md
@@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
-contact@formingworlds.space.
+dev@proteus-framework.org.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
diff --git a/docs/Community/contact.md b/docs/Community/contact.md
index a8382b39..1035890b 100644
--- a/docs/Community/contact.md
+++ b/docs/Community/contact.md
@@ -6,4 +6,4 @@ We encourage you to reach out! Choose the most appropriate channel below.
|---------|---------|
| [GitHub Discussions](https://github.com/orgs/FormingWorlds/discussions) | Questions, installation help, feature suggestions |
| [GitHub Issues](https://github.com/FormingWorlds/SOCRATES/issues) | Bug reports, specific feature requests |
-| [proteus_dev@formingworlds.space](mailto:proteus_dev@formingworlds.space) | General enquiries |
+| [dev@proteus-framework.org](mailto:dev@proteus-framework.org) | General enquiries |
diff --git a/docs/assets/PROTEUS_black_on_white_logo_only.png b/docs/assets/PROTEUS_black_on_white_logo_only.png
deleted file mode 100644
index fe490485..00000000
Binary files a/docs/assets/PROTEUS_black_on_white_logo_only.png and /dev/null differ
diff --git a/docs/assets/PROTEUS_white_on_black.png b/docs/assets/PROTEUS_white_on_black.png
deleted file mode 100644
index 14e5d75f..00000000
Binary files a/docs/assets/PROTEUS_white_on_black.png and /dev/null differ
diff --git a/docs/assets/PROTEUS_white_on_black_logo_only.png b/docs/assets/PROTEUS_white_on_black_logo_only.png
deleted file mode 100644
index fbd6d489..00000000
Binary files a/docs/assets/PROTEUS_white_on_black_logo_only.png and /dev/null differ
diff --git a/docs/assets/favicon-light.png b/docs/assets/favicon-light.png
new file mode 100644
index 00000000..6db0ca63
Binary files /dev/null and b/docs/assets/favicon-light.png differ
diff --git a/docs/assets/favicon.png b/docs/assets/favicon.png
new file mode 100644
index 00000000..e1872976
Binary files /dev/null and b/docs/assets/favicon.png differ
diff --git a/docs/assets/favicon.svg b/docs/assets/favicon.svg
new file mode 100644
index 00000000..d61ea98d
--- /dev/null
+++ b/docs/assets/favicon.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/docs/assets/glyph_phase_dark.png b/docs/assets/glyph_phase_dark.png
new file mode 100644
index 00000000..f42b5356
Binary files /dev/null and b/docs/assets/glyph_phase_dark.png differ
diff --git a/docs/getting_started.md b/docs/getting_started.md
index 9b908bd7..ee4e33db 100644
--- a/docs/getting_started.md
+++ b/docs/getting_started.md
@@ -1,8 +1,3 @@
----
-hide:
- - navigation
----
-
# Get started
@@ -61,7 +56,7 @@ navigation bar.
- :material-code-braces: **Contribute or develop**
- [Go to contributing guide](Community/CONTRIBUTING.md)
+ [Go to contributing guide](https://proteus-framework.org/PROTEUS/Community/CONTRIBUTING.html)
- :material-bug: **Raise an issue**
diff --git a/docs/index.md b/docs/index.md
index acee9217..feb27b8d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,22 +1,12 @@
----
-title: SOCRATES
-hide:
- - toc
- - navigation
----
+# SOCRATES
-
+
Suite Of Community RAdiative Transfer codes based on Edwards and Slingo
-
SOCRATES
+[](https://github.com/FormingWorlds/SOCRATES/blob/main/LICENCE)
+[](https://proteus-framework.org/SOCRATES/)
-
Suite Of Community RAdiative Transfer codes based on Edwards and Slingo
+**SOCRATES** is the radiative transfer core of the [PROTEUS](https://proteus-framework.org/PROTEUS) coupled atmosphere-interior evolution framework, called by the radiative-convective atmosphere model [AGNI](https://www.h-nicholls.space/AGNI/). It is a high-performance code for computing fluxes, heating rates, and radiances in planetary atmospheres; its primary development and maintenance is led by the UK Met Office.
-
-
-
-
-
-SOCRATES is a high-performance radiative transfer code for computing fluxes, heating rates, and radiances in planetary atmospheres. Its primary development and maintenance is lead by the UK Met Office. SOCRATES is applied as the radiative transfer core of the [PROTEUS framework](https://proteus-framework.org/PROTEUS/), called by the radiative-convective atmosphere model [AGNI](https://www.h-nicholls.space/AGNI/).
!!! info "PROTEUS framework"
This documentation describes SOCRATES as integrated into the PROTEUS framework for exoplanet atmosphere modelling. The original Met Office repository can be found [here](https://github.com/MetOffice/socrates).
@@ -67,4 +57,3 @@ SOCRATES is released under the [BSD 3-Clause Licence](https://github.com/Forming
!!! info "Licenses across the PROTEUS framework"
Different components within the PROTEUS framework carry different licenses. Please find information about the use of licenses within the PROTEUS framework on the website's [license page](https://proteus-framework.org/license/).
-
\ No newline at end of file
diff --git a/docs/javascripts/header-links.js b/docs/javascripts/header-links.js
index d6649498..9d976cf1 100644
--- a/docs/javascripts/header-links.js
+++ b/docs/javascripts/header-links.js
@@ -2,19 +2,20 @@ function wire() {
const homepage = "https://proteus-framework.org/";
const logo = document.querySelector(".md-header__button.md-logo");
- if (logo) logo.href = homepage;
+ let docsHome = location.origin + "/";
+ if (logo) {
+ // The theme points the logo at this site's own home page. Remember that
+ // before repointing the logo at the framework home, so the title can use
+ // it and no page has to know its own name.
+ if (!logo.dataset.docsHome) logo.dataset.docsHome = logo.href;
+ docsHome = logo.dataset.docsHome;
+ logo.href = homepage;
+ }
const title = document.querySelector(".md-header__title[data-md-component='header-title']");
- if (title && !title.dataset.spiderWired) {
- title.dataset.spiderWired = "1";
+ if (title && !title.dataset.titleWired) {
+ title.dataset.titleWired = "1";
title.style.cursor = "pointer";
-
- // always go to /SOCRATES/ when hosted there, else "/" (mkdocs serve)
- const href = location.href;
- const docsHome = href.includes("/SOCRATES/")
- ? href.split("/SOCRATES/")[0] + "/SOCRATES/"
- : location.origin + "/";
-
title.addEventListener("click", (e) => {
if (e.target.closest("a, button, input, label")) return;
window.location.assign(docsHome);
diff --git a/docs/overrides/main.html b/docs/overrides/main.html
index be8f24d8..62674901 100644
--- a/docs/overrides/main.html
+++ b/docs/overrides/main.html
@@ -5,11 +5,11 @@
+
+
{% endblock %}
diff --git a/docs/proteus_framework.md b/docs/proteus_framework.md
index ca266d48..49c77ecd 100644
--- a/docs/proteus_framework.md
+++ b/docs/proteus_framework.md
@@ -8,8 +8,8 @@ hide:
diff --git a/docs/stylesheets/diagram.css b/docs/stylesheets/diagram.css
deleted file mode 100644
index d5f8acbb..00000000
--- a/docs/stylesheets/diagram.css
+++ /dev/null
@@ -1,25 +0,0 @@
-.mod-diagram {
- width: 100%;
- height: auto;
- aspect-ratio: 12.1 / 9; /* specific aspect ratio for the module diagram */
- display: none;
-}
-/* Light mode: show light diagram */
-[data-md-color-scheme="default"] .mod-diagram--light {
- display: block;
-}
-
-/* Dark mode: show dark diagram (Material's default dark scheme is "slate") */
-[data-md-color-scheme="slate"] .mod-diagram--dark {
- display: block;
-}
-
-/* Remove underline from links that contain only an image */
-.md-typeset p a:has(> img) {
- text-decoration: none;
-}
-
-.mod-diagram:focus,
-.mod-diagram:focus-visible {
- outline: none !important;
-}
\ No newline at end of file
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index 04361773..49cdb28f 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -1,18 +1,225 @@
-@media screen and (min-width: 769px) {
- .socrates-index {
- max-width: 70em;
- margin-left: auto;
- margin-right: auto;
- }
+/* ============================================================
+ PROTEUS — Thermocline theme for zensical / Material for MkDocs
+ Drop-in: docs/stylesheets/extra.css
+ ------------------------------------------------------------
+ mkdocs.yml:
+ theme:
+ name: zensical # or material
+ palette:
+ - media: "(prefers-color-scheme: dark)"
+ scheme: slate # dark-first
+ toggle: { icon: material/brightness-7, name: Light mode }
+ - media: "(prefers-color-scheme: light)"
+ scheme: default
+ toggle: { icon: material/brightness-4, name: Dark mode }
+ font: false # fonts loaded below
+ logo: assets/glyph_phase_dark.png
+ favicon: assets/favicon.svg
+ extra_css:
+ - stylesheets/extra.css
+ Copy logo/glyph/glyph_phase_dark.png (+ _light) and
+ logo/favicon/favicon.svg into docs/assets/,
+ and from this repo's fonts/ folder copy fonts.css, OFL.txt, and the
+ three family folders into docs/stylesheets/fonts/ (the import below
+ loads them; no third-party font requests). Leave fonts/README.md
+ behind so mkdocs does not render it as a page.
+ ============================================================ */
- .socrates-proteus-framework {
- max-width: 50em;
- margin-right: auto;
- }
+@import url("fonts/fonts.css");
- .socrates-getstarted {
- margin-left: 1em;
- }
+:root {
+ /* brand */
+ --pt-magma: #E23D28;
+ --pt-mantle: #8E1F12;
+ --pt-crimson: #C2362B;
+ --pt-ocean: #1B6FA8;
+ --pt-abyss: #14406B;
+ --pt-azure: #4FA3D9;
+ --pt-ice: #A8D4E8;
+ --pt-void: #05070B;
+ --pt-basalt: #0E131B;
+ --pt-line-d: #1A2230;
+
+ /* accents: sporadic highlight and extra data-series range. Solar is the
+ bright tone for dark surfaces; the light block below swaps in the deep
+ one, which is also available by name for a mark that must stay deep. */
+ --pt-solar: #E0A32E;
+ --pt-solar-deep: #C8860F;
+ --pt-verdant: #57A05C;
+
+ /* module domains: one hue per physical domain, identical in every artifact
+ of the ecosystem, so a reader who learns the mapping on one page carries
+ it to the next. A module takes the colour of the domain it acts on. */
+ --pt-dom-interior: #E23D28; /* SPIDER, Aragog, Zalmoxis */
+ --pt-dom-outgassing: #A03123; /* CALLIOPE, Atmodeller */
+ --pt-dom-tidal: #593E74; /* LovePy, Obliqua */
+ --pt-dom-chem: #1B6FA8; /* VULCAN, ZEPHYRUS */
+ --pt-dom-atmos: #4FA3D9; /* AGNI, JANUS */
+ --pt-dom-stellar: #E0A32E; /* MORS; deepens on light, see the light block */
+ --pt-dom-accretion: #A38F7A; /* Morrigan */
+
+ /* phase ramp, magma through void to ocean, for data running molten to
+ frozen. Ordered, so an index maps to a position along the ramp. */
+ --pt-p1: #E23D28;
+ --pt-p2: #8E1F12;
+ --pt-p3: #3A120C;
+ --pt-p4: #05070B;
+ --pt-p5: #0E2A45;
+ --pt-p6: #14406B;
+ --pt-p7: #1B6FA8;
+ --pt-p8: #4FA3D9;
+ --pt-p9: #A8D4E8;
+
+ /* status, held apart from the domain hues so a red module and a failure
+ never have to be told apart by colour alone */
+ --pt-positive: #2E8B57;
+ --pt-warning: #C77726;
+ --pt-danger: #C2362B;
+ --pt-info: #1B6FA8;
+
+ --md-text-font: "Instrument Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ --md-code-font: "Spline Sans Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
+/* ---------- DARK (scheme: slate) — the primary mode ---------- */
+[data-md-color-scheme="slate"] {
+ --md-default-bg-color: var(--pt-void);
+ --md-default-fg-color: #E9EEF2;
+ --md-default-fg-color--light: #9FB0BE;
+ --md-default-fg-color--lighter: #5A6B7A;
+ --md-default-fg-color--lightest: #1A2230;
+
+ --md-primary-fg-color: var(--pt-void);
+ --md-primary-bg-color: #E9EEF2;
+ --md-accent-fg-color: var(--pt-ice);
+
+ --md-typeset-color: #C6D0D9;
+ --md-typeset-a-color: var(--pt-azure);
+
+ --md-code-bg-color: #04060A;
+ --md-code-fg-color: #B8C6D2;
+ --md-code-hl-keyword-color: var(--pt-magma);
+ --md-code-hl-string-color: var(--pt-azure);
+ --md-code-hl-number-color: var(--pt-ice);
+ --md-code-hl-comment-color: #5A6B7A;
+ --md-code-hl-function-color: var(--pt-ice);
+ --md-code-hl-name-color: #C6D0D9;
+
+ --md-admonition-bg-color: var(--pt-basalt);
+ --md-footer-bg-color: var(--pt-basalt);
+ --md-footer-bg-color--dark: var(--pt-void);
+}
+
+/* ---------- LIGHT (scheme: default) — the mirror ---------- */
+[data-md-color-scheme="default"] {
+ --md-default-bg-color: #F2F5F7;
+ --md-default-fg-color: #10151B;
+ --md-default-fg-color--light: #3E4A55;
+ --md-default-fg-color--lighter: #7A8894;
+ --md-default-fg-color--lightest: #D2DAE1;
+
+ --md-primary-fg-color: #10151B; /* header bar stays ink on light */
+ --md-primary-bg-color: #F2F5F7;
+ --md-accent-fg-color: var(--pt-abyss);
+
+ --md-typeset-color: #2A343D;
+ --md-typeset-a-color: var(--pt-ocean);
+
+ --md-code-bg-color: #E9EEF3;
+ --md-code-fg-color: #22303B;
+ --md-code-hl-keyword-color: var(--pt-crimson);
+ --md-code-hl-string-color: var(--pt-abyss);
+ --md-code-hl-number-color: var(--pt-ocean);
+ --md-code-hl-comment-color: #7A8894;
+
+ /* the one domain colour that differs by scheme: the bright tone reaches
+ only 2.0:1 on Paper, and deepening lifts it to 2.8:1 */
+ --pt-solar: #C8860F;
+ --pt-dom-stellar: #C8860F;
+}
+
+/* ---------- typography ---------- */
+.md-typeset h1, .md-typeset h2, .md-typeset h3 {
+ font-family: "Sora", var(--md-text-font);
+ font-weight: 700;
+ letter-spacing: -0.02em;
+}
+.md-typeset h1 { font-weight: 800; }
+.md-header__topic, .md-header__title {
+ font-family: "Sora", var(--md-text-font);
+ font-weight: 800;
+ letter-spacing: 0.02em;
+}
+
+/* tracked mono labels for nav sections */
+.md-nav__title, .md-nav--secondary .md-nav__title {
+ font-family: var(--md-code-font);
+ font-size: 0.62rem;
+ letter-spacing: 0.18em;
+ text-transform: uppercase;
+}
+
+/* ---------- structure: hairlines, active ticks ---------- */
+.md-header { border-bottom: 1px solid var(--pt-line-d); }
+[data-md-color-scheme="default"] .md-header { border-bottom-color: #D2DAE1; }
+
+.md-nav__item .md-nav__link--active {
+ color: var(--pt-azure);
+ border-left: 2px solid var(--pt-magma);
+ padding-left: 0.5rem;
+ margin-left: -0.6rem;
+ background: linear-gradient(90deg, rgba(226,61,40,0.06), transparent);
+}
+[data-md-color-scheme="default"] .md-nav__item .md-nav__link--active {
+ color: var(--pt-ocean);
+ border-left-color: var(--pt-crimson);
+}
+
+.md-typeset h2 { border-top: 1px solid var(--pt-line-d); padding-top: 0.8em; }
+[data-md-color-scheme="default"] .md-typeset h2 { border-top-color: #D2DAE1; }
+
+/* code blocks: magma spine */
+.md-typeset pre > code { border-radius: 4px; }
+.md-typeset pre { border-left: 3px solid var(--pt-magma); border-radius: 4px; }
+
+/* tabs: active = magma underline */
+.md-tabs__link--active { border-bottom: 2px solid var(--pt-magma); }
+
+/* admonitions: flat, mono titles */
+.md-typeset .admonition, .md-typeset details {
+ border-width: 1px;
+ border-radius: 4px;
+ box-shadow: none;
+}
+.md-typeset .admonition-title, .md-typeset summary {
+ font-family: var(--md-code-font);
+ font-size: 0.62rem;
+ letter-spacing: 0.14em;
+ text-transform: uppercase;
+}
+.md-typeset .admonition.note, .md-typeset .admonition.info {
+ border-color: rgba(27,111,168,0.4);
+}
+.md-typeset .admonition.warning, .md-typeset .admonition.danger {
+ border-color: rgba(226,61,40,0.4);
+}
+
+/* tables */
+.md-typeset table:not([class]) th {
+ font-family: var(--md-code-font);
+ font-size: 0.62rem;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+}
+
+/* footer phase band */
+.md-footer-meta { position: relative; }
+.md-footer-meta::before {
+ content: "";
+ display: block;
+ height: 5px;
+ background: linear-gradient(90deg, #E23D28, #8E1F12 25%, #05070B 50%, #14406B 75%, #4FA3D9 92%, #A8D4E8);
+}
+/* focus */
+:focus-visible { outline: 2px solid var(--pt-magma); outline-offset: 2px; }
diff --git a/docs/stylesheets/fonts/OFL.txt b/docs/stylesheets/fonts/OFL.txt
new file mode 100644
index 00000000..a270166a
--- /dev/null
+++ b/docs/stylesheets/fonts/OFL.txt
@@ -0,0 +1,95 @@
+Copyright 2019 The Sora Project Authors (https://github.com/sora-xor/sora-font)
+Copyright 2022 The Instrument Sans Project Authors (https://github.com/Instrument/instrument-sans)
+Copyright 2022 The Spline Sans Mono Project Authors (https://github.com/SorkinType/SplineSansMono)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/docs/stylesheets/fonts/fonts.css b/docs/stylesheets/fonts/fonts.css
new file mode 100644
index 00000000..ee64b9de
--- /dev/null
+++ b/docs/stylesheets/fonts/fonts.css
@@ -0,0 +1,68 @@
+/* ============================================================
+ PROTEUS FRAMEWORK — THERMOCLINE SELF-HOSTED FONTS
+ Sora (display) · Instrument Sans (body/UI) · Spline Sans Mono
+ All faces are SIL OFL 1.1; see OFL.txt in this folder.
+ Family names match the stacks in ../tokens/tokens.css.
+ ============================================================ */
+
+/* ——— Sora — display ——— */
+@font-face {
+ font-family: "Sora";
+ src: url("sora/Sora-SemiBold.woff2") format("woff2"), url("sora/Sora-SemiBold.ttf") format("truetype");
+ font-weight: 600;
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: "Sora";
+ src: url("sora/Sora-Bold.woff2") format("woff2"), url("sora/Sora-Bold.ttf") format("truetype");
+ font-weight: 700;
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: "Sora";
+ src: url("sora/Sora-ExtraBold.woff2") format("woff2"), url("sora/Sora-ExtraBold.ttf") format("truetype");
+ font-weight: 800;
+ font-style: normal;
+ font-display: swap;
+}
+
+/* ——— Instrument Sans — body / UI ——— */
+@font-face {
+ font-family: "Instrument Sans";
+ src: url("instrument-sans/InstrumentSans-Regular.woff2") format("woff2"), url("instrument-sans/InstrumentSans-Regular.ttf") format("truetype");
+ font-weight: 400;
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: "Instrument Sans";
+ src: url("instrument-sans/InstrumentSans-Medium.woff2") format("woff2"), url("instrument-sans/InstrumentSans-Medium.ttf") format("truetype");
+ font-weight: 500;
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: "Instrument Sans";
+ src: url("instrument-sans/InstrumentSans-SemiBold.woff2") format("woff2"), url("instrument-sans/InstrumentSans-SemiBold.ttf") format("truetype");
+ font-weight: 600;
+ font-style: normal;
+ font-display: swap;
+}
+
+/* ——— Spline Sans Mono — code, labels, metadata ——— */
+@font-face {
+ font-family: "Spline Sans Mono";
+ src: url("spline-sans-mono/SplineSansMono-Regular.woff2") format("woff2"), url("spline-sans-mono/SplineSansMono-Regular.ttf") format("truetype");
+ font-weight: 400;
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: "Spline Sans Mono";
+ src: url("spline-sans-mono/SplineSansMono-Medium.woff2") format("woff2"), url("spline-sans-mono/SplineSansMono-Medium.ttf") format("truetype");
+ font-weight: 500;
+ font-style: normal;
+ font-display: swap;
+}
diff --git a/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Medium.ttf b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Medium.ttf
new file mode 100644
index 00000000..7454de37
Binary files /dev/null and b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Medium.ttf differ
diff --git a/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Medium.woff2 b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Medium.woff2
new file mode 100644
index 00000000..cfe7c813
Binary files /dev/null and b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Medium.woff2 differ
diff --git a/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Regular.ttf b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Regular.ttf
new file mode 100644
index 00000000..538b6bf2
Binary files /dev/null and b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Regular.ttf differ
diff --git a/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Regular.woff2 b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Regular.woff2
new file mode 100644
index 00000000..7acf92b7
Binary files /dev/null and b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-Regular.woff2 differ
diff --git a/docs/stylesheets/fonts/instrument-sans/InstrumentSans-SemiBold.ttf b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-SemiBold.ttf
new file mode 100644
index 00000000..525fdb23
Binary files /dev/null and b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-SemiBold.ttf differ
diff --git a/docs/stylesheets/fonts/instrument-sans/InstrumentSans-SemiBold.woff2 b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-SemiBold.woff2
new file mode 100644
index 00000000..dfaa2ea2
Binary files /dev/null and b/docs/stylesheets/fonts/instrument-sans/InstrumentSans-SemiBold.woff2 differ
diff --git a/docs/stylesheets/fonts/sora/Sora-Bold.ttf b/docs/stylesheets/fonts/sora/Sora-Bold.ttf
new file mode 100644
index 00000000..ffd347bf
Binary files /dev/null and b/docs/stylesheets/fonts/sora/Sora-Bold.ttf differ
diff --git a/docs/stylesheets/fonts/sora/Sora-Bold.woff2 b/docs/stylesheets/fonts/sora/Sora-Bold.woff2
new file mode 100644
index 00000000..d398e91d
Binary files /dev/null and b/docs/stylesheets/fonts/sora/Sora-Bold.woff2 differ
diff --git a/docs/stylesheets/fonts/sora/Sora-ExtraBold.ttf b/docs/stylesheets/fonts/sora/Sora-ExtraBold.ttf
new file mode 100644
index 00000000..c4a3f7f8
Binary files /dev/null and b/docs/stylesheets/fonts/sora/Sora-ExtraBold.ttf differ
diff --git a/docs/stylesheets/fonts/sora/Sora-ExtraBold.woff2 b/docs/stylesheets/fonts/sora/Sora-ExtraBold.woff2
new file mode 100644
index 00000000..bd1f2068
Binary files /dev/null and b/docs/stylesheets/fonts/sora/Sora-ExtraBold.woff2 differ
diff --git a/docs/stylesheets/fonts/sora/Sora-SemiBold.ttf b/docs/stylesheets/fonts/sora/Sora-SemiBold.ttf
new file mode 100644
index 00000000..98984f67
Binary files /dev/null and b/docs/stylesheets/fonts/sora/Sora-SemiBold.ttf differ
diff --git a/docs/stylesheets/fonts/sora/Sora-SemiBold.woff2 b/docs/stylesheets/fonts/sora/Sora-SemiBold.woff2
new file mode 100644
index 00000000..fccedb13
Binary files /dev/null and b/docs/stylesheets/fonts/sora/Sora-SemiBold.woff2 differ
diff --git a/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Medium.ttf b/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Medium.ttf
new file mode 100644
index 00000000..198cfe00
Binary files /dev/null and b/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Medium.ttf differ
diff --git a/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Medium.woff2 b/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Medium.woff2
new file mode 100644
index 00000000..49535c12
Binary files /dev/null and b/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Medium.woff2 differ
diff --git a/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Regular.ttf b/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Regular.ttf
new file mode 100644
index 00000000..d24102d4
Binary files /dev/null and b/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Regular.ttf differ
diff --git a/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Regular.woff2 b/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Regular.woff2
new file mode 100644
index 00000000..4424ba75
Binary files /dev/null and b/docs/stylesheets/fonts/spline-sans-mono/SplineSansMono-Regular.woff2 differ
diff --git a/docs/stylesheets/layout.css b/docs/stylesheets/layout.css
new file mode 100644
index 00000000..5bdcf126
--- /dev/null
+++ b/docs/stylesheets/layout.css
@@ -0,0 +1,190 @@
+/* Site-specific overrides. stylesheets/extra.css is a verbatim copy of the
+ shared theme and is never edited; everything a page needs on top of it
+ belongs here.
+
+ The first section is the correction set the module documentation sites
+ share, so it stays identical across them and a change to it applies
+ everywhere. Not every rule in it fires on every site, since the sites do not
+ all use the same page furniture; a rule that matches nothing here is still
+ carried so the section stays comparable. Rules that only this site uses go
+ in the second section. */
+
+/* =========================================================
+ Shared across the PROTEUS module documentation sites
+ ========================================================= */
+
+/* Remove underline from links that contain only an image */
+.md-typeset p a:has(> img) {
+ text-decoration: none;
+}
+
+/* Figure captions: justified, full width, slightly smaller */
+.md-typeset figcaption {
+ text-align: justify;
+ max-width: 100%;
+ font-size: 0.85em;
+ line-height: 1.5;
+}
+
+/* Paired light/dark images: show the one matching the active scheme */
+.logo-dark { display: none; }
+[data-md-color-scheme="slate"] .logo-light { display: none; }
+[data-md-color-scheme="slate"] .logo-dark { display: inline; }
+
+/* Modules diagram: size and show light/dark versions based on color scheme.
+ Every module site embeds the same schematic, and the aspect ratio matches
+ its source viewBox, so the box reserved while the SVG loads is the box it
+ ends up occupying. */
+.mod-diagram {
+ width: 100%;
+ height: auto;
+ aspect-ratio: 670 / 509;
+ display: none;
+}
+[data-md-color-scheme="default"] .mod-diagram--light {
+ display: block;
+}
+[data-md-color-scheme="slate"] .mod-diagram--dark {
+ display: block;
+}
+.mod-diagram:focus,
+.mod-diagram:focus-visible {
+ outline: none !important;
+}
+
+/* Grid cards: make the last paragraph in each card stick to the bottom of the card */
+.md-typeset .grid.cards > ul > li {
+ display: flex;
+ flex-direction: column;
+}
+
+.md-typeset .grid.cards > ul > li > p:last-child {
+ margin-top: auto;
+}
+
+/* Active top tab: magma underline (the theme targets a link class that
+ this template does not emit, so the marker is set on the item) */
+.md-tabs__item--active {
+ border-bottom-color: var(--pt-magma);
+}
+
+/* Headings that follow an explicit horizontal rule keep the rule as their
+ only separator instead of doubling it with the heading border */
+.md-typeset hr + h2 {
+ border-top: none;
+ padding-top: 0;
+}
+
+/* Admonitions: tint the box with its signal color (set directly, since the
+ theme hardcodes its own background on the admonition element) */
+.md-typeset .admonition.note,
+.md-typeset details.note,
+.md-typeset .admonition.info,
+.md-typeset details.info {
+ --md-admonition-bg-color: rgba(27, 111, 168, 0.10);
+ background-color: rgba(27, 111, 168, 0.10);
+}
+
+.md-typeset .note > .admonition-title::before,
+.md-typeset .note > summary::before,
+.md-typeset .info > .admonition-title::before,
+.md-typeset .info > summary::before {
+ background-color: #1B6FA8;
+}
+
+/* the fold chevron of collapsible admonitions draws in currentColor */
+.md-typeset .note > summary::after,
+.md-typeset .info > summary::after {
+ color: #1B6FA8;
+}
+
+.md-typeset .admonition.warning,
+.md-typeset details.warning,
+.md-typeset .admonition.danger,
+.md-typeset details.danger {
+ --md-admonition-bg-color: rgba(226, 61, 40, 0.10);
+ background-color: rgba(226, 61, 40, 0.10);
+}
+
+.md-typeset .warning > .admonition-title::before,
+.md-typeset .warning > summary::before,
+.md-typeset .danger > .admonition-title::before,
+.md-typeset .danger > summary::before {
+ background-color: #E23D28;
+}
+
+.md-typeset .warning > summary::after,
+.md-typeset .danger > summary::after {
+ color: #E23D28;
+}
+
+/* Table headers containing math keep normal typography: the tracked
+ uppercase mono header style would mangle symbols and units */
+.md-typeset table:not([class]) th:has(.arithmatex, mjx-container) {
+ font-family: inherit;
+ font-size: inherit;
+ letter-spacing: normal;
+ text-transform: none;
+}
+
+/* Primary buttons: the dark scheme reuses the primary color as the page
+ background, so the pill inverts to the light foreground tone there. */
+[data-md-color-scheme="slate"] .md-typeset .md-button--primary {
+ background-color: var(--md-primary-bg-color);
+ border-color: var(--md-primary-bg-color);
+ color: var(--pt-void);
+}
+[data-md-color-scheme="slate"] .md-typeset .md-button--primary:hover,
+[data-md-color-scheme="slate"] .md-typeset .md-button--primary:focus {
+ background-color: var(--pt-ice);
+ border-color: var(--pt-ice);
+ color: var(--pt-void);
+}
+
+/* Footer: no underline on copyright and meta links */
+.md-footer-copyright a,
+.md-footer-meta a {
+ text-decoration: none !important;
+}
+
+/* Front-page subtitle: the line under the module name, a size down and in the
+ muted foreground so it reads as a caption rather than a second heading */
+.md-typeset .subtitle {
+ font-size: 1.0rem;
+ color: var(--md-default-fg-color--light);
+ margin-top: -0.1rem;
+}
+
+/* Header title doubles as a home link (see javascripts/header-links.js) */
+.md-header__title[data-md-component="header-title"] {
+ cursor: pointer;
+ transition: opacity 0.15s ease;
+}
+
+.md-header__title[data-md-component="header-title"]:hover {
+ opacity: 0.7;
+}
+
+/* =========================================================
+ SOCRATES
+ ========================================================= */
+
+/* Width limits for the pages that read as prose rather than reference: a
+ measure that stays comfortable on a wide screen, and an indent on the
+ getting-started page. */
+@media screen and (min-width: 769px) {
+ .socrates-index {
+ max-width: 70em;
+ margin-left: auto;
+ margin-right: auto;
+ }
+
+ .socrates-proteus-framework {
+ max-width: 50em;
+ margin-right: auto;
+ }
+
+ .socrates-getstarted {
+ margin-left: 1em;
+ }
+}
diff --git a/docs/stylesheets/proteus_theme.css b/docs/stylesheets/proteus_theme.css
deleted file mode 100644
index 83c5b8f0..00000000
--- a/docs/stylesheets/proteus_theme.css
+++ /dev/null
@@ -1,250 +0,0 @@
-/* =========================================================
- PROTEUS theme variables
- ========================================================= */
-
-/* Be careful when changing these, as they affect multiple elements across the site. */
-
-[data-md-color-scheme="default"],
-[data-md-color-scheme="slate"] {
- --md-primary-fg-color: #1c2b4b;
- --md-primary-fg-color--light: #2a3d69;
- --md-primary-fg-color--dark: #14203a;
-
- --proteus-highlight-color: #ff6e40;
- --proteus-highlight-bg-soft: rgba(255, 109, 64, 0.093);
-
- --md-accent-fg-color: var(--proteus-highlight-color);
-
- --md-typeset-a-color: #3b6193;
-}
-
-/* Softer slate background + more muted link color */
-[data-md-color-scheme="slate"] {
- --md-default-bg-color: #0f172ad2;
- --md-default-bg-color--light: #1e293b;
- --md-default-bg-color--lighter: #334155;
- --md-default-bg-color--lightest: #475569;
-
- --md-typeset-a-color: #8fa8c9;
-}
-
-/* =========================================================
- Header + tabs
- ========================================================= */
-
-[data-md-color-scheme="default"] .md-header,
-[data-md-color-scheme="default"] .md-tabs,
-[data-md-color-scheme="slate"] .md-header,
-[data-md-color-scheme="slate"] .md-tabs {
- background-color: var(--md-primary-fg-color);
-}
-
-[data-md-color-scheme="default"] .md-header *,
-[data-md-color-scheme="default"] .md-tabs *,
-[data-md-color-scheme="slate"] .md-header *,
-[data-md-color-scheme="slate"] .md-tabs * {
- color: #fff !important;
- fill: #fff !important;
-}
-
-/* =========================================================
- Expanded search
- ========================================================= */
-
-[data-md-color-scheme="default"] .md-search__form,
-[data-md-color-scheme="slate"] .md-search__form {
- background-color: rgba(255, 255, 255, 0.12) !important;
- border-radius: 0.2rem !important;
- box-shadow: none !important;
-}
-
-[data-md-color-scheme="default"] .md-search__form:hover,
-[data-md-color-scheme="default"] .md-search__form:focus-within,
-[data-md-color-scheme="slate"] .md-search__form:hover,
-[data-md-color-scheme="slate"] .md-search__form:focus-within {
- background-color: rgba(255, 255, 255, 0.16) !important;
-}
-
-[data-md-color-scheme="default"] .md-search__input,
-[data-md-color-scheme="slate"] .md-search__input {
- color: #fff !important;
- -webkit-text-fill-color: #fff !important;
- caret-color: #fff !important;
- background: transparent !important;
- -webkit-appearance: none;
- appearance: none;
-}
-
-[data-md-color-scheme="default"] .md-search__input::placeholder,
-[data-md-color-scheme="slate"] .md-search__input::placeholder {
- color: rgba(255, 255, 255, 0.75) !important;
- -webkit-text-fill-color: rgba(255, 255, 255, 0.75) !important;
- opacity: 1 !important;
-}
-
-/* Hide browser-native search decorations */
-.md-search__input::-webkit-search-decoration,
-.md-search__input::-webkit-search-cancel-button,
-.md-search__input::-webkit-search-results-button,
-.md-search__input::-webkit-search-results-decoration {
- -webkit-appearance: none;
- appearance: none;
- display: none;
-}
-
-/* Expanded search icons */
-[data-md-color-scheme="default"] .md-search__icon,
-[data-md-color-scheme="default"] .md-search__icon svg,
-[data-md-color-scheme="default"] .md-search__icon svg *,
-[data-md-color-scheme="default"] .md-search__label,
-[data-md-color-scheme="default"] .md-search__label svg,
-[data-md-color-scheme="default"] .md-search__label svg *,
-[data-md-color-scheme="slate"] .md-search__icon,
-[data-md-color-scheme="slate"] .md-search__icon svg,
-[data-md-color-scheme="slate"] .md-search__icon svg *,
-[data-md-color-scheme="slate"] .md-search__label,
-[data-md-color-scheme="slate"] .md-search__label svg,
-[data-md-color-scheme="slate"] .md-search__label svg * {
- color: #fff !important;
- fill: #fff !important;
- stroke: #fff !important;
- opacity: 1 !important;
-}
-
-/* =========================================================
- Collapsed search trigger in header
- ========================================================= */
-
-[data-md-color-scheme="default"] .md-search__button,
-[data-md-color-scheme="slate"] .md-search__button {
- color: #fff !important;
- background-color: rgba(255, 255, 255, 0.12) !important;
- border-radius: 0.6rem !important;
-}
-
-[data-md-color-scheme="default"] .md-search__button:hover,
-[data-md-color-scheme="default"] .md-search__button:focus,
-[data-md-color-scheme="slate"] .md-search__button:hover,
-[data-md-color-scheme="slate"] .md-search__button:focus {
- background-color: rgba(255, 255, 255, 0.16) !important;
-}
-
-/* Collapsed magnifier */
-[data-md-color-scheme="default"] .md-search__button::before,
-[data-md-color-scheme="slate"] .md-search__button::before {
- color: #fff !important;
- -webkit-text-fill-color: #fff !important;
- filter: brightness(0) invert(1) !important;
- opacity: 1 !important;
-}
-
-/* If an inner SVG is used in some states */
-[data-md-color-scheme="default"] .md-search__button svg,
-[data-md-color-scheme="default"] .md-search__button svg *,
-[data-md-color-scheme="slate"] .md-search__button svg,
-[data-md-color-scheme="slate"] .md-search__button svg * {
- fill: #fff !important;
- stroke: #fff !important;
- color: #fff !important;
-}
-
-/* Shortcut badge */
-[data-md-color-scheme="default"] .md-search__button kbd,
-[data-md-color-scheme="default"] .md-search__button .md-search__kbd,
-[data-md-color-scheme="slate"] .md-search__button kbd,
-[data-md-color-scheme="slate"] .md-search__button .md-search__kbd {
- color: rgba(255, 255, 255, 0.9) !important;
- background-color: rgba(255, 255, 255, 0.18) !important;
- border: none !important;
- box-shadow: none !important;
-}
-
-/* Badge drawn as pseudo-element in some versions */
-[data-md-color-scheme="default"] .md-search__button::after,
-[data-md-color-scheme="slate"] .md-search__button::after {
- background-color: rgba(255, 255, 255, 0.12) !important;
- border: none !important;
- box-shadow: none !important;
- color: rgba(255, 255, 255, 0.9) !important;
-}
-
-/* =========================================================
- Top tabs
- ========================================================= */
-
-/* All tab labels white by default */
-[data-md-color-scheme="default"] .md-tabs__link,
-[data-md-color-scheme="slate"] .md-tabs__link {
- color: #fff !important;
- opacity: 0.9 !important;
- transition: color 0.15s ease, opacity 0.15s ease !important;
-}
-
-/* Hover state */
-[data-md-color-scheme="default"] .md-tabs__link:hover,
-[data-md-color-scheme="slate"] .md-tabs__link:hover {
- color: var(--proteus-highlight-color) !important;
- opacity: 0.8 !important;
-}
-
-/* Active tab text only, no underline */
-[data-md-color-scheme="default"] .md-tabs__item--active,
-[data-md-color-scheme="default"] .md-tabs__link--active,
-[data-md-color-scheme="default"] .md-tabs__item--active .md-tabs__link,
-[data-md-color-scheme="slate"] .md-tabs__item--active,
-[data-md-color-scheme="slate"] .md-tabs__link--active,
-[data-md-color-scheme="slate"] .md-tabs__item--active .md-tabs__link {
- color: var(--proteus-highlight-color) !important;
- box-shadow: none !important;
- border-bottom: none !important;
- text-decoration: none !important;
-}
-
-/* Remove any underline/pseudo-element indicator */
-[data-md-color-scheme="default"] .md-tabs__item--active::after,
-[data-md-color-scheme="default"] .md-tabs__link--active::after,
-[data-md-color-scheme="default"] .md-tabs__item--active .md-tabs__link::after,
-[data-md-color-scheme="slate"] .md-tabs__item--active::after,
-[data-md-color-scheme="slate"] .md-tabs__link--active::after,
-[data-md-color-scheme="slate"] .md-tabs__item--active .md-tabs__link::after {
- content: none !important;
- display: none !important;
- background: none !important;
-}
-
-/* =========================================================
- Sidebar navigation
- ========================================================= */
-
-/* Style only active leaf page links */
-[data-md-color-scheme="default"] .md-nav__item .md-nav__link--active:not(.md-nav__link--passed),
-[data-md-color-scheme="slate"] .md-nav__item .md-nav__link--active:not(.md-nav__link--passed) {
- background-color: var(--proteus-highlight-bg-soft) !important;
- border-radius: 1rem !important;
- color: var(--proteus-highlight-color) !important;
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-/* =========================================================
- Footer
- ========================================================= */
-
-/* Remove underline from footer copyright link */
-.md-footer-copyright a,
-.md-footer-meta a {
- text-decoration: none !important;
-}
-
-/* =========================================================
- Make header title look clickable and add hover effect
- ========================================================= */
-
-.md-header__title[data-md-component="header-title"] {
- cursor: pointer;
- transition: opacity 0.15s ease !important;
-}
-
-.md-header__title[data-md-component="header-title"]:hover {
- opacity: 0.7 !important;
-}
diff --git a/docs/stylesheets/subtitle.css b/docs/stylesheets/subtitle.css
deleted file mode 100644
index 82b7f0f1..00000000
--- a/docs/stylesheets/subtitle.css
+++ /dev/null
@@ -1,5 +0,0 @@
-.subtitle {
- font-size: 1.0rem;
- color: var(--md-default-fg-color--light);
- margin-top: -0.1rem;
-}
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index 8e6825cb..3ed4a7e4 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -6,9 +6,9 @@ repo_name: GitHub
copyright: '© 2023-2026
Forming Worlds Lab '
nav:
- - Home: index.md
-
- - Get started: getting_started.md
+ - Home:
+ - About: index.md
+ - Getting started: getting_started.md
- How-to guides:
- Installation: How-to/installation.md
@@ -69,30 +69,30 @@ theme:
- content.tabs.link
- # Default assets (used unless overridden per palette below)
- favicon: assets/PROTEUS_black_on_white_logo_only.png
- logo: assets/PROTEUS_white_on_black.png
+ # Fonts are self-hosted via stylesheets/fonts/fonts.css
+ font: false
+
+ # Default assets (the header stays dark in both schemes, so one glyph serves both)
+ favicon: assets/favicon.svg
+ logo: assets/glyph_phase_dark.png
+ # The toggle icon shows the current mode, matching the project website
palette:
- - media: "(prefers-color-scheme: light)"
- scheme: default
+ - media: "(prefers-color-scheme: dark)"
+ scheme: slate
primary: custom
accent: custom
- favicon: assets/PROTEUS_black_on_white_logo_only.png
- logo: assets/PROTEUS_white_on_black.png
toggle:
icon: lucide/moon
- name: Switch to dark mode
+ name: Switch to light mode
- - media: "(prefers-color-scheme: dark)"
- scheme: slate
+ - media: "(prefers-color-scheme: light)"
+ scheme: default
primary: custom
accent: custom
- favicon: assets/PROTEUS_white_on_black_logo_only.png
- logo: assets/PROTEUS_white_on_black.png
toggle:
icon: lucide/sun
- name: Switch to light mode
+ name: Switch to dark mode
markdown_extensions:
- admonition
@@ -118,7 +118,7 @@ extra:
link: https://proteus-framework.org/
name: PROTEUS website
- icon: material/email
- link: mailto:proteus_dev@formingworlds.space
+ link: mailto:dev@proteus-framework.org
name: Mail PROTEUS developers
- icon: fontawesome/brands/python
link: https://pypi.org/project/fwl-proteus/
@@ -132,11 +132,9 @@ extra_javascript:
- javascripts/header-links.js
extra_css:
- - stylesheets/proteus_theme.css
- - stylesheets/subtitle.css
- - stylesheets/footnotes.css
- - stylesheets/diagram.css
- stylesheets/extra.css
+ - stylesheets/layout.css
+ - stylesheets/footnotes.css
plugins:
- search