TGI station



Назад

idec.talks :: Web Site Bundle (ревизия 1)
=========================================

subject: Web Site Bundle (ревизия 1)
14.12.2025 16:35
nnii (naste, 2)  
 
Изначально я хотел это сделать раньше и отдельно. Но решил наложить на транспорт ii, так как есть и готовые серверы и готовые каналы обмена.
Кроме того, сайты это обычные tar.bz2, и их можно скачать обычными клиентами/через веб-интерфейс.

WSB - это распределённая сеть обмена веб-сайтами. В качестве сервера используется любая ii-станция (иерархия эх wsb.).
В первой ревизии нет multipart-сообщений, поэтому размер бандла (запакованный в bz2) ограничен 45000 байт.

эха wsb.in.fl - (кумулятивный) список файллистов, метаэха. Чтобы отправлять переполнившиеся файллисты в архив. Содержит список типа:
a wsb.in.fl2025
wsb.in.fl2026
(a - это архивный список)

Подписка не совсем традиционно ii-шная, так как эха для каждого бандла определяется его спецификацией, и иерархия может быть какой угодно.
Выбирают прежде всего конкретные сайты из файллиста, а не подписываются на эхи с сайтами (хотя можно будет подписываться и на эхи и на иерархии эх)

> Публикация идёт в два сообщения:

> 1. Бандл, пишется в указанную при отправке эху. Формат сообщения:

to: wsb1
subj: wsb1/имяпроекта/ревизия

тэги(либо -) РазмерБандла Хэш(12символов) многословное описание (первые три пробела это разделитель полей тэги/размер/хэш

@base64:имяпроекта-ревизия.эха.tar.bz2
[закодированный бандл]

после его отправки клиент получает msgid этого бандла.

> 2. Запись в файллист (списки на загрузку в клиенте определяются по этой эхе)

to: wsb1
subj: wsb1/имяпроекта/ревизия

.эха ii://msgid тэги хэш о пи сание
(эха пишется без wsb, т.е. для эхи wsb.examples пишется .examples)

Клиент обрабатывает эху файллиста, и юзер может выбирать на загрузку конкретные сайты, или подписываться (на эхи, тэги или на что-нибудь ещё).
Межнодовый обмен основывается на этом же списке, потому что новые эхи могут создаваться с каждым сайтом.

В первой ревизии есть компактные фреймворки (они встроены в клиент, их не надо помещать в бандл, можно просто использовать):
chota.css picnic.css pure.css simple.css htmx.js alpine.js (все вместе в bz2 занимают 35 кб)

Плюс в эхе wsb.examples есть 8 (на текущий момент) шаблонов в стиле old school web (1.0), для основы своих сайтов (они дружественны даже к links).


Клиент(ы) и поддержка отображения сайтов на станции ring2 сейчас пишутся. NasteNa будет универсальным nnii/wsb клиентом.
--------------------------------------------------------------------------------