Files
jellybit/web/web.go
T
avandClaude Opus 4.8 4e2593ac31 Перенос дизайна в server-rendered веб-UI (web-ui)
Новая capability web-ui: презентационный перенос готового дизайна
(семантический HTML + единый jellybit.css, тёмная тема по настройке ОС)
в html/template без шага сборки.

- Встроенная (go:embed) отдача статики под /static с Cache-Control и
  cache-busting (?v=<hash> по содержимому css/js).
- Шрифты IBM Plex self-hosted (@font-face, cyrillic+latin), без CDN.
- Наколеночный менеджер зависимостей: вендор (htmx + шрифты) не хранится
  в репо (gitignore), идемпотентно добывается `task assets` по
  web/assets.manifest с проверкой sha256; task build/run зависят от assets.
- Общие партиалы: шапка, бейдж статуса (карта всех 14 состояний),
  виджет «файл источника → раскладка» (общий для review и download).
- Страницы: список с фильтром/поиском, ревью, новая страница просмотра
  загрузки (/download/{id}). deleted скрыт по умолчанию.
- Превью раскладки берётся из единой логики internal/layout
  (buildFileRows), без дублирования правил имён в шаблонах.
- Убраны meta-refresh и инлайн-стили; copyHash на vanilla с fallback
  на execCommand и честной индикацией (целевой деплой — HTTP LAN).

Вне scope (отдельный change): живые обновления прогресса и раздел
раздачи, клиентский режим ручной раскладки файл→серия (с Alpine.js).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 19:59:19 +03:00

15 lines
805 B
Go

// Package web несёт встроенные (embed) ресурсы веб-UI: HTML-шаблоны и статику
// (CSS, JS, шрифты, вендорные библиотеки). Бинарь самодостаточен — внешних
// ресурсов времени выполнения нет.
package web
import "embed"
// FS — встроенные ресурсы: templates/** (шаблоны и партиалы) и static/**
// (авторские css/js + вендор htmx/шрифты под static/vendor). Вендор в репо не
// хранится (gitignore); его добывает `task assets` по web/assets.manifest перед
// сборкой, поэтому `task build`/`run` зависят от `assets`.
//
//go:embed templates static
var FS embed.FS