docs: refine static reading experience

This commit is contained in:
Onur Özkan committed 2026-08-09 14:57:35 +03:00
1 parent fbc5a87a07
commit 01cc74b7e7
3 files changed
+107 -77

No files matched your search

+17 -2
View File
@@ -1,13 +1,28 @@
# Summary # Summary
- [Kaptan documentation](index.md) - [Overview](index.md)
# Start here
- [Getting started](getting-started.md) - [Getting started](getting-started.md)
- [Development and verification](development.md)
# Design
- [Architecture](architecture.md) - [Architecture](architecture.md)
- [Safety boundary](safety-boundary.md) - [Safety boundary](safety-boundary.md)
- [MAVLink and telemetry](mavlink.md) - [MAVLink and telemetry](mavlink.md)
# Platforms
- [Boards](boards/index.md) - [Boards](boards/index.md)
- [Kakute F7 Mini V3](boards/kakute-f7-mini-v3.md) - [Kakute F7 Mini V3](boards/kakute-f7-mini-v3.md)
- [GEPRC GEP-F722-HD V2](boards/geprc-f722-v2.md) - [GEPRC GEP-F722-HD V2](boards/geprc-f722-v2.md)
# Simulation
- [Host SITL](sitl.md) - [Host SITL](sitl.md)
- [Development and verification](development.md)
# Reference
- [Reference](reference.md) - [Reference](reference.md)
+4 -4
View File
@@ -1,13 +1,13 @@
# Kaptan documentation # Overview
Kaptan is an embedded Rust flight-controller project. This manual is the Kaptan is an embedded Rust flight-controller project. This manual is the
single source of project documentation: board support, safety boundaries, single source of project documentation: board support, safety boundaries,
simulation, development workflow, and design references live here as simulation, development workflow, and design references live here as
Markdown. Markdown.
The checked-in firmware is telemetry-only. It does not expose physical motor > **Status:** the checked-in firmware is telemetry-only. It does not expose
authority, and no document in this site should be read as a physical-flight > physical motor authority, and this site does not make a physical-flight
release claim. > release claim.
## Index ## Index
+86 -71
View File
@@ -9,27 +9,27 @@ html.coal,
html.navy, html.navy,
html.ayu { html.ayu {
--kaptan-background: #050505; --kaptan-background: #050505;
--kaptan-surface: #0a0a0a; --kaptan-surface: #101214;
--kaptan-text: #cccccc; --kaptan-text: #e5e7eb;
--kaptan-muted: #888888; --kaptan-muted: #aab1b9;
--kaptan-accent: #00ff41; --kaptan-accent: #00ff41;
--kaptan-border: #333333; --kaptan-border: #3a3d42;
/* mdBook's generated content rules use these variables directly. */ /* mdBook's generated content rules use these variables directly. */
--bg: #050505; --bg: #050505;
--fg: #e6e6e6; --fg: #e6e6e6;
--sidebar-bg: #0a0a0a; --sidebar-bg: #101214;
--sidebar-fg: #e6e6e6; --sidebar-fg: #e6e6e6;
--sidebar-non-existant: #888888; --sidebar-non-existant: #888888;
--sidebar-active: #00ff41; --sidebar-active: #00ff41;
--sidebar-spacer: #333333; --sidebar-spacer: #3a3d42;
--links: #00ff41; --links: #00ff41;
--inline-code-color: #e6e6e6; --inline-code-color: #e6e6e6;
--quote-bg: #0a0a0a; --quote-bg: #101214;
--quote-border: #333333; --quote-border: #3a3d42;
--table-border-color: #333333; --table-border-color: #3a3d42;
--table-header-bg: #0a0a0a; --table-header-bg: #101214;
--table-alternate-bg: #080808; --table-alternate-bg: #0b0d0e;
--color-scheme: dark; --color-scheme: dark;
} }
@@ -37,10 +37,10 @@ html,
body { body {
background: var(--kaptan-background); background: var(--kaptan-background);
color: var(--fg); color: var(--fg);
font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
Consolas, "Liberation Mono", monospace; sans-serif;
font-size: 16px; font-size: 17px;
line-height: 1.7; line-height: 1.65;
} }
* { * {
@@ -54,32 +54,10 @@ body {
#mdbook-help-container, #mdbook-help-container,
#mdbook-sidebar-toggle-anchor, #mdbook-sidebar-toggle-anchor,
#mdbook-menu-bar-hover-placeholder, #mdbook-menu-bar-hover-placeholder,
#mdbook-menu-bar .left-buttons,
#mdbook-menu-bar .right-buttons,
#mdbook-sidebar-resize-handle { #mdbook-sidebar-resize-handle {
display: none !important; display: none !important;
} }
#mdbook-menu-bar {
background: var(--kaptan-surface);
border-bottom: 1px solid var(--kaptan-border);
height: auto;
margin: 0;
min-height: 0;
padding: 0.65rem 1.25rem;
position: static;
}
#mdbook-menu-bar .menu-title {
color: var(--kaptan-text);
font-family: inherit;
font-size: 1rem;
font-weight: 700;
letter-spacing: 0.08em;
line-height: 1.35;
text-transform: uppercase;
}
#mdbook-sidebar { #mdbook-sidebar {
background: var(--kaptan-surface); background: var(--kaptan-surface);
border-right: 1px solid var(--kaptan-border); border-right: 1px solid var(--kaptan-border);
@@ -102,21 +80,36 @@ body {
margin: 0; margin: 0;
} }
.sidebar-scrollbox .part-title {
color: var(--kaptan-muted);
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.08em;
margin: 0;
padding: 1rem 1rem 0.3rem;
text-transform: uppercase;
}
.sidebar-scrollbox .chapter-item a { .sidebar-scrollbox .chapter-item a {
color: var(--kaptan-text); color: var(--kaptan-text);
display: block; display: block;
font-size: 1rem; font-size: 0.95rem;
line-height: 1.5; line-height: 1.5;
padding: 0.4rem 1rem; padding: 0.4rem 1rem;
text-decoration: none; text-decoration: none;
} }
.sidebar-scrollbox .chapter-item a:hover, .sidebar-scrollbox .chapter-item a:hover {
.sidebar-scrollbox .chapter-item a.active {
background: transparent;
color: var(--kaptan-accent); color: var(--kaptan-accent);
} }
.sidebar-scrollbox .chapter-item a.active {
background: #122015;
border-left: 2px solid var(--kaptan-accent);
color: var(--kaptan-accent);
padding-left: calc(1rem - 2px);
}
.sidebar-scrollbox .section .chapter-item a { .sidebar-scrollbox .section .chapter-item a {
padding-left: 2rem; padding-left: 2rem;
} }
@@ -149,20 +142,20 @@ h4 {
} }
h1 { h1 {
font-size: 1.35rem; font-size: 1.8rem;
margin: 0 0 1.25rem; margin: 0 0 1.25rem;
} }
h2 { h2 {
border-bottom: 1px solid var(--kaptan-border); border-bottom: 1px solid var(--kaptan-border);
font-size: 1rem; font-size: 1.3rem;
margin: 2rem 0 0.75rem; margin: 2rem 0 0.75rem;
padding-bottom: 0.35rem; padding-bottom: 0.35rem;
} }
h3, h3,
h4 { h4 {
font-size: 1rem; font-size: 1.08rem;
margin: 1.5rem 0 0.5rem; margin: 1.5rem 0 0.5rem;
} }
@@ -198,7 +191,8 @@ li + li {
code, code,
pre, pre,
kbd { kbd {
font-family: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
"Liberation Mono", monospace;
} }
code { code {
@@ -211,44 +205,27 @@ pre {
background: var(--kaptan-surface); background: var(--kaptan-surface);
border: 1px solid var(--kaptan-border); border: 1px solid var(--kaptan-border);
overflow-x: auto; overflow-x: auto;
padding: 0.75rem; padding: 0;
} }
pre code { pre code {
padding: 0; padding: 0;
} }
/* mdBook ships a separate highlight.js palette; keep it high contrast too. */ /* Keep copied or highlighted commands monochrome and uniformly legible. */
pre > code.hljs, pre > code.hljs,
.hljs { .hljs {
background: #101010; background: transparent;
color: #f0f0f0; color: var(--kaptan-text);
} }
.hljs *,
.hljs-addition,
.hljs-deletion,
.hljs-comment, .hljs-comment,
.hljs-quote { .hljs-quote {
color: #b8b8b8; background: transparent;
} color: inherit;
.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-type,
.hljs-built_in,
.hljs-builtin-name {
color: var(--kaptan-accent);
}
.hljs-string,
.hljs-number,
.hljs-meta,
.hljs-params,
.hljs-title,
.hljs-section,
.hljs-function,
.hljs-variable,
.hljs-attribute {
color: #e6e6e6;
} }
table { table {
@@ -280,6 +257,10 @@ blockquote {
} }
@media (min-width: 900px) { @media (min-width: 900px) {
#mdbook-menu-bar {
display: none !important;
}
#mdbook-sidebar { #mdbook-sidebar {
bottom: 0; bottom: 0;
display: block !important; display: block !important;
@@ -298,6 +279,40 @@ blockquote {
} }
@media (max-width: 899px) { @media (max-width: 899px) {
#mdbook-menu-bar {
background: var(--kaptan-surface);
border-bottom: 1px solid var(--kaptan-border);
display: block;
height: auto;
min-height: 0;
padding: 0.45rem 0.75rem;
position: static;
}
#mdbook-menu-bar .left-buttons {
display: block;
}
#mdbook-menu-bar .menu-title,
#mdbook-menu-bar .right-buttons {
display: none;
}
#mdbook-sidebar {
bottom: 0;
display: block !important;
left: 0;
position: fixed;
top: 0;
transform: translateX(-100%) !important;
width: min(17.5rem, 85vw);
z-index: 10;
}
#mdbook-sidebar-toggle-anchor:checked ~ #mdbook-sidebar {
transform: translateX(0) !important;
}
#mdbook-page-wrapper, #mdbook-page-wrapper,
.page-wrapper { .page-wrapper {
margin-left: 0 !important; margin-left: 0 !important;