Nsite, ktorý sa upravuje sám. Jeden HTML súbor na Nostri, ktorý sa sám upraví aj znovu zverejní.
Otvor stránku, prihlás sa svojím kľúčom a píš do nej. Dokument si serializuje vlastný DOM, výsledné bajty pošle na Blossom server ako jeden blob adresovaný obsahom a znovu zverejní nsite manifest podľa NIP-5A, ktorý naň ukazuje. Komukoľvek inému sa stránka načíta ako obyčajný statický dokument, už aj s tvojimi zmenami.
V tejto slučke nie je žiadny server, ktorý by si musel prevádzkovať. Manifest držia relaye, bajty držia Blossom servery a zvyšok spraví prehliadač. Vlastníctvo je pár kľúčov, takže to, kto smie túto stránku upraviť, nie je riadok v cudzej databáze.
Stránka si naklonuje vlastný DOM, upratie ho a serializuje celý dokument.
Bajty idú na Blossom server ako blob adresovaný vlastným sha256.
Nahraditeľný nsite event priradí ceste tento hash. Zverejniť ho znamená nasadiť.
Stránka, ktorú práve čítaš, je jedným z tých dokumentov. Beží na nej nsite-clay a ukladá sa rovnako.
Nsite je webhosting. Nie dlhé poznámky, ale celé HTML súbory. Nič viac za tým nie je.
nsite-clay k tomu pridáva jednu vec: stránka sa upravuje a aktualizuje sama, takže CMS sedí vnútri statického HTML, nie za ním.
Meníš DOM. Môžeš klikať po stránke a prepisovať ju, alebo si otvoriť
inšpektor DOM v prehliadači a zmeniť ju tam. Stránke je to jedno. Nová verzia sa nahrá na
tvoje Blossom servery a znovu sa zverejní jeden nahraditeľný event s tým, na ktorý Blossom
hash teraz ukazuje / alebo /about-us. Vykreslí ju hociktorý
nsite gateway.
Jeden atribút hovorí, komu súbor patrí, druhý označí, do čoho sa dá písať, a zvyšok spraví jeden script tag.
<!DOCTYPE html> <html lang="sk" autosave nc:owner="npub1…"> <head><meta charset="utf-8"><title>Poznámky</title></head> <body> <h1 editable="single-line">Moje poznámky</h1> <div editable> <p>Sem môžeš písať čokoľvek.</p> </div> <script src="/nsite-clay-c3ac5914.js"></script> </body> </html>
Ulož a otvor si súbor v textovom editore: tvoje slová sú priamo v HTML. Databázou je DOM, takže stav nemá kde inde byť.
Označ kontajner ako editable. Vlastníkovi sa z neho stane
formátovaný text, všetkým ostatným obyčajné HTML.
Enter začne nový odsek. Keď označíš text, vyskočí nad ním plávajúci panel a jeho prvý ovládač je ponuka blokov: odsek, nadpis 1 až 3, citát, blok kódu.
Klávesové skratky fungujú tak, ako čakáš, a # ,
- alebo > na začiatku riadka tiež.
Do súboru sa dostane taký kód, aký by človek napísal aj ručne. Panel s nástrojmi ani smetie, ktoré prehliadače pri úpravách vyrábajú, sa neukladá.
Šablóna nie je farebná schéma. Každá je malá aplikácia, ktorá je zhodou okolností jediný súbor: číta z relayov, má ovládanie a vo viacerých môže návštevník aj niečo urobiť. Stránka môže vyzerať hocijako, lebo pod ňou nie je nič, čo by určovalo, ako má stránka vyzerať.
Stena fotiek
Stovky obrázkov z jedného npubu na plátne, ktoré ťaháš a približuješ. Tri rozloženia, prepínateľné.
Zoznam odkazov
Linktree, ktorý upravuješ priamo na stránke. Pridaj odkaz, zmaž iný, nastav zap adresu.
Log kanála
Stránka, do ktorej stále pridávaš riadky. Prihlás sa a dole sa objaví okno na písanie.
Pozvánka na podujatie
Detaily dosť veľké, aby sa dali prečítať cez celú miestnosť, a kalendárový súbor na stiahnutie.
Textový súbor
Sedemdesiatdeväť znakov na riadok, monospace a ASCII čiary, v tvare starých zinov.
Nízka váha
Systémové fonty a zo všetkého ostatného čo najmenej. Zmeria a vypíše vlastnú prenosovú váhu.
Pod jednorazovým kľúčom je zverejnený živý dokument a ten kľúč je verejný naschvál. Otvor ho, stlač Prihlásiť sa, vlož nsec a uprav stránku. Tvoje uloženie prepíše ozajstný dokument všetkým.
Tú stránku môže prepísať hocikto, takže čokoľvek tam nájdeš, sú zvyšky po iných. Kľúč, na ktorom ti záleží, nikdy nevkladaj do stránky, ktorú si nezverejnil ty sám.
Prvú verziu zverejní CLI. Potom sa stránka ukladá sama a k terminálu sa vrátiš len kvôli zmenám, ktoré urobíš mimo prehliadača.
# vytvorí kostru stránky a vygeneruje k nej kľúč npx nsite-clay init mysite # zverejní ju npx nsite-clay deploy mysite --sec=nsec1… # alebo nechaj kľúč mimo tohto počítača a podpisuj cez bunker npx nsite-clay deploy mysite --bunker="bunker://…"
Stránka pristane na https://<npub>.nsite.lol/. Pomenované
stránky dostanú vlastnú subdoménu, každé uloženie založí trvalú verziu s vlastnou URL a tá
istá stránka beží cez ľubovoľný NIP-5A gateway, takže na jeden z nich stačí nasmerovať
CNAME a máš vlastnú doménu.
Súbory sa zverejňujú na cestách, ktoré nesú hash ich obsahu, a každý dokument sleduje vlastný manifest a sám sa načíta znova, keď sa objaví novšia verzia. Nikto nemusí vedieť, čo je tvrdý refresh.
Väčšinu stránok, ktoré takto vzniknú, nepostaví človek ručne, ale agent, a tak preňho projekt rovno pribaľuje návod. Nasmeruj naň svojho agenta a povedz mu, akú stránku chceš.
Je v ňom, na čo sa ťa má spýtať, ako vybrať a prerobiť šablónu, ako stránku
dostať online cez vzdialený signer namiesto holého kľúča, aj tá hŕstka vecí, čo sa
pokazia. Dokumentáciu odkazuje, neprepisuje ju, a v projekte postavenom na nsite-clay
poslúži ako AGENTS.md.
Gateway nájde tvoj manifest a vydá súbory. Všetky čítajú tie isté eventy, takže stránka nie je viazaná na žiadny z nich. Keď jeden nejde, vymeníš hostname.
npm run devnet rozbehne
jeden na notebooku.