From df0165537f274f985deb1e6053a9a84dce4ad9f4 Mon Sep 17 00:00:00 2001 From: Leclowndu93150 <73310949+Leclowndu93150@users.noreply.github.com> Date: Sun, 15 Mar 2026 18:24:11 +0100 Subject: [PATCH] Match site styling to GitBook-inspired dark theme --- book.toml | 2 +- theme/gitbook.css | 359 ++++++++++++++++++++++++++++++++++++++++++++++ theme/head.hbs | 5 + 3 files changed, 365 insertions(+), 1 deletion(-) create mode 100644 theme/gitbook.css create mode 100644 theme/head.hbs diff --git a/book.toml b/book.toml index 9f8b361..5a8f102 100644 --- a/book.toml +++ b/book.toml @@ -12,7 +12,7 @@ git-repository-url = "https://github.com/Leclowndu93150/Porting-Primers" site-url = "/Porting-Primers/" edit-url-template = "https://github.com/Leclowndu93150/Porting-Primers/edit/main/{path}" no-section-label = true -additional-css = [] +additional-css = ["theme/gitbook.css"] [output.html.search] enable = false diff --git a/theme/gitbook.css b/theme/gitbook.css new file mode 100644 index 0000000..c9d4164 --- /dev/null +++ b/theme/gitbook.css @@ -0,0 +1,359 @@ +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap'); + +:root { + --gb-bg: #1d1d1d; + --gb-surface: #222324; + --gb-surface-2: #2b2c2d; + --gb-surface-3: #343536; + --gb-border: rgba(255, 255, 255, 0.08); + --gb-border-strong: rgba(255, 255, 255, 0.14); + --gb-text: #f4fbfd; + --gb-text-soft: #c0c8cc; + --gb-text-muted: #94a1a8; + --gb-accent: #00beef; + --gb-accent-2: #1cd6ff; + --gb-accent-soft: rgba(0, 190, 239, 0.14); + --gb-shadow: 0 10px 30px rgba(0, 0, 0, 0.22); + --content-max-width: 900px; + --page-padding: 28px; + --menu-bar-height: 64px; + --sidebar-width: 320px; + --sidebar-resize-indicator-width: 2px; + --sidebar-resize-indicator-color: rgba(255, 255, 255, 0.06); +} + +html, +body { + background: var(--gb-bg); +} + +html.navy, +html.coal, +html.ayu, +html.light, +html.rust { + --bg: var(--gb-bg); + --fg: var(--gb-text); + --sidebar-bg: #1f2021; + --sidebar-fg: var(--gb-text-soft); + --sidebar-non-existant: #5f6a70; + --sidebar-active: var(--gb-accent); + --sidebar-spacer: transparent; + --scrollbar: rgba(255, 255, 255, 0.12); + --icons: var(--gb-text-soft); + --icons-hover: var(--gb-text); + --links: var(--gb-accent-2); + --inline-code-color: #9fe8ff; + --theme-popup-bg: #262728; + --theme-popup-border: var(--gb-border-strong); + --theme-hover: rgba(255, 255, 255, 0.08); + --quote-bg: rgba(255, 255, 255, 0.035); + --quote-border: var(--gb-accent); + --table-border-color: var(--gb-border); + --table-header-bg: rgba(255, 255, 255, 0.03); + --table-alternate-bg: rgba(255, 255, 255, 0.015); + --searchbar-border-color: var(--gb-border-strong); + --searchbar-bg: var(--gb-surface); + --searchbar-fg: var(--gb-text); + --searchbar-shadow-color: transparent; + --searchresults-header-fg: var(--gb-text-soft); + --searchresults-border-color: var(--gb-border); + --searchresults-li-bg: transparent; + --search-mark-bg: rgba(0, 190, 239, 0.25); +} + +html, +body, +.menu-title, +.content, +.chapter li a, +.nav-chapters, +.mobile-nav-chapters, +.icon-button, +code { + font-family: "Inter", "Open Sans", ui-sans-serif, system-ui, sans-serif; +} + +body { + color: var(--gb-text); +} + +#mdbook-body-container { + background: + radial-gradient(circle at top right, rgba(0, 190, 239, 0.12), transparent 26%), + radial-gradient(circle at bottom left, rgba(0, 190, 239, 0.08), transparent 22%), + var(--gb-bg); +} + +#mdbook-menu-bar { + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); + background: rgba(29, 29, 29, 0.86); + border-bottom: 1px solid var(--gb-border); + box-shadow: none; +} + +.menu-bar > .left-buttons, +.menu-bar > .right-buttons { + gap: 0.45rem; +} + +.menu-title { + font-weight: 700; + letter-spacing: -0.02em; + color: var(--gb-text); +} + +.icon-button, +.nav-chapters, +.mobile-nav-chapters { + border-radius: 14px; + transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease; +} + +.icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters:hover { + background: rgba(255, 255, 255, 0.06); + color: var(--gb-text); +} + +#mdbook-theme-toggle, +#mdbook-theme-list { + display: none !important; +} + +#mdbook-sidebar { + background: linear-gradient(180deg, rgba(36, 37, 38, 0.98), rgba(29, 29, 29, 0.98)); + border-right: 1px solid var(--gb-border); +} + +.sidebar-scrollbox { + padding: 1rem 0.9rem 2rem; +} + +.chapter { + gap: 0.1rem; +} + +.chapter li.chapter-item { + margin: 0.08rem 0; +} + +.chapter li a, +.chapter li span { + border-radius: 12px; + padding: 0.55rem 0.8rem; + line-height: 1.25; +} + +.chapter li a { + color: var(--gb-text-soft); + border: 1px solid transparent; +} + +.chapter li a:hover { + color: var(--gb-text); + text-decoration: none; + background: rgba(255, 255, 255, 0.045); +} + +.chapter li a.active, +.chapter a.current-header { + color: var(--gb-text); + background: var(--gb-accent-soft); + border-color: rgba(0, 190, 239, 0.28); + box-shadow: inset 2px 0 0 var(--gb-accent); +} + +.chapter > .chapter-item > .chapter-link-wrapper > a { + font-weight: 600; +} + +#mdbook-page-wrapper { + background: transparent; +} + +.content { + padding-top: 2.25rem; +} + +.content main { + background: rgba(255, 255, 255, 0.02); + border: 1px solid var(--gb-border); + border-radius: 24px; + padding: 2.2rem 2.4rem 2.8rem; + box-shadow: var(--gb-shadow); +} + +.content h1, +.content h2, +.content h3, +.content h4 { + color: var(--gb-text); + letter-spacing: -0.025em; +} + +.content h1 { + font-size: 2.35rem; + line-height: 1.05; + font-weight: 800; + margin-top: 0.2rem; + margin-bottom: 1rem; +} + +.content h2 { + font-size: 1.5rem; + font-weight: 750; + margin-top: 2.6rem; + padding-top: 0.35rem; + border-top: 1px solid rgba(255, 255, 255, 0.06); +} + +.content h3 { + font-size: 1.12rem; + font-weight: 700; +} + +.content p, +.content li, +.content td, +.content th { + color: var(--gb-text-soft); + line-height: 1.68; +} + +.content strong { + color: var(--gb-text); +} + +.content a { + color: var(--gb-accent-2); + text-decoration: none; +} + +.content a:hover { + color: #7deaff; + text-decoration: none; +} + +.content .header:link, +.content .header:visited { + color: var(--gb-text); +} + +.content code { + background: rgba(255, 255, 255, 0.055); + border: 1px solid rgba(255, 255, 255, 0.06); + border-radius: 10px; + padding: 0.18rem 0.42rem; + font-size: 0.9em; +} + +.content pre { + background: #202122; + border: 1px solid var(--gb-border); + border-radius: 20px; + padding: 1rem 1.15rem; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02); +} + +.content pre code { + background: transparent; + border: 0; + padding: 0; + border-radius: 0; +} + +.content blockquote { + margin: 1.35rem 0; + padding: 0.8rem 1rem 0.8rem 1.15rem; + background: rgba(255, 255, 255, 0.03); + border-left: 3px solid var(--gb-accent); + border-radius: 0 16px 16px 0; +} + +.content table { + width: 100%; + border-collapse: separate; + border-spacing: 0; + overflow: hidden; + border: 1px solid var(--gb-border); + border-radius: 18px; +} + +.content thead { + background: rgba(255, 255, 255, 0.04); +} + +.content tbody tr:nth-child(even) { + background: rgba(255, 255, 255, 0.018); +} + +.content th, +.content td { + padding: 0.82rem 0.95rem; +} + +.content hr { + border-color: var(--gb-border); +} + +.nav-wrapper, +.nav-wide-wrapper { + margin-top: 1rem; +} + +.nav-chapters, +.mobile-nav-chapters { + background: rgba(255, 255, 255, 0.04); + border: 1px solid var(--gb-border); +} + +.nav-chapters.next, +.nav-chapters.previous { + border-radius: 16px; +} + +#print-button, +#git-edit-button { + opacity: 0.95; +} + +.left-buttons, +.right-buttons { + align-items: center; +} + +::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.14); + border-radius: 999px; +} + +::-webkit-scrollbar-track { + background: transparent; +} + +@media (max-width: 1080px) { + .content { + padding-top: 1.25rem; + } + + .content main { + border-radius: 0; + border-left: 0; + border-right: 0; + padding: 1.4rem 1.1rem 2rem; + background: transparent; + box-shadow: none; + } + + #mdbook-menu-bar { + background: rgba(29, 29, 29, 0.92); + } +} diff --git a/theme/head.hbs b/theme/head.hbs new file mode 100644 index 0000000..a854058 --- /dev/null +++ b/theme/head.hbs @@ -0,0 +1,5 @@ + + + + +