Files
Jungfraujoch/docs/_static/jfjoch.css
T
leonarski_f 9c543f60b6 docs: home page with the three programs, download pages for rugnux and the viewer, technical reference grouped below
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)
2026-10-25 07:20:28 +01:00

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;
}