Commit graph

13 commits

Author SHA1 Message Date
Local Dev
73ad2bf027 hephaestus.x: fix "Hephaestus .X" brand-name gap
Same class of bug as the Sirius .X space on theseus.x: .topnav .brand
carries display:inline-flex + gap:6px, and the mark, brand span and
".X" tail were three separate flex items so the browser drew a 6px gap
between each. Wrapped the mark and the label in two spans so the flex
gap only applies once, between mark and label, and "Hephaestus.X"
renders as one word.
2026-09-20 16:36:05 +02:00
Local Dev
74c4c50c4e sites: drop the divider line under topnav; fix Sirius .X space
theseus.x, sirius.x and hephaestus.x had a 1px border-bottom under the
sticky/fixed topnav that read as a visible separator between the
navigation and the page. The topnav's own translucent-blur backdrop is
enough of a distinction already — the line is redundant and, on the
theseus.x sidebar layout, made the top of the sidebar look like it was
overhanging the header.

theseus.x tabs also had a "Sirius .X" gap because the topnav <a> is a
flex container and the icon + "Sirius" text + ".X" span were three
flex items with a 6px gap between each. Wrapping the label in one
<span> collapses the gap to a single space between icon and label.

Sidebar border-right and mobile bottom-bar border-top also dropped —
the panel tint carries the boundary; a hard line was too heavy.
2026-09-20 16:33:58 +02:00
Local Dev
59a820757a docs(hephaestus.x): rename §12 to CLI + GUI framing
Section covers both paths — Forgejo GUI and curl/git/docker CLI — so the
heading now reflects that. Anchor #sessions preserved so external links
still work. Follow-up to 980fbd4.
2026-09-20 02:05:44 +02:00
Local Dev
f34535721f docs(hephaestus.x): §12 for parallel sessions + dots-are-OK note in §4
Parallel session assumed (a) Forgejo usernames can't contain dots, and (b) a
wallet mnemonic has to be pasted into a browser to sign in. Both wrong — the
docs now show that.

- §4 gets an 'Allowed characters' subsection listing what Forgejo actually
  accepts (letters, digits, hyphens, underscores, dots). game.x works as-is
  as a username or an org name.
- New §12 'Working with other sessions' — the wallet-vs-PAT split, a full
  five-step recipe for delegating a namespace to a parallel session
  (create org / bootstrap user / add to Owners / mint PAT / clone+push),
  a scriptable programmatic sign-in template so mnemonics never touch a
  browser, and a scope-per-session-shape table.
- TOC + §13 (Help+source) renumbered.
2026-09-20 01:57:46 +02:00
Local Dev
cf2995c73c docs(hephaestus.x): cross-link gotchas + worked example for publishing an app image
Parallel session had to synthesize two things the page should have handed
them upfront. Fixing that:

- §11 (Gotchas) now links from each entry to its full-recipe section:
  HTTPS+PAT → §5+§6, em-dash mojibake → §8, admin-rename → §4. New leading
  entry explicitly separates 'PAT vs wallet passphrase' since it's the most
  common wallet-flow confusion.
- §7 (Container registry) gets a 'Worked example: publish an app's backend as
  an image' subsection — Node/alpine Dockerfile + build+push pair, so the
  next reader doesn't have to compose it from the Log-in and Push blocks.

Follow-up to cc544c8.
2026-09-20 01:18:50 +02:00
Local Dev
31eab81d02 site(hephaestus.x): add /docs/ landing + upgrade to multi-column footer
/docs/ covers sign-in flow, rename, repos, PATs, container registry, API,
storage layout, self-hosting, and known gotchas — 12 sections with a
sticky TOC on the left. Any session (human or LLM) hitting hephaestus.x
now has a one-shot map of the forge.

Landing footer replaced with a four-column layout (Product / Source+spec
/ Pantheon + brand) matching the docs page, with a mono bottom bar. Topnav
gets a Docs link between How-it-works and Source.
2026-09-20 00:34:45 +02:00
Local Dev
08d1879959 site(hephaestus.x): redesign landing to Sirius design language + source section
Answers a community question ("how would one run this if it's not on GitHub?")
by putting the source repo front and centre, plus a runnable docker-compose
recipe for self-hosting.

- Palette + typography (Fraunces / DM Sans / JetBrains Mono / Ubuntu) and
  layout (topnav, radial-stack background, .card, .steps, .verify, .note)
  aligned with site-sirius-x. Adds js/theme.js (copied from sirius-x) for
  the Fraunces↔Ubuntu font toggle.
- Sticky topnav: brand, section links, Explore repos, wallet dropdown at right.
- Hero: "The forge on Bitcoin Cash" — BCH-green accent, matched serif hierarchy.
- New "See the source. Verify the deploy." section — three cards for the repo,
  auth-proxy, and PROTOCOL.md; below that a docker-compose run-your-own recipe
  with git clone + cp .env.example + docker compose up.
- Pantheon and Verify-against-the-chain sections mirror Sirius.X's structure so
  the seven .x pillars feel like one product.
- Browse repos link fixed to be absolute (https://code.silentmode.st/explore/repos)
  so it works through navigate.st gateway too, not just BCNR-aware browsers.
2026-09-10 00:38:48 +02:00
Local Dev
f4a6c85c3e feat(hephaestus.x): landing 'Sign in' becomes a Bitcoin Cash wallet dropdown
- site/hephaestus.x/index.html: replace single 'Sign in with wallet' CTA with
  a <details> dropdown labelled 'Bitcoin Cash wallet'. Menu items:
    Sign in       -> /user/oauth2/hephaestus-wallet#import
    Sign up       -> /user/oauth2/hephaestus-wallet#create   (pill: easiest)
    WizardConnect -> /user/oauth2/hephaestus-wallet#connect  (pill: most private)
  Same emoji + copy scheme as the wallet accordion, so the landing previews
  the choices the user will see after clicking through.

- Hephaestus/auth-proxy/public/wallet.js: renderTabs() now reads location.hash
  and auto-opens the matching <details> option on load (create/import/connect).
  Fragments survive Forgejo's OAuth redirect chain, so a click on 'Sign up'
  from the landing lands the user directly on the Create accordion.
2026-09-02 22:13:55 +02:00
Local Dev
58712e77da site: add favicon link to every silentmode.st HTML page
Bulk-inserts <link rel="icon" type="image/svg+xml" href="/favicon.svg"> before
the </head> tag on every silentmode.st page that was missing it. All 36 site
HTML pages now advertise the chain-links favicon; browsers show it in tabs
and bookmarks across the whole umbrella site.

Pages touched (29): apps/, choose/*, deviant/* (7 pages under the parent
house), hephaestus/, hephaestus.x/* (9 chain-published mirror pages),
nav/ (redirect stub), register.html (redirect stub), sirius/,
sirius/register.html, store/ (redirect stub), tlds/.

Already had favicon from earlier passes (7): index.html, brand/,
tools/, prometheus/, helios/, hermes/, releases/.

Line-ending preservation: choose/index.html and sirius/register.html were
originally stored with CRLF endings; the plain Python read/write path
normalized them to LF and produced a noisy diff. Both files re-serialized as
CRLF before the favicon insert to keep the diff to +1 line each.

Deploy: rsync-equivalent tar-pipe to /opt/silent-mode/site/, plus per-file scp
for the two CRLF-corrected files. Verified live: 7 spot-checked URLs each
report exactly one <link rel="icon"> in served HTML.
2026-08-31 21:43:25 +02:00
Local Dev
2ea68d14e7 fix(hephaestus.x): refresh stale references in the "where it lives" spec
Fresh-browser test surfaced two staleness bugs on the standalone landing:

- Source link pointed at silentmode/silentmode — that repo was deleted last
  turn when we split into per-project repos. Point at silentmode/hephaestus
  now (which actually holds this landing page's home + the docker-compose /
  auth-proxy / Caddyfile that serves it).
- "Let's Encrypt TLS" was true for code.silentmode.st but not for hephaestus.x
  itself, which now uses a Silent Mode CA cert from Argonautica. Reword to
  reflect the dual-hostname primary/mirror architecture and the two cert
  stories.

Also mention the DR-backup relationship — the Sia bucket now mirrors the VPS
static content nightly, not the other way around.
2026-08-31 15:59:03 +02:00
Local Dev
941851ea0e feat(hephaestus.x): per-repo detail pages under /silentmode/*
Adds live pages for each repo without leaving hephaestus.x:

  hephaestus.x/silentmode/            → index of all silentmode/* repos
  hephaestus.x/silentmode/theseus/    → README + recent commits + clone URLs
  hephaestus.x/silentmode/sirius/     → same
  hephaestus.x/silentmode/ariadne/    → same, gated ("private, sign in to browse")
  hephaestus.x/silentmode/hephaestus/ → same, gated

Single _template.html hardcoded per repo via sed; each detail page pulls
metadata + README + last 8 commits from code.silentmode.st via the
CORS-enabled Forgejo API on load, renders README with a minimal
markdown-to-HTML pass, and gracefully falls back to a "sign in to browse"
note when the API returns 401/404 (private repo).

The URL stays on hephaestus.x while browsing — user only leaves when they
click "Browse full source →" or a specific commit link.
2026-08-31 15:29:49 +02:00
Local Dev
aea58e4cfd feat(hephaestus.x): /forge lists real repos instead of auto-redirecting
Previous version was a 100ms bounce to code.silentmode.st — user never saw
hephaestus.x/forge/ content, just a flash. New version is a real catalog page:

- Fetches public repo list live from Forgejo's API on page load
- Renders each repo as a card with name, owner, description, updated date,
  clickable to code.silentmode.st/<owner>/<repo> when the user chooses
- Falls back to a "browse directly at code.silentmode.st" hint on API error
- Includes the git clone URL patterns (HTTPS-with-PAT and SSH-2222) inline

Enabled CORS on Forgejo so hephaestus.x (served from a different origin)
can hit /api/v1/repos/search — Access-Control-Allow-Origin: *, methods
GET+HEAD only, no credentials. That's the minimum for public listings and
matches how the API is meant to be used.

/forgejo/ is a byte-identical alias.
2026-08-31 12:44:03 +02:00
Local Dev
96a9ac835d feat(site): standalone hephaestus.x landing + /forge /forgejo shortcuts
hephaestus.x is its own thing — not a subpage of silentmode.st. Previously
the BCNR record redirected straight to code.silentmode.st (dropping visitors
at the login screen cold) or to /hephaestus/ on silentmode.st (which
inherited the full silentmode nav bar of unrelated products).

- New standalone landing at site/hephaestus.x/index.html — its own compact
  page, no silentmode.st chrome, just a mark + tagline + three key facts +
  "where it lives" spec table, one small "A tool from Silent Mode" footer.
- /forge/index.html and /forgejo/index.html — instant redirects to
  code.silentmode.st for users who type hephaestus.x/forge in the bar.
- BCNR record updated to {"s3":"bns/hephaestus.x/"} — navigate.st gateway
  serves the content directly from the Sia bucket (same pattern deviant.x
  uses). TXID 69686a03c66cc1f661c84c50107a8660055c629f0393c9bb6802773d3c0a7108.

Docs page at silentmode.st/hephaestus/ stays put — that one lives in the
silentmode.st family with its full nav, targeting Silent Mode visitors
exploring the whole stack. hephaestus.x/ is for direct hephaestus visitors.
2026-08-31 12:29:17 +02:00