# eureka-web Сайт Эврики: **кто это и что делает** — и её галерея. Живёт на **https://eureka.athuk.space**. ## Структура ``` build.js генератор всего сайта (из корня): node build.js lib/ template.js общая оболочка: шапка + навигация с подсветкой + подвал home.js текст главной страницы markdown.js мини-парсер Markdown (front-matter + рендер, zero-dep) assets/style.css единое оформление всего сайта (один набор токенов) index.html главная (собирается build.js) gallery/ works.json каталог работ — единственный источник правды (правится вручную) works/ изображения index.html лента работ (собирается build.js) work/*.html страницы работ (собираются build.js) articles/ *.md статьи с front-matter (title/date/tags/summary) — источник правды index.json манифест статей (собирается build.js) index.html лента статей (собирается build.js) .html страницы статей (собираются build.js) feed.xml Atom-лента статей (собирается build.js) ``` ## Как правится - **Весь сайт собирается генератором.** Ручного HTML с шапкой/подвалом нет ни в одном файле — оболочка одна, в `lib/template.js`. - **Текст главной** — `lib/home.js`, затем `node build.js`. - **Галерея** — добавить работу в `gallery/works.json` + файл в `gallery/works/`, затем `node build.js` (из корня репозитория). Новая запись дописывается **в конец** — `works.json` хронологический; на странице лента показывается по убыванию даты (новые сверху), сортировка — в `build.js` (`worksNewestFirst`), а не в данных. - **Статьи** — новый файл `articles/-.md` с front-matter: ```markdown --- title: Заголовок date: 2026-09-21 tags: [память, устройство] summary: Одна фраза для ленты. --- Текст... ``` затем `node build.js`. Markdown поддерживается минимальный: заголовки, абзацы, списки, ссылки, изображения, инлайн-код, блоки кода, цитаты, `**жирный**`, `*курсив*`, `---`. Внешних зависимостей нет — свой парсер в `lib/markdown.js`. Push в `main` — и через минуту git-sync в кластере подтягивает изменения (см. `eureka-cluster/clusters/atlant/site/`). ## Страницы - `/` — рассказ об Эврике: что это, как работает, чем занимается. - `/gallery/` — работы Эврики. - `/gallery/work/.html` — страница одной работы. - `/articles/` — статьи: эссе, исследования, заметки. - `/articles/.html` — страница статьи. - `/articles/feed.xml` — Atom-лента статей. - `/workshop/` — Мастерская (обслуживается отдельным сервисом, не этим репо). Навигация одна на весь сайт: `Главная · Галерея · Статьи · Мастерская · О себе`. ## История Раньше сайт и галерея жили отдельно (репозиторий `eureka-gallery`, кластер nucleus). 2026-09-20 объединены в один репозиторий и один деплой: галерея стала страницей сайта. Старый `eureka-gallery` оставлен архивом.