nsite-clay / návod
EN
ES
SK
CS
Toto je celá cesta od prázdnej karty v prehliadači k stránke, ktorá je online, so screenshotmi z každého kroku. Vytvoríš kľúč, zverejníš stránku, vložíš do nej obrázok a Nostr feed a uložíš ju. Netreba terminál ani registráciu.
Príkladom je stránka Nostr meetupu. Postavíš ju za asi desať minút a chýba jej ešte obrázok, program a cudzie posty, čo stačí na to, aby si pri nej vyskúšal väčšinu z toho, čo editor vie.
Stránka tu patrí kľúču, nie účtu. Nie je čo registrovať a nie je koho sa pýtať. Kľúč, ktorý stránku zverejní, je jediný, ktorý ju dokáže neskôr zmeniť, takže keď ho stratíš, stránka zamrzne presne v takom stave, v akom je.
Otvor publisher. Ponúka štyri cesty dnu.
nsec, zašifrovaný ncryptsec, alebo adresu
bunker://. Kľúč zostáva len v pamäti karty a nikam sa nezapisuje, ale vložený
kľúč je kľúč, ktorý sa dotkol webovej stránky, a preto je v poradí tretí.Stlač Ešte nemám kľúč a v prehliadači sa vygeneruje nový kľúč. Vidíš ho len raz. Nikam inam sa neposiela a nikto si z neho nenechá kópiu, takže keď zavrieš kartu bez toho, aby si si ho zapísal, je preč.
Oplatí sa stiahnuť si aj záložný súbor. Zapíše tvoj kľúč zašifrovaný heslom, ktoré si zvolíš, podľa NIP-49, takže súbor na disku už nie je ten kľúč sám osebe. Stratiť to heslo je rovnako zlé ako stratiť samotný kľúč, takže si niekam ulož aj heslo.
Neexistuje obnovenie. Nikto nedrží kópiu, ktorú by ti mohol poslať, pretože nikto kópiu nedrží vôbec. To je cena za to, že ho naozaj vlastníš. Kľúč si zapíš skôr, než zaškrtneš políčko.
Každá šablóna je hotová stránka, do ktorej píšeš navrch, nie prázdny rám. Sťahujú sa priamo z tejto stránky, takže sa nič nesťahuje odnikiaľ inde.
Tento návod používa tú, čo sa volá cms. Je poskladaná z blokov, ktoré pridávaš
a preusporadúvaš: nadpis, odsek, obrázok, video, rad kariet, Nostr feed. Bloky prijíma aj
väčšina ostatných šablón, každá si ich upraví po svojom: blok pridaný do zinu vyjde v monospace,
blok pridaný do terminálu vyjde ako ďalší príkaz. Dve to nerobia: galéria sa pri každom načítaní
prekreslí odznova zo živého feedu a log kanála iba pridáva riadky, zámerne.
Keď klikneš na šablónu, prejdeš rovno na ďalší krok. Ak nakoniec chceš inú, vrátiť sa dá cez očíslované kroky hore: stačí kliknúť na ktorýkoľvek, ktorým si už prešiel.
Nech si vyberieš ktorúkoľvek, ukážkový obsah šablóny ukazuje na jej autora: feed ťahá jeho poznámky, pätička odkazuje na jeho profil. Publisher všetko toto pri zverejnení nahradí tvojím kľúčom, takže stránka, ktorá pristane online, je tvoja od prvého bajtu.
Tvoja stránka býva na tvojom npube na hociktorom nsite gatewayi. Tu si vyberáš cestu vnútri nej. Samotné lomítko je titulná stránka.
Napíš /meetup a stránka skončí na
your-npub.nsite.lol/meetup. Cesty, ktoré nekončia na .html, sa berú
ako priečinky, presne tak ich totiž gatewaye vyhodnocujú.
Pod jedným npubom môže byť koľko stránok chceš a navzájom si neprekážajú. Publisher skontroluje, čo už ten kľúč zverejnil, a povie ti to skôr, než budeš pokračovať.
Stlač tlačidlo. Každý súbor sa nahrá na Blossom server, ktorý ukladá bloby podľa ich vlastného hashu. Podpísaný manifest potom povie, na aký hash ukazuje ktorá cesta, a druhý event zaznamená túto sadu hashov ako verziu, ku ktorej sa dá neskôr vrátiť.
Ak podpisuješ aplikáciou a nie vloženým kľúčom, požiada ťa o schválenie každého podpisu.
Tým je stránka online. Gatewayu môže chvíľu trvať, kým si všimne úplne novú stránku, takže ak tam hneď nie je, počkaj a obnov stránku.
Toto je posledný raz, čo potrebuješ publisher. Odteraz sa stránka upravuje a znovu zverejňuje sama.
CLI robí tú istú prácu pre každého, kto chce mať priečinok na disku. Nie je to kratšia cesta a nepotrebuješ ju, ale je tu pre prípad, že chceš súbory pod kontrolou verzií alebo stránku, ktorú postaví skript.
npx nsite-clay init mysite --template=cms --npub=npub1…
npx nsite-clay deploy mysite --sec=nsec1…
Radšej použi vzdialený signer než holý kľúč a podaj ho cez premennú prostredia, nie ako argument, pretože argument vidí každý proces na počítači:
NOSTR_BUNKER_URI="bunker://…" npx nsite-clay deploy mysite
Po prvom nasadení sa stránka ukladá sama, takže sa do terminálu vraciaš len pre zmeny, ktoré robíš mimo prehliadača.
Otvor adresu s #edit na konci a prihlás sa tým istým kľúčom. Bez
#edit dostane čitateľ stránku a nič, na čo by sa dalo kliknúť, presne to, čo má
vidieť každý ostatný.
Klikni do ľubovoľného textu a píš. Nadpisy, odseky, popisky aj názvy kariet sú na stránke len text, žiadne polia a žiadny formulár za tým nie je. Keď označíš pár slov, vyskočí malý panel na tučné písmo, odkazy a zoznamy.
Každý blok má v rohu lištu: presuň ho hore, presuň ho dole, duplikuj ho, zmaž ho, a tam, kde
blok drží obrázok alebo feed, aj ozubené koliesko, ktoré znovu otvorí výber. Medzi blokmi je
+, ktorý otvorí paletu.
Pre stránku meetupu: názov, pod ním dátum, úvodná veta, nadpis, odsek o tom, čo sa bude diať, a rad troch kariet s programom.
Ozubené koliesko obrázkového bloku otvorí výber. Pretiahni naň súbor, vyber si niektorý z už nahraných, alebo vlož adresu URL.
Pretiahnutý súbor sa nahrá na tie isté Blossom servery, ktoré držia stránku, pod tvojím kľúčom. Mriežka ukazuje všetko, čo ten kľúč nahral predtým, takže druhýkrát, keď budeš chcieť obrázok, stačia dve kliknutia.
Vyplň alt text. Je to to, čo namiesto obrázka dostane niekto, kto používa čítačku obrazovky, a stojí ťa to jednu vetu.
Video blok zoberie odkaz na YouTube alebo Vimeo, alebo súbor na nahratie.
Prehrávač sa načíta, až keď niekto stlačí play. Dovtedy čitateľov YouTube nesleduje a náhľad funguje ako odkaz aj tým, čo majú vypnutý JavaScript.
Blok Nostr feedu ukazuje posty od koho uvedieš. Je to dobrý spôsob, ako držať stránku aktuálnu bez toho, aby si sa jej dotýkal: posty sa načítajú vždy, keď čitateľ stránku otvorí, takže stránka je čerstvá presne tak, ako účet za ňou.
Stránka meetupu ukazuje účet Lunarpunk Košice, pretože práve v rámci tohto podujatia sa meetup koná. Vlož jeden alebo viac npubov a posty sa zobrazia, takže vidíš, čo sa chystáš ukázať.
Môžeš si vybrať krátke poznámky, dlhé články alebo obrázkové posty, zvoliť, koľko ich zobraziť, a niektoré pripnúť navrch. Každý podpis sa overuje priamo v prehliadači čitateľa, takže relay, ktorý by podsunul niečo, čo autor nenapísal, sa odhalí namiesto toho, aby sa zobrazil.
Kliknutie na post ho v predvolenom nastavení otvorí rovno na tvojej stránke. Feed ho
už mal stiahnutý pre kartu, takže sa otvorí bez čakania, a keď ho zatvoríš, stránka sa
nenačíta nanovo a zostane presne taká, ako bola. Ak chceš čitateľov radšej posielať do Nostr
klienta, to isté pole ponúka Yakihonne, Primal a njump, alebo vlastnú adresu URL s
{id} v nej.
Existuje aj blok na tvoj vlastný post. Ten post skopíruje priamo do stránky namiesto toho, aby ho ťahal odniekiaľ, takže sa dá prečítať bez relaya a bez JavaScriptu, no stále si pamätá, z ktorého Nostr eventu pochádza. Uprav post v hociktorom Nostr klientovi a kópiu je možné znova zladiť s originálom.
Stránka, ktorá vie ukázať tvoje posty, ich vie aj písať. Napísať v paneli s nástrojmi vypíše všetko, čo si doteraz zverejnil, a otvorí hociktorý článok na úpravu.
Poľom, ktoré treba vyplniť správne, je adresa. Cez ňu vedie odkaz na tvoj článok a opätovné zverejnenie pod tou istou adresou je spôsob, ako ho upraviť: oprav preklep, zverejni, a každá Nostr aplikácia ukáže na tom istom odkaze opravenú verziu, s pôvodným dátumom stále na nej.
Krátke poznámky fungujú rovnako, až na to, že sa po zverejnení už nedajú upraviť. Panel na to upozorní ešte pred zverejnením.
Posty a stránky sú oddelené. Napísanie poznámky nezmení stránku a uloženie stránky sa nedotkne postov.
Stlač Uložiť. Stránka sa serializuje, výsledok nahrá ako jeden blob a znovu zverejní manifest, ktorý naň ukazuje. Odteraz každý, kto stránku načíta, dostane tvoju verziu, ako obyčajný statický dokument, v ktorom sú zmeny už zahrnuté.
Uloženie trvá asi sekundu. Ak sa od posledného uloženia nič nezmenilo, povie to a neurobí nič, takže druhé stlačenie neuškodí. Kto ešte číta starú verziu, dozvie sa, že existuje novšia, a stránka sa mu obnoví sama, takže nikto nemusí vedieť, čo je tvrdý refresh.
Keď sa uloženie nepodarí, povie prečo. Najčastejšou príčinou je uspatá signer aplikácia: zobuď ju, potvrď a stlač Uložiť znova.
Každé uloženie sa uchová. História ich vypíše všetky.
Obnovením starej verzie tú súčasnú nezahodíš. Stane sa z nej ďalší záznam v zozname, takže si to môžeš znova rozmyslieť.
Vráť sa do publishera, prihlás sa tým istým kľúčom a vyber si inú cestu. Povie ti, čo tam už je.
Výber cesty, ktorá je už obsadená, je iná vec, a publisher to nespraví potichu.
Ani vtedy stará stránka nezmizne: nahradenie je nová verzia a história verzií stále drží to, čo tam bolo predtým.
Tvoja stránka býva na tvojom npube:
https://<your npub>.nsite.lol/
Tá adresa je tvoja preto, že kľúč je tvoj. Nikto ti ju nepridelil a nikto ti ju nezoberie. Tú istú stránku z tých istých eventov obsluhuje viacero gatewayov, takže keď jeden nejde, zmeníš hostname a nič iné sa nehýbe: nsite.lol, nosto.re, nwb.tf, nsite.run, nsite.cloud a shakespeare.to. Ak chceš pozadie, najzrozumiteľnejšie vysvetlenie toho, čo nsite vlastne je, nájdeš na nsite.run.
Nasmeruj CNAME na svoju npub subdoménu, nie na samotný gateway:
blog.example.com. CNAME npub1….nsite.lol.
Z hostname gateway číta práve npub, takže CNAME namierený len na nsite.lol samo osebe nepovie nič o tom, čí web má podávať. Keď hostname, ktorý dostal, npub priamo neobsahuje, gateway sleduje CNAME a npub si vezme z toho, kam ukazuje.
Toto rieši len smerovanie, a to je len polovica veci. nsite.lol má certifikát iba pre
*.nsite.lol a na každé iné meno odpovie TLS chybou unrecognized name
bez akéhokoľvek certifikátu, takže https://blog.example.com sa k stránke vôbec
nedostane. HTTPS na vlastnom mene preto znamená rozbehnúť si vlastný gateway: referenčné
nasadenie necháva certifikáty na Caddy, ktorý si ich vybavuje priebežne sám. Alebo popros
prevádzkovateľa gatewaya, ktorý používaš, nech tvoje meno pridá k tomu svojmu.
Kľúč si poriadne zálohuj, pretože je to stránka sama a nedá sa vydať odznova.
Čitatelia od teba nepotrebujú nič. Zverejnená stránka je statické HTML a dá sa čítať aj s vypnutým skriptovaním, okrem Nostr feedov, ktoré sú jediné, čo sa načítava až pri otvorení stránky.
Nič z toho, čo robíš, nie je ničivé. Každé uloženie založí verziu a bloby sú adresované vlastným hashom, takže žiadna úprava neprepíše bajty tej staršej.
Odísť môžeš, kedykoľvek chceš. Stránka je jeden HTML súbor: ulož si ho z prehliadača, daj ho hocikde inde a je to stále tá istá stránka.