nsite-clay / guía
EN
ES
SK
CS
Este es el camino completo desde una pestaña vacía del navegador hasta una página en línea, con las capturas tomadas sobre la marcha. Vas a crear una clave, publicar una página, ponerle una imagen y un feed de Nostr, y guardarla. No hace falta terminal ni darse de alta en ningún sitio.
El ejemplo es la página de un meetup de Nostr. Se monta en unos diez minutos, y aun así hace falta ponerle una imagen, un horario y publicaciones de otra persona, lo que basta para tocar casi todo lo que sabe hacer el editor.
Aquí un sitio pertenece a una clave, no a una cuenta. No hay nada que registrar ni nadie a quien pedir permiso. La clave que publica una página es la única que puede cambiarla después, así que perderla deja la página congelada tal como está.
Abre el publicador. Ofrece cuatro formas de entrar.
nsec, un ncryptsec cifrado, o una
dirección bunker://. La clave se queda en la memoria de la pestaña y no se escribe
en ningún sitio, pero una clave pegada es una clave que ha tocado una página web, y por eso
ocupa el tercer lugar de la lista.Pulsa Aún no tengo clave y el navegador genera una clave. La ves una sola vez: no va a ningún otro sitio y nada guarda una copia, así que si cierras la pestaña sin anotarla, desaparece.
Merece la pena guardar el archivo de copia de seguridad. Cifra tu clave con una contraseña que tú eliges, usando NIP-49, así que el archivo de tu disco no es la clave en sí. Perder esa contraseña es tan grave como perder la clave, así que guarda la contraseña en algún sitio también.
No hay manera de restablecerla. Nadie tiene una copia que enviarte, porque nadie tiene ninguna copia. Eso es lo que cuesta ser el dueño. Anota la clave antes de marcar la casilla.
Cada plantilla es una página terminada sobre la que escribes encima, y no un marco vacío. Se obtienen de este mismo sitio, así que no se descarga nada de ningún otro lugar.
La que se llama cms es la que usa esta guía. Está hecha de bloques que añades y
reordenas: un título, un párrafo, una imagen, un video, una fila de tarjetas, un feed de Nostr.
La mayoría de las demás también admiten bloques, cada una con su propio estilo: un bloque que
añades al zine sale en monoespaciado, y uno que añades al terminal sale como otro comando. Dos
no: la galería se redibuja sola desde un feed en vivo cada vez que carga, y el registro de canal
solo te deja añadir líneas, nunca editarlas.
Si haces clic en una plantilla, pasas directamente al siguiente paso. Si después de todo quieres otra, los pasos numerados de arriba son la manera de volver: haz clic en cualquier paso por el que ya hayas pasado para regresar a él.
Elijas la que elijas, el contenido de muestra de la plantilla apunta a quien la escribió: el feed trae sus notas, el pie de página enlaza su perfil. El publicador sustituye todo eso por tu clave al publicar, así que la página que sale es tuya desde el primer byte.
Tu sitio vive en tu npub, en cualquier gateway de nsites. Lo que eliges aquí es la ruta dentro de él. Una sola barra es la página principal.
Escribe /meetup y la página acaba en
your-npub.nsite.lol/meetup. Las rutas que no terminan en .html se
tratan como carpetas, que es como los gateways las resuelven.
Un npub puede tener tantas páginas como quieras, y no interfieren entre sí. El publicador comprueba qué ha publicado ya esa clave y te lo dice antes de continuar.
Pulsa el botón. Todos los archivos se suben a un servidor Blossom, que guarda los blobs direccionados por su propio hash. Un manifiesto firmado dice después a qué hash apunta cada ruta, y un segundo evento archiva ese conjunto de hashes como una versión a la que puedes volver.
Si firmas con una app en vez de con una clave pegada, te pedirá que apruebes cada firma.
Con eso el sitio ya está en línea. Un gateway puede tardar un minuto en darse cuenta de que hay uno nuevo, así que si no aparece enseguida, espera y recarga.
Esta es la última vez que necesitas el publicador. A partir de aquí, la página se edita y se vuelve a publicar sola.
La CLI hace el mismo trabajo para quien prefiera tener una carpeta en el disco. No es el camino más corto y no la necesitas, pero está ahí si quieres los archivos bajo control de versiones o una página construida por un script.
npx nsite-clay init mysite --template=cms --npub=npub1…
npx nsite-clay deploy mysite --sec=nsec1…
Prefiere un firmante remoto antes que una clave en crudo, y pásala por el entorno en vez de como argumento, porque un argumento es visible para cualquier proceso de la máquina:
NOSTR_BUNKER_URI="bunker://…" npx nsite-clay deploy mysite
Después del primer despliegue la página se guarda sola, así que solo vuelves a la terminal para los cambios que hagas fuera del navegador.
Abre la dirección con #edit al final e inicia sesión con la misma clave. Sin
#edit, quien lea la página no tiene nada en lo que hacer clic, que es lo que debe
ver todo el mundo.
Haz clic en cualquier texto y escribe. Los títulos, los párrafos, los pies de foto y los títulos de las tarjetas son solo texto en la página; no hay campos ni ningún formulario detrás. Si seleccionas unas palabras aparece una barra pequeña con negrita, enlaces y listas.
Cada bloque tiene un riel en su esquina: subirlo, bajarlo, duplicarlo, borrarlo, y si el
bloque contiene una imagen o un feed, un engranaje que vuelve a abrir el selector. Entre los
bloques hay un + que abre la paleta.
Para la página del meetup: el título, la fecha debajo, una frase de apertura, un encabezado, un párrafo sobre lo que va a pasar, y una fila de tres tarjetas para el horario.
El engranaje del bloque de imagen abre el selector. Suelta un archivo, elige una que ya hayas subido antes, o pega una URL.
Un archivo soltado se sube a los mismos servidores Blossom que guardan la página, bajo tu clave. La cuadrícula muestra todo lo que esa clave ha subido antes, así que la segunda vez que quieras una imagen son dos clics.
Rellena el texto alternativo. Es lo que recibe quien usa un lector de pantalla en lugar de la imagen, y cuesta una sola frase.
Un bloque de video acepta un enlace de YouTube o Vimeo, o un archivo para subir.
El reproductor se carga solo cuando alguien pulsa play. Hasta entonces YouTube no vigila a quienes leen la página, y la miniatura sigue funcionando como enlace para cualquiera que navegue con JavaScript desactivado.
Un bloque de feed de Nostr muestra publicaciones de quien tú indiques. Es una buena forma de mantener una página actualizada sin tocarla: las publicaciones se descargan cuando alguien abre la página, así que se mantiene tan fresca como la cuenta que hay detrás.
La página del meetup muestra la cuenta de Lunarpunk Košice, ya que es el evento dentro del cual ocurre. Pega uno o varios npubs, y las publicaciones aparecen para que veas lo que estás a punto de mostrar.
Puedes elegir notas cortas, artículos largos o publicaciones con fotos, decidir cuántas mostrar, y fijar algunas concretas arriba. Cada firma se comprueba en el navegador de quien lee, así que si un relay entrega algo que el autor no escribió, se detecta en vez de mostrarse.
Hacer clic en una publicación la lee en tu página por defecto. El feed ya la había
descargado para dibujar la tarjeta, así que se abre sin esperar nada, y cerrarla deja la
página exactamente como estaba, sin recargar nada. Si prefieres mandar a la gente a un
cliente de Nostr, el mismo campo ofrece Yakihonne, Primal y njump, o una URL propia con
{id} dentro.
También hay un bloque para una publicación tuya. Ese copia la publicación dentro de la página en lugar de descargarla, así que se lee sin relay y sin JavaScript, y aun así recuerda de qué evento de Nostr viene. Edita la publicación en cualquier cliente de Nostr y la copia se puede volver a poner al día.
Una página que puede mostrar tus publicaciones también puede escribirlas. Escribir, en la barra de herramientas, lista todo lo que has publicado y abre cualquier artículo para editarlo.
La dirección es el campo que hay que acertar. Es cómo se enlaza tu artículo, y volver a publicar con la misma dirección es cómo lo editas: corrige una errata, publica, y todas las apps de Nostr muestran la versión corregida en el mismo enlace, con la fecha original todavía puesta.
Las notas cortas funcionan igual, salvo que no se pueden editar una vez publicadas. El panel te avisa antes de que publiques una.
Las publicaciones y las páginas van cada una por su lado. Escribir una nota no cambia tu página, y guardar tu página no toca tus publicaciones.
Pulsa Guardar. La página se serializa a sí misma, sube el resultado como un solo blob, y vuelve a publicar el manifiesto apuntando a él. A partir de ese momento, quien cargue la página recibe tu versión, como un documento estático normal con los cambios ya dentro.
Guardar tarda alrededor de un segundo. Si no ha cambiado nada desde el último guardado, lo dice y no hace nada, así que pulsarlo dos veces no causa ningún problema. A quien siga leyendo la versión antigua se le avisa de que hay una más nueva y su página se actualiza sola, así que nadie tiene que saber qué es una recarga forzada.
Cuando un guardado falla, dice por qué. La causa habitual es una app de firma que se ha quedado dormida: despiértala, aprueba, y vuelve a pulsar Guardar.
Cada guardado se conserva. Historial los lista todos.
Restaurar una versión antigua no tira la actual. Se convierte en otra entrada más de la lista, así que puedes volver a cambiar de opinión.
Vuelve al publicador, inicia sesión con la misma clave, y elige otra ruta. Te dice qué hay ya publicado.
Elegir una ruta que ya está ocupada es otra cosa, y el publicador no lo hace en silencio.
Aun así, la página antigua no desaparece: sustituirla es una versión nueva, y el historial de versiones sigue guardando lo que había antes.
Tu página está en tu npub:
https://<your npub>.nsite.lol/
Esa dirección es tuya porque la clave es tuya. Nadie te la asignó y nadie puede quitártela. Varios gateways sirven la misma página a partir de los mismos eventos, así que si uno se cae, cambias el nombre de host y no se mueve nada más: nsite.lol, nosto.re, nwb.tf, nsite.run, nsite.cloud y shakespeare.to. nsite.run tiene la explicación más clara de qué es un nsite, si quieres el contexto.
Apunta un CNAME a tu subdominio npub, no al gateway en sí:
blog.example.com. CNAME npub1….nsite.lol.
El gateway lee el npub, así que un CNAME que apunte solo a nsite.lol no le dice
de quién es el sitio. Cuando el nombre de host que recibe no es una etiqueta de nsite, el
gateway sigue el CNAME y saca el npub de donde apunta ese nombre.
Eso es solo el enrutamiento, y es la mitad del problema. nsite.lol tiene un único
certificado, para *.nsite.lol, y a cualquier otro nombre le responde con una
alerta TLS unrecognized name y ningún certificado, así que un navegador que pide
https://blog.example.com nunca llega a la página. Para tener HTTPS en un nombre
propio, hace falta correr tu propio gateway: el de referencia deja el TLS en manos de Caddy,
que emite certificados al vuelo. O le pides a quien administra el gateway que usas que añada
tu nombre al suyo.
Haz una copia de seguridad de la clave como es debido, porque es el sitio entero, y no hay manera de reemitirla.
Quien te lee no necesita nada de ti. La página publicada es HTML estático y se lee con el scripting desactivado, salvo los feeds de Nostr, que son lo único que se descarga al abrirla.
Nada de lo que hagas es destructivo. Cada guardado archiva una versión, y los blobs se direccionan por su propio hash, así que ninguna edición sobrescribe los bytes de una anterior.
Y puedes irte cuando quieras. La página es un solo archivo HTML: guárdala desde el navegador, ponla en cualquier otro sitio, y sigue siendo la misma página.