Il repo resta al sito: app in radice, piattaforme nel loro repo

apps/sito passa in radice, apps/platforms si toglie: vive in
gitea:Adriano/InsanityLab-platforms, con la storia del repo comune. I piani e
le specifiche di Longevity e Campus lasciano docs/ e seguono le piattaforme.
README e compose: deploy da /opt/docker/insanitylab/src; al primo deploy .env
va spostato da apps/sito/.env alla radice.

Refs #20

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-29 14:25:12 +00:00
parent 9efd9a7680
commit 3fff3cd2f8
608 changed files with 14 additions and 104131 deletions
+26
View File
@@ -0,0 +1,26 @@
---
import { getDb } from '../../lib/db';
import { listRecent, listArchiveMonths } from '../../lib/posts';
import { CATEGORIES } from '../../lib/blog-const';
const db = getDb();
const recent = listRecent(db, 4);
const months = listArchiveMonths(db);
const monthLabel = (m: string) => new Intl.DateTimeFormat('it-IT', { month: 'long', year: 'numeric' }).format(new Date(`${m}-01`));
---
<aside class="bside">
<h3>Categorie</h3>
{CATEGORIES.map((c) => <p><a href={`/blog?categoria=${encodeURIComponent(c)}`}>{c}</a></p>)}
<h3>Ultimi articoli</h3>
{recent.map((p) => (
<p><a href={`/blog/${p.slug}`}>{p.title}</a></p>
))}
<h3>Archivio</h3>
{months.map((m) => <p class="bside__month">{monthLabel(m.month)} ({m.count})</p>)}
</aside>
<style>
.bside h3 { font-size: .85rem; text-transform: uppercase; letter-spacing: .16em; margin-top: 30px; }
.bside a { text-decoration: none; color: var(--c-text); }
.bside a:hover { color: var(--c-accent-dark); }
.bside__month { text-transform: capitalize; }
</style>