Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
161 changes: 137 additions & 24 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,146 @@
# OrbitDeck
# OrbitDeck Docs

OrbitDeck is a cross-platform dashboard for amateur radio satellites. It provides pass timing, tracking, frequency guidance, APRS operation, AMSAT status comparison, and radio-control surfaces backed by one FastAPI service.
<div class="od-home-intro">
<p class="od-home-kicker">Pass operations documentation</p>
<p class="od-home-lead">
OrbitDeck helps you track passes, tune radios, run APRS, and pick the right screen for the job.
</p>
<p class="od-home-subtle">
Start here to get OrbitDeck running, pick the right screen, and learn the basics before you dig deeper.
</p>
</div>

This documentation set covers:
<div class="od-home-actions">
<a class="od-home-button od-home-button--primary" href="guide/quickstart/">Get started with Quick Start</a>
<a class="od-home-button" href="guide/first-hour/">Follow the First Hour walkthrough</a>
<a class="od-home-button" href="guide/common-tasks/">Jump to Common Tasks</a>
Comment on lines +14 to +16

Copilot AI Mar 30, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page links to other docs using directory-style URLs (e.g. guide/quickstart/, api/http-api/, INSTALL_AND_RUN/). Elsewhere in the docs and in mkdocs.yml nav, links point to the source .md files. Using the trailing-slash form can break when viewing docs on GitHub or if use_directory_urls is ever changed; consider switching these href values to the corresponding .md paths for consistency and portability (MkDocs will still rewrite them to pretty URLs in the built site).

Copilot uses AI. Check for mistakes.
</div>

- installation and operation on macOS and Raspberry Pi
- implementation details relevant to contributors
## What This Docs Site Covers

## Start Here
<div class="od-home-grid od-home-grid--compact">
<section class="od-home-card">
<h3>Platforms</h3>
<p>Use these docs for macOS, Raspberry Pi, and lite mode on smaller hardware.</p>
</section>
<section class="od-home-card">
<h3>Docs site</h3>
<p>The published docs are at <a href="https://chipsncode.com/OrbitDeck/">chipsncode.com/OrbitDeck</a>.</p>
</section>
<section class="od-home-card">
<h3>API docs</h3>
<p>A running OrbitDeck instance shows the live API schema at <code>/docs</code>.</p>
</section>
<section class="od-home-card">
<h3>More help</h3>
<p>Install, troubleshooting, runtime data, and API links are below.</p>
</section>
</div>

- Use [Quick Start](guide/quickstart.md) to get a local instance running quickly.
- Use [First Hour](guide/first-hour.md) for a first-run workflow from startup to pass tracking.
- Use [Common Tasks](guide/common-tasks.md) for the everyday operator actions.
- Use [Core Concepts](guide/concepts.md) when you want the app explained in plain terms.
- Use [Glossary](guide/glossary.md) if a radio or satellite term is unfamiliar.
- Use [Platforms](guide/platforms.md) for the macOS and Raspberry Pi deployment model.
- Use [UI Surfaces](guide/ui-surfaces.md) to understand what `/`, `/lite`, `/lite/settings`, `/aprs`, and `/settings` are each for.
- Use [HTTP API](api/http-api.md) for the current public route map.
## Get Running

## Product Summary
<div class="od-home-grid">
<section class="od-home-card od-home-card--accent">
<h3><a href="guide/quickstart/">Quick Start</a></h3>
<p>The fastest way to get OrbitDeck running.</p>
<ul>
<li>Set up a local run</li>
<li>Open the main routes</li>
<li>Check that the app is working</li>
</ul>
</section>
<section class="od-home-card">
<h3><a href="guide/first-hour/">First Hour</a></h3>
<p>A guided first run from launch to pass tracking.</p>
<ul>
<li>Choose the right screen</li>
<li>Set the basics</li>
<li>Get ready for a pass</li>
</ul>
</section>
<section class="od-home-card">
<h3><a href="INSTALL_AND_RUN/">Install / Build / Run</a></h3>
<p>Use this for full install steps, packaged releases, and build details.</p>
<ul>
<li>macOS DMG notes</li>
<li>Raspberry Pi package flow</li>
<li>Source-run commands</li>
</ul>
</section>
</div>

- `/` opens the focused tracking screen on standard hardware.
- `/lite` opens the phone-friendly and low-power screen.
- `/lite/settings` opens the lite setup and configuration screen.
- `/aprs` opens the APRS console and test surface.
- `/settings` opens the combined settings console on standard hardware and lite settings on Pi Zero-class hardware.
- Pi Zero-class hardware is switched into lite-oriented routing automatically.
## Use OrbitDeck

## Project Links
<div class="od-home-grid">
<section class="od-home-card">
<h3><code>/</code> Main tracking view</h3>
<p>Use the main screen to watch active and upcoming passes and see tuning guidance.</p>
<p><a href="guide/ui-surfaces/">Read about the screens</a></p>
</section>
<section class="od-home-card">
<h3><code>/lite</code> Lite mode</h3>
<p>Use the smaller mobile-friendly screen on Pi Zero-class hardware, phones, or low-power remote setups.</p>
<p><a href="guide/lite-mode/">Read about lite mode</a></p>
</section>
<section class="od-home-card">
<h3><code>/radio</code> Radio validation</h3>
<p>Use the radio screen to test CI-V, manual tuning, or uplink and downlink pairs.</p>
<p><a href="guide/ui-surfaces/">Read about the screens</a></p>
</section>
<section class="od-home-card">
<h3><code>/aprs</code> APRS operations</h3>
<p>Use the APRS screen for setup, status checks, and send tools in terrestrial or satellite mode.</p>
<p><a href="guide/common-tasks/">See common tasks</a></p>
</section>
<section class="od-home-card">
<h3><code>/settings</code> Station setup</h3>
<p>Use settings for location, timezone, pass preferences, radio setup, APRS setup, and debug overrides.</p>
<p><a href="guide/ui-surfaces/">Read about the screens</a></p>
</section>
</div>

- Repository: <https://github.com/Marzogh/OrbitDeck>
- Main install guide: [Install / Build / Run](INSTALL_AND_RUN.md)
## Understand the System

<div class="od-home-grid od-home-grid--compact">
<section class="od-home-card">
<h3><a href="guide/concepts/">Core Concepts</a></h3>
<p>Simple explanations of passes, guidance, APRS, and the main screens.</p>
</section>
<section class="od-home-card">
<h3><a href="guide/platforms/">Platforms</a></h3>
<p>What works on macOS, Raspberry Pi, and Pi Zero-class hardware.</p>
</section>
<section class="od-home-card">
<h3><a href="guide/frequency-guidance/">Frequency Guidance</a></h3>
<p>How OrbitDeck chooses tune-now and tune-next recommendations.</p>
</section>
<section class="od-home-card">
<h3><a href="guide/glossary/">Glossary</a></h3>
<p>Quick definitions for radio and satellite terms.</p>
</section>
</div>

## Reference and Troubleshooting

<div class="od-home-grid od-home-grid--compact">
<section class="od-home-card">
<h3><a href="api/http-api/">HTTP API</a></h3>
<p>Read the current route map and request shapes used by the UI and API tools.</p>
</section>
<section class="od-home-card">
<h3><a href="api/settings/">Settings Reference</a></h3>
<p>See the settings model for location, pass filters, radio, APRS, and overrides.</p>
</section>
<section class="od-home-card">
<h3><a href="operations/troubleshooting/">Troubleshooting</a></h3>
<p>Use this when launch, APRS, radio control, or route behavior is not doing what you expect.</p>
</section>
<section class="od-home-card">
<h3><a href="operations/runtime-data/">Runtime Data</a></h3>
<p>Find state files, caches, snapshots, and writable locations.</p>
</section>
<section class="od-home-card">
<h3><a href="CONTRIBUTING/">Docs Contributing Guide</a></h3>
<p>Use this if you want to work on the docs.</p>
</section>
</div>
123 changes: 123 additions & 0 deletions docs/stylesheets/docs-home.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
.od-home-intro {
margin: 0 0 1.5rem;
}

.od-home-kicker {
margin: 0 0 0.45rem;
color: var(--md-primary-fg-color);
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}

.od-home-lead {
margin: 0;
max-width: 46rem;
font-size: 1.15rem;
line-height: 1.6;
font-weight: 500;
}

.od-home-subtle {
margin: 0.85rem 0 0;
max-width: 44rem;
color: var(--md-default-fg-color--light);
}

.od-home-actions {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
margin: 1.4rem 0 2.2rem;
}

.od-home-button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 2.8rem;
padding: 0.7rem 1rem;
border: 1px solid color-mix(in srgb, var(--md-default-fg-color) 12%, transparent);
border-radius: 0.9rem;
background: color-mix(in srgb, var(--md-code-bg-color) 60%, transparent);
color: var(--md-default-fg-color);
Comment on lines +41 to +44

Copilot AI Mar 30, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

color-mix() is used for several border/background colors here. On browsers that don’t support color-mix (not uncommon on older Chromium builds), those declarations are dropped entirely, which can leave the cards/buttons without visible borders/backgrounds. Consider adding a plain-color fallback first (or wrapping the color-mix rules in @supports) so the homepage styling degrades gracefully.

Copilot uses AI. Check for mistakes.
font-weight: 600;
text-decoration: none;
transition: border-color 120ms ease, transform 120ms ease, background 120ms ease;
}

.od-home-button:hover {
border-color: color-mix(in srgb, var(--md-primary-fg-color) 35%, transparent);
background: color-mix(in srgb, var(--md-primary-fg-color) 8%, var(--md-code-bg-color));
transform: translateY(-1px);
}

.od-home-button--primary {
border-color: color-mix(in srgb, var(--md-primary-fg-color) 45%, transparent);
background: color-mix(in srgb, var(--md-primary-fg-color) 12%, var(--md-code-bg-color));
}

.od-home-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
gap: 1rem;
margin: 1rem 0 2rem;
}

.od-home-grid--compact {
grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.od-home-card {
height: 100%;
padding: 1rem 1rem 1.05rem;
border: 1px solid color-mix(in srgb, var(--md-default-fg-color) 10%, transparent);
border-radius: 1rem;
background: color-mix(in srgb, var(--md-code-bg-color) 58%, transparent);
box-shadow: 0 1px 0 color-mix(in srgb, var(--md-default-fg-color) 4%, transparent);
}

.od-home-card--accent {
border-color: color-mix(in srgb, var(--md-primary-fg-color) 24%, transparent);
background: color-mix(in srgb, var(--md-primary-fg-color) 7%, var(--md-code-bg-color));
}

.od-home-card h3 {
margin-top: 0;
margin-bottom: 0.55rem;
font-size: 1rem;
}

.od-home-card p {
margin: 0 0 0.75rem;
}

.od-home-card p:last-child,
.od-home-card ul:last-child {
margin-bottom: 0;
}

.od-home-card ul {
margin: 0;
padding-left: 1.05rem;
}

.od-home-card li + li {
margin-top: 0.28rem;
}

@media (max-width: 44.9375em) {
.od-home-lead {
font-size: 1.02rem;
}

.od-home-actions {
flex-direction: column;
}

.od-home-button {
width: 100%;
justify-content: flex-start;
}
}
5 changes: 4 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
site_name: OrbitDeck
site_description: Cross-platform amateur satellite operations dashboard documentation
site_url: https://marzogh.github.io/OrbitDeck/
site_url: https://chipsncode.com/OrbitDeck/
repo_url: https://github.com/Marzogh/OrbitDeck
repo_name: Marzogh/OrbitDeck
edit_uri: edit/main/docs/
Expand Down Expand Up @@ -57,6 +57,9 @@ markdown_extensions:
- fenced_code
- attr_list

extra_css:
- stylesheets/docs-home.css

extra:
social:
- icon: fontawesome/brands/github
Expand Down
Loading