The home page introduces Rugnux, the viewer and the acquisition system in three cards, with the licence stated once, and the sidebar is regrouped by program: what a user of Rugnux or the viewer needs comes first, and the algorithms, formats, interfaces, hardware and FPGA pages sit under one collapsed "Technical reference" hub (TECHNICAL.md). No page moves, so every existing URL stays. Download pages (RUGNUX_DOWNLOAD.md, VIEWER_DOWNLOAD.md) are rendered by a small Sphinx extension (docs/_ext/jfjoch_downloads.py) from the `release` in conf.py, which update_version.sh rewrites, so no version string on them is maintained by hand; a script then asks the Gitea API for the newest published release and repoints the buttons at its assets, naming any archive that release does not carry. Without network access the build-time links stand. JUNGFRAUJOCH.md is the landing page of the acquisition side with its install pointers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015CeEGgpKdfkCTJb3YNMJcu (cherry picked from commit 050442592504ce879dc51d78b6d3d1c58268a800)
214 lines
4.7 KiB
CSS
214 lines
4.7 KiB
CSS
/* Jungfraujoch documentation: the home page's program cards and the download pages' buttons.
|
|
Colours follow the theme's indigo primary; sphinx_material has no dark mode, so there is one
|
|
palette. */
|
|
|
|
:root {
|
|
--jfj-primary: #3f51b5;
|
|
--jfj-primary-dark: #303f9f;
|
|
--jfj-line: rgba(0, 0, 0, 0.12);
|
|
--jfj-muted: rgba(0, 0, 0, 0.58);
|
|
--jfj-surface: #fafafa;
|
|
}
|
|
|
|
/* ---- home page ------------------------------------------------------------------------------ */
|
|
|
|
.md-typeset .jfj-lead {
|
|
font-size: 1.1em;
|
|
line-height: 1.55;
|
|
max-width: 40em;
|
|
}
|
|
|
|
.jfj-cards {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(16em, 1fr));
|
|
gap: 1em;
|
|
margin: 1.4em 0 1.6em;
|
|
}
|
|
|
|
.md-typeset .jfj-card {
|
|
display: flex;
|
|
flex-direction: column;
|
|
border: 1px solid var(--jfj-line);
|
|
border-top: 3px solid var(--jfj-primary);
|
|
border-radius: 6px;
|
|
padding: 0.9em 1.1em 1em;
|
|
background: var(--jfj-surface);
|
|
}
|
|
|
|
.md-typeset .jfj-card__kicker {
|
|
font-size: 0.68em;
|
|
font-weight: 700;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
color: var(--jfj-primary);
|
|
margin: 0 0 0.3em;
|
|
}
|
|
|
|
.md-typeset .jfj-card__title {
|
|
font-size: 1.25em;
|
|
font-weight: 500;
|
|
line-height: 1.25;
|
|
margin: 0 0 0.5em;
|
|
color: inherit;
|
|
}
|
|
|
|
.md-typeset .jfj-card__text {
|
|
margin: 0 0 0.7em;
|
|
line-height: 1.5;
|
|
flex: 1 1 auto;
|
|
}
|
|
|
|
.md-typeset .jfj-card__run {
|
|
margin: 0 0 0.7em;
|
|
padding: 0.45em 0.7em;
|
|
border-radius: 4px;
|
|
background: rgba(63, 81, 181, 0.08);
|
|
font-family: "Roboto Mono", "SFMono-Regular", Consolas, monospace;
|
|
font-size: 0.85em;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
|
|
/* the sitemap under the cards: the index toctrees, as compact columns */
|
|
.jfj-sitemap {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(13em, 1fr));
|
|
gap: 0 1.5em;
|
|
}
|
|
|
|
.md-typeset .jfj-sitemap .toctree-wrapper > p.caption {
|
|
font-size: 0.85em;
|
|
font-weight: 700;
|
|
margin: 0.9em 0 0.2em;
|
|
}
|
|
|
|
.md-typeset .jfj-sitemap .toctree-wrapper ul {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: 0.82em;
|
|
line-height: 1.55;
|
|
}
|
|
|
|
.md-typeset .jfj-sitemap .toctree-wrapper ul ul {
|
|
padding-left: 1em;
|
|
font-size: 1em;
|
|
}
|
|
|
|
.md-typeset .jfj-card__links {
|
|
margin: 0;
|
|
padding: 0.6em 0 0;
|
|
border-top: 1px solid var(--jfj-line);
|
|
font-size: 0.92em;
|
|
}
|
|
|
|
.md-typeset .jfj-card__links a {
|
|
margin-right: 1em;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.md-typeset .jfj-card__links a:first-child {
|
|
font-weight: 700;
|
|
}
|
|
|
|
.md-typeset .jfj-platforms {
|
|
font-size: 0.78em;
|
|
color: var(--jfj-muted);
|
|
margin: 0 0 0.6em;
|
|
}
|
|
|
|
/* ---- download pages -------------------------------------------------------------------------- */
|
|
|
|
.md-typeset .jfj-dl__release {
|
|
margin: 0 0 0.8em;
|
|
}
|
|
|
|
.jfj-dl__grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(15em, 1fr));
|
|
gap: 1em;
|
|
margin: 0 0 0.8em;
|
|
}
|
|
|
|
.md-typeset .jfj-dl__card {
|
|
border: 1px solid var(--jfj-line);
|
|
border-radius: 6px;
|
|
padding: 0.9em 1.1em 0.5em;
|
|
background: var(--jfj-surface);
|
|
}
|
|
|
|
.md-typeset .jfj-dl__platform {
|
|
font-size: 1.1em;
|
|
font-weight: 500;
|
|
margin: 0 0 0.6em;
|
|
}
|
|
|
|
.md-typeset a.jfj-dl__btn {
|
|
display: block;
|
|
margin: 0 0 0.5em;
|
|
padding: 0.5em 0.8em;
|
|
border: 1px solid var(--jfj-primary);
|
|
border-radius: 4px;
|
|
background: var(--jfj-primary);
|
|
color: #fff;
|
|
font-weight: 500;
|
|
line-height: 1.3;
|
|
text-decoration: none;
|
|
transition: background 0.15s, box-shadow 0.15s;
|
|
}
|
|
|
|
.md-typeset a.jfj-dl__btn:hover,
|
|
.md-typeset a.jfj-dl__btn:focus {
|
|
background: var(--jfj-primary-dark);
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
|
|
color: #fff;
|
|
}
|
|
|
|
.md-typeset a.jfj-dl__btn--secondary {
|
|
background: transparent;
|
|
color: var(--jfj-primary);
|
|
}
|
|
|
|
.md-typeset a.jfj-dl__btn--secondary:hover,
|
|
.md-typeset a.jfj-dl__btn--secondary:focus {
|
|
background: rgba(63, 81, 181, 0.08);
|
|
color: var(--jfj-primary-dark);
|
|
}
|
|
|
|
.md-typeset a.jfj-dl__btn--missing,
|
|
.md-typeset a.jfj-dl__btn--missing:hover {
|
|
background: transparent;
|
|
border-style: dashed;
|
|
border-color: var(--jfj-line);
|
|
color: var(--jfj-muted);
|
|
box-shadow: none;
|
|
cursor: default;
|
|
}
|
|
|
|
.md-typeset .jfj-dl__file {
|
|
display: block;
|
|
font-family: "Roboto Mono", "SFMono-Regular", Consolas, monospace;
|
|
font-size: 0.72em;
|
|
font-weight: 400;
|
|
opacity: 0.85;
|
|
margin-top: 0.15em;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.md-typeset .jfj-dl__req {
|
|
font-size: 0.8em;
|
|
line-height: 1.45;
|
|
color: var(--jfj-muted);
|
|
margin: 0.4em 0 0.4em;
|
|
}
|
|
|
|
.md-typeset .jfj-dl__note {
|
|
font-size: 0.8em;
|
|
color: var(--jfj-muted);
|
|
margin: 0 0 1em;
|
|
}
|
|
|
|
.md-typeset .jfj-dl__note:empty {
|
|
display: none;
|
|
}
|