Skip to content

[DOCS]: Polish docs site for public launch#48

Merged
spencrr merged 2 commits into
microsoft:mainfrom
spencrr:spencrr/docs-update
May 19, 2026
Merged

[DOCS]: Polish docs site for public launch#48
spencrr merged 2 commits into
microsoft:mainfrom
spencrr:spencrr/docs-update

Conversation

@spencrr

@spencrr spencrr commented May 19, 2026

Copy link
Copy Markdown
Contributor

Description

Builds on #47 to upgrade the mkdocs-material site from "functional" to "launch-ready" ahead of going public at microsoft.github.io/RAMPART.

Site identity & metadata

  • NEW SVG: Site logo + favicon wired to docs/images/RAMPART.svg.
  • Centered hero logo on the home page - replaces inline <div style> with a CSS class (.hero-logo in custom.css) for theming consistency.
  • copyright footer added; Material "Made with…" attribution suppressed (extra.generator: false) - Microsoft OSS convention.
  • extra.social GitHub link in footer.
  • Per-page description frontmatter on all section landing pages and index.md for better SEO and richer search snippets.
  • 404 page (docs/404.md) with branded copy + search; GitHub Pages serves it automatically for missing paths.

Navigation & UX

  • Header tabs for top-level sections (navigation.tabs + tabs.sticky).
  • Breadcrumbs (navigation.path) on every non-root page.
  • Instant SPA-style nav + progress bar (navigation.instant, navigation.instant.progress).
  • Prev/next page footer on every page (navigation.footer).
  • Scroll-tracking URLs for deep-linkable headings (navigation.tracking).
  • Edit-this-page pencil that opens the GitHub source

Search

  • search.suggest (inline autocomplete), search.highlight (highlight matches on landed page), search.share (share-this-query button).

Content authoring features

  • Code annotations (content.code.annotate) - numbered callouts in the Quickstart Step 2 adapter/session example and the Authoring Tests session example, replacing post-block bullet lists. Big pedagogical win.
  • Line numbers + click-to-select (content.code.select + optin for linenums="1") on long reference implementations.
  • Collapsible details (pymdownx.details) - _FileInjection reference implementation tucked into a ??? note block to keep the surrounding tutorial scannable.
  • Platform tabs (pymdownx.tabbed + content.tabs.link) with Linux / macOS and Windows (PowerShell) for venv activation and ad-hoc env-var setting. Tab labels match exactly so selection syncs site-wide.
  • Task lists (pymdownx.tasklist) - release-readiness pre-flight in release-process.md now renders as checkboxes; the PR-template checklist on pull-requests.md picks up the styling automatically.
  • Acronym tooltips (abbr + pymdownx.snippets + content.tooltips) - site-wide definitions for RAMPART/security-specific acronyms (XPIA, PyRIT, CVE, OG, OIDC, OWASP, SemVer, PyPA, gRPC, SUT). Defined once in docs/_includes/abbreviations.md; auto-appended to every page.

Build hardening

  • Strict validation block - omitted_files, absolute_links, anchors configured at warn (fatal under --strict); unrecognized_links at info to stage warnings without blocking until the corpus is fully cleaned.
  • not_in_nav for 404.md; exclude_docs for _includes/ and _overrides/ so they don't appear in nav, search, or build output.

Theme overrides

  • New docs/_overrides/main.html with an announce banner ("RAMPART is in alpha - APIs may change before 1.0") + announce.dismiss feature. The banner re-appears for everyone when we change its content, so flipping to a "1.0 stable" message after launch is one-line.
  • theme.custom_dir: docs/_overrides enables the override.

Plugins added

  • privacy - inlines all external assets (Roboto + Roboto Mono fonts, Material icons, Twemoji SVGs) at build time. Deployed site makes zero third-party network calls.
  • git-revision-date-localized - adds "Last update: 2 days ago"

Follow-ups (intentionally out of scope)

  • Social cards plugin (mkdocs-material[imaging] + Cairo system deps) - adds rich OpenGraph preview images. Deferred to a separate PR to keep this one focused; nothing here blocks adding it later.
  • Custom hero landing page (overrides/home.html with CTA buttons + a feature grid) - bigger lift; better as its own "launch polish" PR.

Checklist

  • pre-commit run --all-files passes
  • Tests added or updated for changes - N/A, docs-only
  • Documentation updated
  • uv run mkdocs serve --strict compiles

@spencrr spencrr force-pushed the spencrr/docs-update branch from a8dbb1d to 5ce0628 Compare May 19, 2026 16:59
@spencrr spencrr marked this pull request as ready for review May 19, 2026 17:00
@spencrr spencrr requested a review from a team May 19, 2026 17:00
Comment thread docs/getting-started/installation.md Outdated
@spencrr spencrr force-pushed the spencrr/docs-update branch from 5ce0628 to 89f62d5 Compare May 19, 2026 18:56
@spencrr spencrr merged commit 404a5ba into microsoft:main May 19, 2026
13 checks passed
@spencrr spencrr deleted the spencrr/docs-update branch May 19, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants