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 @@
+
+
+
+
+