nsite-clay / průvodce
EN
ES
SK
CS
Tohle je celá cesta od prázdné karty prohlížeče ke stránce, která je na webu, se snímky obrazovky pořízenými cestou. Vytvoříš klíč, publikuješ stránku, vložíš do ní obrázek a Nostr feed a uložíš ji. Žádný terminál, nic, k čemu by ses musel registrovat.
Příkladem je stránka Nostr meetupu. Postavíš ji zhruba za deset minut, a pořád bude potřebovat obrázek, program a příspěvky někoho jiného, což stačí na to, abys prošel většinou toho, co editor umí.
Web tu nepatří k účtu, ale ke klíči. Není co registrovat a není se koho ptát. Klíč, který stránku publikuje, je jediný klíč, kterým se dá později změnit, takže jeho ztráta stránku zamrazí přesně v tom stavu, v jakém je.
Otevři publisher. Nabízí čtyři cesty dovnitř.
Nsec, zašifrovaný ncryptsec, nebo adresu
bunker://. Klíč zůstává v paměti karty a nikam se nezapisuje, ale vložený klíč je
klíč, který se dotkl webové stránky, a proto je na seznamu třetí.Zmáčkni Ještě nemám klíč a v prohlížeči se vygeneruje klíč. Zobrazí se jen jednou. Nikam jinam nejde a nikde se neukládá, takže když zavřeš kartu, aniž by sis ho zapsal, je pryč.
Záložní soubor se vyplatí stáhnout. Zapíše tvůj klíč zašifrovaný heslem, které si zvolíš, pomocí NIP-49, takže soubor na disku není samotný klíč. Ztráta toho hesla znamená ztrátu klíče úplně stejně jako ztráta klíče samotného, takže si bezpečně ulož i heslo.
Neexistuje reset. Nikdo ti nepošle kopii, protože kopii nemá nikdo. To je cena za to, že klíč patří tobě. Zapiš si ho dřív, než zaškrtneš políčko.
Každá šablona je hotová stránka, do které jen přepisuješ text, ne prázdný rámec. Stahují se z tohohle webu, takže se nic jiného odjinud nenačítá.
Tenhle návod používá tu, která se jmenuje cms. Skládá se z bloků, které přidáváš
a přerovnáváš: nadpis, odstavec, obrázek, video, řada karet, Nostr feed. Bloky zvládne i
většina ostatních šablon, každá ale po svém: blok přidaný do zinu vyjde v monospace, blok
přidaný do terminálu vyjde jako další příkaz. Dvě to nedělají: galerie se při každém načtení
překreslí znovu z živého feedu a log kanálu jenom přidává řádky, schválně.
Kliknutím na šablonu přejdeš rovnou na další krok. Pokud nakonec chceš jinou, vrátit se dá přes očíslované kroky nahoře: stačí kliknout na kterýkoli, kterým jsi už prošel.
Ať vybereš kteroukoli, ukázkový obsah šablony ukazuje na člověka, který ji napsal: feed stahuje jeho poznámky, patička odkazuje na jeho profil. Publisher cestou ven všechno tohle nahradí tvým klíčem, takže stránka, která nakonec vznikne, je od prvního bajtu tvoje.
Tvůj web bydlí na tvém npubu na kterékoli nsite gateway. Tady volíš cestu uvnitř něj. Samotné lomítko je domovská stránka.
Napiš /meetup a stránka skončí na adrese
your-npub.nsite.lol/meetup. Cesty, které nekončí na .html, se berou
jako složky, a takhle je gateway řeší.
Jeden npub může nést kolik chceš stránek, aniž by si navzájem překážely. Publisher zkontroluje, co ten klíč už publikoval, a řekne ti to, než půjdeš dál.
Zmáčkni tlačítko. Každý soubor se nahraje na Blossom server, který ukládá bloby podle vlastního hashe. Podepsaný manifest pak řekne, na jaký hash která cesta ukazuje, a druhý event tuhle sadu hashů zapíše jako verzi, ke které se dá později vrátit.
Pokud podepisuješ aplikací místo vloženého klíče, požádá tě o schválení každého podpisu.
Tím je stránka na síti. Gateway si úplně novou stránku může všimnout až po chvíli, takže pokud tam hned není, počkej a obnov stránku.
Tohle je naposledy, co potřebuješ publisher. Odsud dál se stránka upravuje a znovu publikuje sama.
CLI dělá stejnou práci pro každého, kdo by radši měl složku na disku. Není to kratší cesta a nepotřebuješ ji, ale je tu pro případ, že chceš soubory pod verzováním nebo stránku postavenou skriptem.
npx nsite-clay init mysite --template=cms --npub=npub1…
npx nsite-clay deploy mysite --sec=nsec1…
Dej přednost vzdálenému signeru před holým klíčem a předej ho přes proměnnou prostředí místo argumentu, protože argument vidí každý proces na stroji:
NOSTR_BUNKER_URI="bunker://…" npx nsite-clay deploy mysite
Po prvním nasazení se stránka ukládá sama, takže se do terminálu vracíš jen kvůli změnám, které děláš mimo prohlížeč.
Otevři adresu s #edit na konci a přihlas se stejným klíčem. Bez
#edit dostane návštěvník stránku a nic, na co by mohl kliknout, a přesně tohle má
vidět každý ostatní.
Klikni do libovolného textu a piš. Nadpisy, odstavce, popisky i názvy karet jsou na stránce prostě jen text, žádná políčka ani formulář za tím nejsou. Když označíš pár slov, vyjede malá lišta pro tučné písmo, odkazy a seznamy.
Každý blok má v rohu lištu: posune ho nahoru, posune ho dolů, zdvojí ho, smaže ho, a tam, kde
blok drží obrázek nebo feed, i ozubené kolečko, které znovu otevře panel na výběr. Mezi bloky je
+, který otevře paletu.
Pro stránku meetupu: název, pod ním datum, úvodní věta, nadpis, odstavec o tom, co se bude dít, a řada tří karet s programem.
Ozubené kolečko obrázkového bloku otevře panel na výběr. Přetáhni na něj soubor, vyber některý z dřívějších, nebo vlož webovou adresu.
Přetažený soubor se nahraje na stejné Blossom servery, které drží stránku, pod tvým klíčem. Mřížka ukazuje všechno, co ten klíč nahrál už dřív, takže podruhé je obrázek na dvě kliknutí.
Vyplň alt text. Dostane ho místo obrázku ten, kdo používá čtečku obrazovky, a stojí to jednu větu.
Blok videa přijímá odkaz na YouTube nebo Vimeo, nebo soubor k nahrání.
Přehrávač se načte, jen když někdo zmáčkne play. Do té doby YouTube tvoje čtenáře nesleduje a náhled funguje jako odkaz i pro lidi s vypnutým JavaScriptem.
Blok Nostr feedu ukazuje příspěvky od kohokoli, koho zadáš. Je to dobrý způsob, jak udržet stránku aktuální, aniž by ses jí musel dotknout: příspěvky se stahují ve chvíli, kdy návštěvník stránku otevře, takže stránka je čerstvá stejně jako účet za ní.
Stránka meetupu ukazuje účet Lunarpunk Košice, protože v rámci téhle akce se meetup koná. Vlož jeden nebo víc npubů a příspěvky se zobrazí, takže vidíš, co se chystáš ukázat.
Můžeš si vybrat krátké poznámky, dlouhé články nebo obrázkové příspěvky, zvolit, kolik se jich má zobrazit, a některé připnout nahoru. Každý podpis se ověřuje přímo v prohlížeči návštěvníka, takže relay, který by podstrčil něco, co autor nenapsal, se odhalí, místo aby se to zobrazilo.
Kliknutí na příspěvek ho ve výchozím nastavení otevře rovnou na tvé stránce. Feed ho
měl stažený už kvůli kartě, takže se otevře bez čekání, a když ho zavřeš, stránka se znovu
nenačte a zůstane přesně taková, jaká byla. Pokud chceš čtenáře radši posílat do Nostr
klienta, stejné pole nabízí Yakihonne, Primal a njump, nebo vlastní adresu URL s
{id} v ní.
Existuje i blok pro tvůj vlastní příspěvek. Ten příspěvek do stránky zkopíruje místo toho, aby ho stahoval, takže se dá číst bez relaye a bez JavaScriptu, a přitom si pamatuje, ze kterého Nostr eventu pochází. Uprav příspěvek v libovolném Nostr klientovi a kopii pak můžeš srovnat s originálem.
Stránka, která umí tvoje příspěvky ukázat, je umí i psát. Tlačítko Napsat v liště vypíše všechno, cos publikoval, a odsud otevřeš libovolný článek k úpravě.
Adresu je dobré trefit hned napoprvé. Přes ni vedou odkazy na tvůj článek, a publikovat znovu pod stejnou adresou je způsob, jak ho upravit: oprav překlep, publikuj, a každá Nostr aplikace ukáže opravenou verzi na stejném odkazu, s původním datem, které zůstává beze změny.
Krátké poznámky fungují stejně až na jednu věc: později se upravit nedají. Panel to řekne dřív, než nějakou publikuješ.
Příspěvky a stránky jsou oddělené. Napsat poznámku stránku nezmění a uložit stránku se příspěvků nedotkne.
Zmáčkni Uložit. Stránka se serializuje, výsledek nahraje jako jeden blob a znovu publikuje manifest, který na něj ukazuje. Kdokoli od teď stránku načte, dostane tvou verzi jako obyčejný statický dokument, ve kterém už změny jsou.
Uložení trvá asi vteřinu. Když se od posledního uložení nic nezměnilo, řekne to a neudělá nic, takže zmáčknout ho dvakrát nevadí. Kdo ještě čte starou verzi, dozví se, že existuje novější, a jeho stránka se aktualizuje sama, takže nikdo nemusí vědět, co je to tvrdý refresh.
Když uložení selže, řekne proč. Obvykle za to může signer aplikace, která usnula: probuď ji, potvrď a zmáčkni Uložit znovu.
Každé uložení zůstává. Historie je vypíše všechna.
Obnovení staré verze nezahodí tu současnou. Stane se z ní další položka v seznamu, takže si to můžeš rozmyslet znovu.
Vrať se do publisheru, přihlas se stejným klíčem a zvol jinou cestu. Řekne ti, co už tam je.
Zvolit cestu, která je už obsazená, je něco jiného, a publisher to potichu neudělá.
Ani pak stará stránka nezmizí: nahrazení je nová verze, a historie verzí pořád drží to, co tam bylo předtím.
Tvoje stránka je na tvém npubu:
https://<your npub>.nsite.lol/
Ta adresa je tvoje, protože klíč je tvůj. Nikdo ti ji nepřidělil a nikdo ti ji nemůže vzít. Tutéž stránku ze stejných eventů servíruje víc gateway, takže když jedna nejede, změníš hostname a nic dalšího se nehne: nsite.lol, nosto.re, nwb.tf, nsite.run, nsite.cloud a shakespeare.to. Na nsite.run najdeš nejsrozumitelnější vysvětlení, co to nsite je, kdyby ses chtěl dozvědět, co je za tím.
CNAME namiř na svou npub subdoménu, ne na gateway samotnou:
blog.example.com. CNAME npub1….nsite.lol.
Gateway čte npub přímo z hostname, takže CNAME namířený jen na nsite.lol jí
samo o sobě neřekne, čí stránku servírovat. Když hostname, na který přišel dotaz, sám o sobě
není nsite label, gateway se řídí CNAME záznamem a npub vezme z toho, kam ukazuje.
To je ale jen směrování, a to je jen polovina úspěchu. nsite.lol má certifikát jen pro
*.nsite.lol. Na jakékoli jiné jméno odpoví TLS alertem unrecognized name
a nepošle žádný certifikát, takže prohlížeč, který chce https://blog.example.com,
se ke stránce vůbec nedostane. HTTPS na vlastním jméně znamená provozovat gateway sám.
Referenční implementace nechává TLS na Caddy, který vydává certifikáty za běhu. Nebo požádej
provozovatele gateway, kterou máš rád, ať tvoje jméno přidá do svojí.
Klíč si pořádně zazálohuj, protože je to celý web a neexistuje způsob, jak ho znovu vydat.
Návštěvníci od tebe nepotřebují nic. Publikovaná stránka je statické HTML a čte se i s vypnutými skripty, až na Nostr feedy, což je jediná věc, která se stahuje, když se stránka otevře.
Nic z toho, co děláš, není destruktivní. Každé uložení založí verzi a bloby jsou adresované vlastním hashem, takže žádná úprava nepřepíše bajty té starší.
A odejít můžeš, kdykoli chceš. Stránka je jeden HTML soubor: ulož si ho z prohlížeče, dej ho kamkoli jinam, a bude to pořád ta samá stránka.