# `takana-os.net` — el sitio del proyecto Una sola página, autocontenida, en dos idiomas y dos temas. **No le pide nada a terceros:** las tipografías de la marca (Chivo e IBM Plex, las dos SIL OFL) viajan acá en `fuentes/`, subconjuntos `latin` y `latin-ext`, 154 KB en total. Un sitio sobre no depender de binarios ajenos que cargara las fuentes de Google en cada visita sería una contradicción barata. | | | |---|---| | `index.html` | la página entera: CSS y JS adentro, el símbolo como `` SVG inline | | `fuentes.css` + `fuentes/` | las ocho caras `@font-face`, servidas de acá | | `simbolo.svg` | el favicon — el martillo tocapu 7×7, derivado de `docs/marca/simbolo-fondo-claro.svg` | La paleta y la tipografía salen de **`docs/marca/README.md`** y no se inventan acá. La única desviación, deliberada: en tema claro el texto de acento usa un brasa oscurecido (`#9E3F16`), porque el `#DF6B2A` de la marca sobre alpaca da 2,9:1 y no se lee. Las combinaciones de la página están medidas: ninguna baja de 4,5:1. ## Las dos direcciones que publica - **código** → `https://git.gioser.net/sergio/takana` (público; `git clone` por HTTPS) - **paquetes** → `https://takana-os.net/repo/`, que es el MISMO `/srv/repo` firmado que sirve `repo.gioser.net`. Comprobado: `takana install age --repo https://repo.gioser.net --trust ./trust` responde `release: trusted (by release)`. ⚠ `takana repo list --repo ` **no habla HTTP** — sólo directorios locales — y ante una URL dice «repo vacío» con salida 0 en vez de decir que no sabe. El que sí baja por red es `install --repo`. ## Cómo se sirve Caddy, en la caja `takana`, vhost `takana-os.net, www.takana-os.net`. La raíz es **`/work/sergio/takana/web/takana-os.net`**, el árbol de trabajo vivo: *publicar es guardar el fichero*. No lo refresca `publicar-webs.sh` a propósito — un `pull` sobre el árbol compartido mueve HEAD bajo los pies de otro agente (CLAUDE.md §2 ter). Este README **no se sirve**: son notas de operación, y el matcher del vhost las 404ea. El bloque, por si hay que rehacer la caja (`caddy validate` → `arjectl restart caddy`, **nunca** `caddy reload`: el Caddyfile lleva `admin off`, SDD 28 §6.14): ```caddyfile takana-os.net, www.takana-os.net { import acceso encode gzip zstd redir /repo /repo/ permanent handle_path /repo/* { root * /srv/repo file_server browse } handle { root * /work/sergio/takana/web/takana-os.net @oculto path /.* */.* /README.md respond @oculto 404 file_server } } ``` ## DNS El dominio se registró el 2026-09-21 y **el vhost está puesto antes que los registros**: hasta que `takana-os.net` resuelva a la caja, Caddy no puede pedir el certificado y el nombre no responde. Hacen falta dos `A` a `2.29.29.217` (la IP de la caja), igual que la de `repo`: ``` takana-os.net. A 2.29.29.217 www.takana-os.net. A 2.29.29.217 ``` Con eso puesto, el certificado sale solo en la primera petición — y **tarda unos segundos más que el primer `curl`**: si da error, reintentar antes de ir a mirar logs (SDD 28 §6.14).