sites/dossiers.ngi: strip meta keep links and last-built

This commit is contained in:
Hernâni Marques 2026-09-30 03:44:42 +02:00
parent 9035b9600b
commit f2a0d533b8
No known key found for this signature in database
7 changed files with 57 additions and 209 deletions

View file

@ -1,36 +1,30 @@
{
"generated": "2026-09-30T02:30:50+02:00",
"host": "https://dossiers.ngi.hacktivism.ch",
"tdpd_root": "/Users/newkamek/git/src/ngi/tech-dossier-project-data",
"branches": [
{
"branch": "main",
"tip": "d2fbd79",
"parent": "",
"url": "https://dossiers.ngi.hacktivism.ch/main/"
},
{
"branch": "feat/sm-content",
"tip": "089ef1f",
"parent": "main",
"url": "https://dossiers.ngi.hacktivism.ch/feat-sm-content/"
},
{
"branch": "feat/website-features",
"tip": "53a3176",
"parent": "feat/sm-content",
"url": "https://dossiers.ngi.hacktivism.ch/feat-website-features/"
},
{
"branch": "feat/website-design",
"tip": "2e26c80",
"parent": "feat/website-features",
"url": "https://dossiers.ngi.hacktivism.ch/feat-website-design/"
},
{
"branch": "feat/website-views",
"tip": "bbafc38",
"parent": "feat/website-design",
"url": "https://dossiers.ngi.hacktivism.ch/feat-website-views/"
}
]

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>feat/sm-content · cascade</title>
<title>feat/sm-content</title>
<style>
:root { color-scheme: dark; }
* { box-sizing: border-box; }
@ -15,50 +15,26 @@ body {
}
a { color: #7ec8ff; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.75rem; color: #e8eef4; }
h2 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin-bottom: 1rem; }
.box {
border: 1px solid #2a3340; background: #12161c;
padding: 0.85rem 1rem; margin: 0.75rem 0; white-space: pre; overflow-x: auto;
}
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin: 0 0 1rem; }
.nav { margin: 0.5rem 0 1rem; }
.nav a { margin-right: 0.85rem; }
.note { color: #b8a46a; margin-top: 1rem; max-width: 72ch; white-space: normal; }
.ok { color: #7dcea0; }
.dim { color: #6a7682; }
ul.plain { padding-left: 1.2rem; }
ul.plain { padding-left: 1.2rem; margin: 0; }
li { margin: 0.25rem 0; }
.dim { color: #6a7682; }
</style>
</head>
<body>
<h1>edition: feat/sm-content</h1>
<p class="meta">path <code>/feat-sm-content/</code> &middot; tip <code>089ef1f</code> &middot; depends on <a href="/main/"><code>main</code></a></p>
<h1><code>/feat-sm-content/</code></h1>
<p class="meta">last-built: 2026-09-30T02:30:50+02:00 <span class="dim">·</span> <code>feat/sm-content</code> @ <code>089ef1f</code></p>
<div class="nav">
<a href="/">home</a>
<a href="/">/</a>
<a href="/main/">/main/</a>
<a href="/feat-sm-content/">/feat-sm-content/</a>
<a href="/feat-website-features/">/feat-website-features/</a>
<a href="/feat-website-design/">/feat-website-design/</a>
<a href="/feat-website-views/">/feat-website-views/</a>
</div>
<h2>ladder position</h2>
<div class="box">cascade ladder (path roots on dossiers.ngi only)
<a href='/main/'>main</a> @ d2fbd79
<span class='dim'> |</span>
<span class='ok'>* +-- feat/sm-content @ 089ef1f &lt;-- this edition</span>
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-features/'>feat/website-features</a> @ 53a3176
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-design/'>feat/website-design</a> @ 2e26c80
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-views/'>feat/website-views</a> @ bbafc38</div>
<h2>what this looks like</h2>
<p>SM dossier prose content on top of main.</p>
<p class="dim">Blank relational stub. Frozen Flask build for this tip is separate; this page only shows cascade relation and path root.</p>
</body>
</html>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>feat/website-design · cascade</title>
<title>feat/website-design</title>
<style>
:root { color-scheme: dark; }
* { box-sizing: border-box; }
@ -15,50 +15,26 @@ body {
}
a { color: #7ec8ff; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.75rem; color: #e8eef4; }
h2 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin-bottom: 1rem; }
.box {
border: 1px solid #2a3340; background: #12161c;
padding: 0.85rem 1rem; margin: 0.75rem 0; white-space: pre; overflow-x: auto;
}
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin: 0 0 1rem; }
.nav { margin: 0.5rem 0 1rem; }
.nav a { margin-right: 0.85rem; }
.note { color: #b8a46a; margin-top: 1rem; max-width: 72ch; white-space: normal; }
.ok { color: #7dcea0; }
.dim { color: #6a7682; }
ul.plain { padding-left: 1.2rem; }
ul.plain { padding-left: 1.2rem; margin: 0; }
li { margin: 0.25rem 0; }
.dim { color: #6a7682; }
</style>
</head>
<body>
<h1>edition: feat/website-design</h1>
<p class="meta">path <code>/feat-website-design/</code> &middot; tip <code>2e26c80</code> &middot; depends on <a href="/feat-website-features/"><code>feat/website-features</code></a></p>
<h1><code>/feat-website-design/</code></h1>
<p class="meta">last-built: 2026-09-30T02:30:50+02:00 <span class="dim">·</span> <code>feat/website-design</code> @ <code>2e26c80</code></p>
<div class="nav">
<a href="/">home</a>
<a href="/">/</a>
<a href="/main/">/main/</a>
<a href="/feat-sm-content/">/feat-sm-content/</a>
<a href="/feat-website-features/">/feat-website-features/</a>
<a href="/feat-website-design/">/feat-website-design/</a>
<a href="/feat-website-views/">/feat-website-views/</a>
</div>
<h2>ladder position</h2>
<div class="box">cascade ladder (path roots on dossiers.ngi only)
<a href='/main/'>main</a> @ d2fbd79
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-sm-content/'>feat/sm-content</a> @ 089ef1f
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-features/'>feat/website-features</a> @ 53a3176
<span class='dim'> |</span>
<span class='ok'>* +-- feat/website-design @ 2e26c80 &lt;-- this edition</span>
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-views/'>feat/website-views</a> @ bbafc38</div>
<h2>what this looks like</h2>
<p>Design/CSS layer on top of features.</p>
<p class="dim">Blank relational stub. Frozen Flask build for this tip is separate; this page only shows cascade relation and path root.</p>
</body>
</html>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>feat/website-features · cascade</title>
<title>feat/website-features</title>
<style>
:root { color-scheme: dark; }
* { box-sizing: border-box; }
@ -15,50 +15,26 @@ body {
}
a { color: #7ec8ff; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.75rem; color: #e8eef4; }
h2 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin-bottom: 1rem; }
.box {
border: 1px solid #2a3340; background: #12161c;
padding: 0.85rem 1rem; margin: 0.75rem 0; white-space: pre; overflow-x: auto;
}
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin: 0 0 1rem; }
.nav { margin: 0.5rem 0 1rem; }
.nav a { margin-right: 0.85rem; }
.note { color: #b8a46a; margin-top: 1rem; max-width: 72ch; white-space: normal; }
.ok { color: #7dcea0; }
.dim { color: #6a7682; }
ul.plain { padding-left: 1.2rem; }
ul.plain { padding-left: 1.2rem; margin: 0; }
li { margin: 0.25rem 0; }
.dim { color: #6a7682; }
</style>
</head>
<body>
<h1>edition: feat/website-features</h1>
<p class="meta">path <code>/feat-website-features/</code> &middot; tip <code>53a3176</code> &middot; depends on <a href="/feat-sm-content/"><code>feat/sm-content</code></a></p>
<h1><code>/feat-website-features/</code></h1>
<p class="meta">last-built: 2026-09-30T02:30:50+02:00 <span class="dim">·</span> <code>feat/website-features</code> @ <code>53a3176</code></p>
<div class="nav">
<a href="/">home</a>
<a href="/">/</a>
<a href="/main/">/main/</a>
<a href="/feat-sm-content/">/feat-sm-content/</a>
<a href="/feat-website-features/">/feat-website-features/</a>
<a href="/feat-website-design/">/feat-website-design/</a>
<a href="/feat-website-views/">/feat-website-views/</a>
</div>
<h2>ladder position</h2>
<div class="box">cascade ladder (path roots on dossiers.ngi only)
<a href='/main/'>main</a> @ d2fbd79
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-sm-content/'>feat/sm-content</a> @ 089ef1f
<span class='dim'> |</span>
<span class='ok'>* +-- feat/website-features @ 53a3176 &lt;-- this edition</span>
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-design/'>feat/website-design</a> @ 2e26c80
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-views/'>feat/website-views</a> @ bbafc38</div>
<h2>what this looks like</h2>
<p>Website feature routes on top of sm-content.</p>
<p class="dim">Blank relational stub. Frozen Flask build for this tip is separate; this page only shows cascade relation and path root.</p>
</body>
</html>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>feat/website-views · cascade</title>
<title>feat/website-views</title>
<style>
:root { color-scheme: dark; }
* { box-sizing: border-box; }
@ -15,54 +15,26 @@ body {
}
a { color: #7ec8ff; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.75rem; color: #e8eef4; }
h2 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin-bottom: 1rem; }
.box {
border: 1px solid #2a3340; background: #12161c;
padding: 0.85rem 1rem; margin: 0.75rem 0; white-space: pre; overflow-x: auto;
}
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin: 0 0 1rem; }
.nav { margin: 0.5rem 0 1rem; }
.nav a { margin-right: 0.85rem; }
.note { color: #b8a46a; margin-top: 1rem; max-width: 72ch; white-space: normal; }
.ok { color: #7dcea0; }
.dim { color: #6a7682; }
ul.plain { padding-left: 1.2rem; }
ul.plain { padding-left: 1.2rem; margin: 0; }
li { margin: 0.25rem 0; }
.dim { color: #6a7682; }
</style>
</head>
<body>
<h1>edition: feat/website-views</h1>
<p class="meta">path <code>/feat-website-views/</code> &middot; tip <code>bbafc38</code> &middot; depends on <a href="/feat-website-design/"><code>feat/website-design</code></a></p>
<h1><code>/feat-website-views/</code></h1>
<p class="meta">last-built: 2026-09-30T02:30:50+02:00 <span class="dim">·</span> <code>feat/website-views</code> @ <code>bbafc38</code></p>
<div class="nav">
<a href="/">home</a>
<a href="/">/</a>
<a href="/main/">/main/</a>
<a href="/feat-sm-content/">/feat-sm-content/</a>
<a href="/feat-website-features/">/feat-website-features/</a>
<a href="/feat-website-design/">/feat-website-design/</a>
<a href="/feat-website-views/">/feat-website-views/</a>
</div>
<h2>ladder position</h2>
<div class="box">cascade ladder (path roots on dossiers.ngi only)
<a href='/main/'>main</a> @ d2fbd79
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-sm-content/'>feat/sm-content</a> @ 089ef1f
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-features/'>feat/website-features</a> @ 53a3176
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-design/'>feat/website-design</a> @ 2e26c80
<span class='dim'> |</span>
<span class='ok'>* +-- feat/website-views @ bbafc38 &lt;-- this edition</span></div>
<h2>what this looks like</h2>
<p>Views/list layer on top of design (origin tip).</p>
<p class="dim">Blank relational stub. Frozen Flask build for this tip is separate; this page only shows cascade relation and path root.</p>
<p class="note"><strong>views gap vs dossiers.ngi-0.eu:</strong>
Frozen Flask on this tip exposes project_list / project_detail / dossier_list / blank.
It does not yet mirror the Next.js category-style views on dossiers.ngi-0.eu.
This path documents that gap; category-parity views remain open work.</p>
</body>
</html>

View file

@ -15,26 +15,19 @@ body {
}
a { color: #7ec8ff; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.75rem; color: #e8eef4; }
h2 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin-bottom: 1rem; }
.box {
border: 1px solid #2a3340; background: #12161c;
padding: 0.85rem 1rem; margin: 0.75rem 0; white-space: pre; overflow-x: auto;
}
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin: 0 0 1rem; }
.nav { margin: 0.5rem 0 1rem; }
.nav a { margin-right: 0.85rem; }
.note { color: #b8a46a; margin-top: 1rem; max-width: 72ch; white-space: normal; }
.ok { color: #7dcea0; }
.dim { color: #6a7682; }
ul.plain { padding-left: 1.2rem; }
ul.plain { padding-left: 1.2rem; margin: 0; }
li { margin: 0.25rem 0; }
.dim { color: #6a7682; }
</style>
</head>
<body>
<h1>tech-dossier cascade landing</h1>
<p class="meta">host: dossiers.ngi.hacktivism.ch &middot; blank relational index &middot; owned by koopa-admin-log</p>
<h1>cascade</h1>
<p class="meta">last-built: 2026-09-30T02:30:50+02:00</p>
<div class="nav">
<a href="/">/</a>
<a href="/main/">/main/</a>
@ -43,27 +36,12 @@ li { margin: 0.25rem 0; }
<a href="/feat-website-design/">/feat-website-design/</a>
<a href="/feat-website-views/">/feat-website-views/</a>
</div>
<h2>relation to main</h2>
<div class="box">cascade ladder (path roots on dossiers.ngi only)
<a href='/main/'>main</a> @ d2fbd79
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-sm-content/'>feat/sm-content</a> @ 089ef1f
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-features/'>feat/website-features</a> @ 53a3176
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-design/'>feat/website-design</a> @ 2e26c80
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-views/'>feat/website-views</a> @ bbafc38</div>
<h2>editions</h2>
<ul class="plain">
<li><a href="/main/"><code>/main/</code></a> &mdash; <code>main</code> @ <code>d2fbd79</code> &middot; base<br><span class="dim">Base freeze tip.</span></li>
<li><a href="/feat-sm-content/"><code>/feat-sm-content/</code></a> &mdash; <code>feat/sm-content</code> @ <code>089ef1f</code> &middot; depends on <code>main</code><br><span class="dim">SM dossier prose content on top of main.</span></li>
<li><a href="/feat-website-features/"><code>/feat-website-features/</code></a> &mdash; <code>feat/website-features</code> @ <code>53a3176</code> &middot; depends on <code>feat/sm-content</code><br><span class="dim">Website feature routes on top of sm-content.</span></li>
<li><a href="/feat-website-design/"><code>/feat-website-design/</code></a> &mdash; <code>feat/website-design</code> @ <code>2e26c80</code> &middot; depends on <code>feat/website-features</code><br><span class="dim">Design/CSS layer on top of features.</span></li>
<li><a href="/feat-website-views/"><code>/feat-website-views/</code></a> &mdash; <code>feat/website-views</code> @ <code>bbafc38</code> &middot; depends on <code>feat/website-design</code><br><span class="dim">Views/list layer on top of design (origin tip).</span></li>
<li><a href="/main/"><code>/main/</code></a> <span class="dim">·</span> <code>main</code> @ <code>d2fbd79</code></li>
<li><a href="/feat-sm-content/"><code>/feat-sm-content/</code></a> <span class="dim">·</span> <code>feat/sm-content</code> @ <code>089ef1f</code></li>
<li><a href="/feat-website-features/"><code>/feat-website-features/</code></a> <span class="dim">·</span> <code>feat/website-features</code> @ <code>53a3176</code></li>
<li><a href="/feat-website-design/"><code>/feat-website-design/</code></a> <span class="dim">·</span> <code>feat/website-design</code> @ <code>2e26c80</code></li>
<li><a href="/feat-website-views/"><code>/feat-website-views/</code></a> <span class="dim">·</span> <code>feat/website-views</code> @ <code>bbafc38</code></li>
</ul>
<p class="note">Each path is its own root for that branch edition. Single public host dossiers.ngi only.</p>
</body>
</html>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>main · cascade</title>
<title>main</title>
<style>
:root { color-scheme: dark; }
* { box-sizing: border-box; }
@ -15,50 +15,26 @@ body {
}
a { color: #7ec8ff; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.75rem; color: #e8eef4; }
h2 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin-bottom: 1rem; }
.box {
border: 1px solid #2a3340; background: #12161c;
padding: 0.85rem 1rem; margin: 0.75rem 0; white-space: pre; overflow-x: auto;
}
h1 { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.5rem; color: #e8eef4; }
.meta { color: #8a96a3; margin: 0 0 1rem; }
.nav { margin: 0.5rem 0 1rem; }
.nav a { margin-right: 0.85rem; }
.note { color: #b8a46a; margin-top: 1rem; max-width: 72ch; white-space: normal; }
.ok { color: #7dcea0; }
.dim { color: #6a7682; }
ul.plain { padding-left: 1.2rem; }
ul.plain { padding-left: 1.2rem; margin: 0; }
li { margin: 0.25rem 0; }
.dim { color: #6a7682; }
</style>
</head>
<body>
<h1>edition: main</h1>
<p class="meta">path <code>/main/</code> &middot; tip <code>d2fbd79</code> &middot; depends on <span class='dim'>none (base)</span></p>
<h1><code>/main/</code></h1>
<p class="meta">last-built: 2026-09-30T02:30:50+02:00 <span class="dim">·</span> <code>main</code> @ <code>d2fbd79</code></p>
<div class="nav">
<a href="/">home</a>
<a href="/">/</a>
<a href="/main/">/main/</a>
<a href="/feat-sm-content/">/feat-sm-content/</a>
<a href="/feat-website-features/">/feat-website-features/</a>
<a href="/feat-website-design/">/feat-website-design/</a>
<a href="/feat-website-views/">/feat-website-views/</a>
</div>
<h2>ladder position</h2>
<div class="box">cascade ladder (path roots on dossiers.ngi only)
<span class='ok'>* main @ d2fbd79 &lt;-- this edition</span>
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-sm-content/'>feat/sm-content</a> @ 089ef1f
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-features/'>feat/website-features</a> @ 53a3176
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-design/'>feat/website-design</a> @ 2e26c80
<span class='dim'> |</span>
<span class='dim'> +--</span> <a href='/feat-website-views/'>feat/website-views</a> @ bbafc38</div>
<h2>what this looks like</h2>
<p>Base freeze tip.</p>
<p class="dim">Blank relational stub. Frozen Flask build for this tip is separate; this page only shows cascade relation and path root.</p>
</body>
</html>