site-theseus-x: text-only sidebar on wide, icons on narrow, relative links

Sidebar redesign:
  - Wide (>1180px): labels only, no icons, no border-left outline, no
    background tint on active — just the label going acid green when
    the section is in view. Sidebar moved down (+34px top padding) so
    the first link doesn't crowd the topnav.
  - Medium (720-1180px): icon rail only.
  - Mobile (<720px): bottom bar with icons only.
  - Background dropped from rgba(.82) to rgba(.42) — the backdrop-blur
    already carries the separation, less panel-heavy against the hero.
  - "On this page" section header dropped: the sidebar is close enough
    to the topnav that the label reads as chrome rather than nav.
  - Active state is now colour only (acid on the label); the left
    border stripe and highlight background are gone.

Nav path fix (broken link on the silentmode.st mirror):
  Root-absolute nav paths like /plug-ins/ resolved to
  silentmode.st/plug-ins/ (404) instead of silentmode.st/theseus/plug-ins/
  when a reader browsed the fallback mirror. Rewrote every topnav link,
  cross-page prose link and favicon href to relative form
  (plug-ins/, ../plug-ins/, assets/favicon.svg, …). Works on both the
  BCNR name and the silentmode.st/theseus/ mount.
This commit is contained in:
Local Dev 2026-09-20 17:07:17 +02:00
parent 3da39846c1
commit 47eaf5dbac
3 changed files with 56 additions and 59 deletions

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>theseus.x — Extensions</title>
<meta name="description" content="Signed over-the-air update endpoint for Theseus's bundled add-ons. Each entry is Ed25519-signed by the Silent Mode operator; verified on every install without waiting for a Theseus release.">
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml">
<link rel="mask-icon" href="/assets/favicon.svg" color="#d6ff3d">
<link rel="icon" href="../assets/favicon.svg" type="image/svg+xml">
<link rel="mask-icon" href="../assets/favicon.svg" color="#d6ff3d">
<meta property="og:type" content="website">
<meta property="og:site_name" content="theseus.x">
<meta property="og:title" content="theseus.x — Extensions">
@ -42,36 +42,36 @@
:root{--sn-w:220px;--tn-h:52px}
body{padding-left:var(--sn-w);padding-top:var(--tn-h)}
.sidenav{position:fixed;top:var(--tn-h);left:0;bottom:0;width:var(--sn-w);z-index:15;
background:rgba(11,14,20,.82);backdrop-filter:blur(10px);
padding:22px 14px 22px 18px;
background:rgba(11,14,20,.42);backdrop-filter:blur(10px);
padding:56px 14px 22px 18px;
overflow-y:auto;transition:width .15s ease}
.sidenav .lbl{color:var(--dim);font:600 10.5px/1 system-ui;letter-spacing:.24em;text-transform:uppercase;
margin:0 0 14px 4px}
.sidenav a{display:flex;align-items:center;gap:14px;color:var(--mut);text-decoration:none;
padding:11px 12px;border-radius:10px;border-left:3px solid transparent;margin-left:-3px;
font-size:14.5px;font-weight:500;transition:color .1s,background .1s,border-color .1s}
padding:11px 12px;border-radius:10px;
font-size:14.5px;font-weight:500;transition:color .1s}
.sidenav a .ic{flex:none;width:22px;font-size:18px;line-height:1;text-align:center;
display:inline-flex;justify-content:center;align-items:center}
display:none;justify-content:center;align-items:center}
.sidenav a .lb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidenav a:hover{color:var(--ink);background:var(--panel)}
.sidenav a.active{color:var(--acid);border-left-color:var(--acid);background:rgba(214,255,61,.07)}
.sidenav a:hover{color:var(--ink)}
.sidenav a.active{color:var(--acid)}
@media (max-width:1180px){
:root{--sn-w:64px}
.sidenav{padding:22px 6px}
.sidenav .lbl{display:none}
.sidenav a{justify-content:center;padding:12px 4px;gap:0}
.sidenav a .ic{display:inline-flex}
.sidenav a .lb{display:none}
}
@media (max-width:720px){
:root{--sn-w:0px}
body{padding-left:0;padding-bottom:64px}
.sidenav{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;
padding:4px 4px;flex-direction:row;
padding:4px 4px;flex-direction:row;background:rgba(11,14,20,.52);
display:flex;justify-content:space-around;overflow-x:auto}
.sidenav .lbl{display:none}
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;border-left:none;
border-top:3px solid transparent;margin-left:0;margin-top:-3px;gap:0}
.sidenav a.active{border-left-color:transparent;border-top-color:var(--acid)}
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;gap:0}
.sidenav a .ic{display:inline-flex}
.sidenav a .lb{display:none}
}
@ -113,7 +113,7 @@
<body>
<nav class="topnav">
<a class="brand" href="/">
<a class="brand" href="../">
<svg viewBox="0 0 64 64" aria-hidden="true">
<rect width="64" height="64" rx="12" fill="#0b0e14"/>
<path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/>
@ -123,15 +123,14 @@
</svg>
<span>Theseus<span class="g">.X</span></span>
</a>
<a href="/">Home</a>
<a href="/plug-ins/">Plug-ins</a>
<a href="../">Home</a>
<a href="../plug-ins/">Plug-ins</a>
<a class="here" href="./">Extensions</a>
<a href="https://sirius.x/" title="Register a BCNR name"><svg class="tabicon" viewBox="0 0 64 64" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span>Sirius<span class="g">.X</span></span></a>
<a class="get" href="/#download">Get Theseus</a>
<a class="get" href="../#download">Get Theseus</a>
</nav>
<aside class="sidenav" aria-label="On this page">
<div class="lbl">On this page</div>
<a href="#bundled" title="Bundled" ><span class="ic" aria-hidden="true">📦</span><span class="lb">Bundled</span></a>
<a href="#community" title="Community" ><span class="ic" aria-hidden="true">👥</span><span class="lb">Community</span></a>
<a href="#build" title="Build &amp; publish" ><span class="ic" aria-hidden="true">🔨</span><span class="lb">Build &amp; publish</span></a>
@ -145,7 +144,7 @@
<p class="tag">Add-ons for Theseus Navigator — the ones that ship in the box and the ones anyone can
publish. Every package is signed (by the Silent Mode operator, or by the publisher's own BCDN name)
and verified on your device before install. No cert authority, no app-store gatekeeper.
First-party plug-ins (Aegis, Ariadne's Thread) have their <a href="/plug-ins/">own page</a>.</p>
First-party plug-ins (Aegis, Ariadne's Thread) have their <a href="../plug-ins/">own page</a>.</p>
</header>
<div class="wrap">

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>theseus.x — the browser that speaks Bitcoin Cash names</title>
<meta name="description" content="Theseus Navigator: a Chromium-based browser with native Bitcoin Cash name resolution built in. No OS-level daemon, no DNS shim, no root-store install. Windows + Android.">
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml">
<link rel="mask-icon" href="/assets/favicon.svg" color="#d6ff3d">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="mask-icon" href="assets/favicon.svg" color="#d6ff3d">
<meta property="og:type" content="website">
<meta property="og:site_name" content="theseus.x">
<meta property="og:title" content="theseus.x — the browser that speaks Bitcoin Cash names">
@ -49,25 +49,26 @@
:root{--sn-w:220px;--tn-h:52px}
body{padding-left:var(--sn-w);padding-top:var(--tn-h)}
.sidenav{position:fixed;top:var(--tn-h);left:0;bottom:0;width:var(--sn-w);z-index:15;
background:rgba(11,14,20,.82);backdrop-filter:blur(10px);
padding:22px 14px 22px 18px;
background:rgba(11,14,20,.42);backdrop-filter:blur(10px);
padding:56px 14px 22px 18px;
overflow-y:auto;transition:width .15s ease}
.sidenav .lbl{color:var(--dim);font:600 10.5px/1 system-ui;letter-spacing:.24em;text-transform:uppercase;
margin:0 0 14px 4px}
.sidenav a{display:flex;align-items:center;gap:14px;color:var(--mut);text-decoration:none;
padding:11px 12px;border-radius:10px;border-left:3px solid transparent;margin-left:-3px;
font-size:14.5px;font-weight:500;transition:color .1s,background .1s,border-color .1s}
padding:11px 12px;border-radius:10px;
font-size:14.5px;font-weight:500;transition:color .1s}
.sidenav a .ic{flex:none;width:22px;font-size:18px;line-height:1;text-align:center;
display:inline-flex;justify-content:center;align-items:center}
display:none;justify-content:center;align-items:center}
.sidenav a .lb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidenav a:hover{color:var(--ink);background:var(--panel)}
.sidenav a.active{color:var(--acid);border-left-color:var(--acid);background:rgba(214,255,61,.07)}
/* Medium: shrink to an icon rail */
.sidenav a:hover{color:var(--ink)}
.sidenav a.active{color:var(--acid)}
/* Medium: shrink to an icon rail — icons only */
@media (max-width:1180px){
:root{--sn-w:64px}
.sidenav{padding:22px 6px}
.sidenav .lbl{display:none}
.sidenav a{justify-content:center;padding:12px 4px;gap:0}
.sidenav a .ic{display:inline-flex}
.sidenav a .lb{display:none}
}
/* Mobile: bottom icon bar */
@ -75,12 +76,11 @@
:root{--sn-w:0px}
body{padding-left:0;padding-bottom:64px}
.sidenav{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;
padding:4px 4px;flex-direction:row;
padding:4px 4px;flex-direction:row;background:rgba(11,14,20,.52);
display:flex;justify-content:space-around;overflow-x:auto}
.sidenav .lbl{display:none}
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;border-left:none;
border-top:3px solid transparent;margin-left:0;margin-top:-3px;gap:0}
.sidenav a.active{border-left-color:transparent;border-top-color:var(--acid)}
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;gap:0}
.sidenav a .ic{display:inline-flex}
.sidenav a .lb{display:none}
}
@ -134,7 +134,7 @@
<body>
<nav class="topnav">
<a class="brand" href="/">
<a class="brand" href="./">
<svg viewBox="0 0 64 64" aria-hidden="true">
<rect width="64" height="64" rx="12" fill="#0b0e14"/>
<path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/>
@ -144,15 +144,14 @@
</svg>
<span>Theseus<span class="g">.X</span></span>
</a>
<a class="here" href="/">Home</a>
<a href="/plug-ins/">Plug-ins</a>
<a href="/extensions/">Extensions</a>
<a class="here" href="./">Home</a>
<a href="plug-ins/">Plug-ins</a>
<a href="extensions/">Extensions</a>
<a href="https://sirius.x/" title="Register a BCNR name"><svg class="tabicon" viewBox="0 0 64 64" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span>Sirius<span class="g">.X</span></span></a>
<a class="get" href="#download">Get Theseus</a>
</nav>
<aside class="sidenav" aria-label="On this page">
<div class="lbl">On this page</div>
<a href="#what" title="What it is"><span class="ic" aria-hidden="true">🌐</span><span class="lb">What it is</span></a>
<a href="#features" title="Features" ><span class="ic" aria-hidden="true">⚡</span><span class="lb">Features</span></a>
<a href="#download" title="Download" ><span class="ic" aria-hidden="true">⬇</span><span class="lb">Download</span></a>

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>theseus.x — Plug-ins</title>
<meta name="description" content="Silent Mode's first-party plug-ins for Theseus Navigator: the Aegis wallet and the Ariadne's Thread system-wide resolver. Current signed versions, hashes, and how they update.">
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml">
<link rel="mask-icon" href="/assets/favicon.svg" color="#d6ff3d">
<link rel="icon" href="../assets/favicon.svg" type="image/svg+xml">
<link rel="mask-icon" href="../assets/favicon.svg" color="#d6ff3d">
<meta property="og:type" content="website">
<meta property="og:site_name" content="theseus.x">
<meta property="og:title" content="theseus.x — Plug-ins">
@ -41,36 +41,36 @@
:root{--sn-w:220px;--tn-h:52px}
body{padding-left:var(--sn-w);padding-top:var(--tn-h)}
.sidenav{position:fixed;top:var(--tn-h);left:0;bottom:0;width:var(--sn-w);z-index:15;
background:rgba(11,14,20,.82);backdrop-filter:blur(10px);
padding:22px 14px 22px 18px;
background:rgba(11,14,20,.42);backdrop-filter:blur(10px);
padding:56px 14px 22px 18px;
overflow-y:auto;transition:width .15s ease}
.sidenav .lbl{color:var(--dim);font:600 10.5px/1 system-ui;letter-spacing:.24em;text-transform:uppercase;
margin:0 0 14px 4px}
.sidenav a{display:flex;align-items:center;gap:14px;color:var(--mut);text-decoration:none;
padding:11px 12px;border-radius:10px;border-left:3px solid transparent;margin-left:-3px;
font-size:14.5px;font-weight:500;transition:color .1s,background .1s,border-color .1s}
padding:11px 12px;border-radius:10px;
font-size:14.5px;font-weight:500;transition:color .1s}
.sidenav a .ic{flex:none;width:22px;font-size:18px;line-height:1;text-align:center;
display:inline-flex;justify-content:center;align-items:center}
display:none;justify-content:center;align-items:center}
.sidenav a .lb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidenav a:hover{color:var(--ink);background:var(--panel)}
.sidenav a.active{color:var(--acid);border-left-color:var(--acid);background:rgba(214,255,61,.07)}
.sidenav a:hover{color:var(--ink)}
.sidenav a.active{color:var(--acid)}
@media (max-width:1180px){
:root{--sn-w:64px}
.sidenav{padding:22px 6px}
.sidenav .lbl{display:none}
.sidenav a{justify-content:center;padding:12px 4px;gap:0}
.sidenav a .ic{display:inline-flex}
.sidenav a .lb{display:none}
}
@media (max-width:720px){
:root{--sn-w:0px}
body{padding-left:0;padding-bottom:64px}
.sidenav{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;
padding:4px 4px;flex-direction:row;
padding:4px 4px;flex-direction:row;background:rgba(11,14,20,.52);
display:flex;justify-content:space-around;overflow-x:auto}
.sidenav .lbl{display:none}
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;border-left:none;
border-top:3px solid transparent;margin-left:0;margin-top:-3px;gap:0}
.sidenav a.active{border-left-color:transparent;border-top-color:var(--acid)}
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;gap:0}
.sidenav a .ic{display:inline-flex}
.sidenav a .lb{display:none}
}
@ -106,7 +106,7 @@
<body>
<nav class="topnav">
<a class="brand" href="/">
<a class="brand" href="../">
<svg viewBox="0 0 64 64" aria-hidden="true">
<rect width="64" height="64" rx="12" fill="#0b0e14"/>
<path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/>
@ -116,15 +116,14 @@
</svg>
<span>Theseus<span class="g">.X</span></span>
</a>
<a href="/">Home</a>
<a href="../">Home</a>
<a class="here" href="./">Plug-ins</a>
<a href="/extensions/">Extensions</a>
<a href="../extensions/">Extensions</a>
<a href="https://sirius.x/" title="Register a BCNR name"><svg class="tabicon" viewBox="0 0 64 64" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span>Sirius<span class="g">.X</span></span></a>
<a class="get" href="/#download">Get Theseus</a>
<a class="get" href="../#download">Get Theseus</a>
</nav>
<aside class="sidenav" aria-label="On this page">
<div class="lbl">On this page</div>
<a href="#aegis-section" title="Aegis wallet" ><span class="ic" aria-hidden="true">🛡</span><span class="lb">Aegis wallet</span></a>
<a href="#ariadne-section" title="Ariadne's Thread" ><span class="ic" aria-hidden="true">🧵</span><span class="lb">Ariadne's Thread</span></a>
<a href="#line" title="Plug-ins vs extensions"><span class="ic" aria-hidden="true">🧩</span><span class="lb">Plug-ins vs extensions</span></a>
@ -134,7 +133,7 @@
<h1>Theseus <span class="g">Plug-ins</span></h1>
<p class="tag">Silent Mode's own components that ship inside Theseus and appear under
<b>Settings › Plug-ins</b>: the wallet and the system-wide resolver. Community-made
add-ons live on the separate <a href="/extensions/">Extensions</a> page.</p>
add-ons live on the separate <a href="../extensions/">Extensions</a> page.</p>
</header>
<div class="wrap">
@ -185,9 +184,9 @@
<h2>Where the line is</h2>
<p class="lede">Plug-ins are first-party: Silent Mode builds them, signs them with the operator key, and Theseus treats
them as part of itself (own Settings section, own update flow). Extensions are everyone else's: published by
any BCDN name holder, signed with that name's wallet, listed on <a href="/extensions/">theseus.x/extensions</a>
any BCDN name holder, signed with that name's wallet, listed on <a href="../extensions/">theseus.x/extensions</a>
and installed from <b>Settings › Extensions</b>. Both are verified on your device before a byte runs.</p>
<div class="note"><b>Want to build one?</b> Start on the <a href="/extensions/#build">Extensions page</a> — the same add-on
<div class="note"><b>Want to build one?</b> Start on the <a href="../extensions/#build">Extensions page</a> — the same add-on
format powers both, and publishing takes a name and a signature, nothing else.</div>
</section>