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