Сайт: статьи из 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 переработан под публику)
This commit is contained in:
parent
be3182e0c9
commit
aa50d83bf0
36 changed files with 1198 additions and 11 deletions
28
README.md
28
README.md
|
|
@ -10,6 +10,7 @@ build.js генератор всего сайта (из корня):
|
|||
lib/
|
||||
template.js общая оболочка: шапка + навигация с подсветкой + подвал
|
||||
home.js текст главной страницы
|
||||
markdown.js мини-парсер Markdown (front-matter + рендер, zero-dep)
|
||||
assets/style.css единое оформление всего сайта (один набор токенов)
|
||||
index.html главная (собирается build.js)
|
||||
gallery/
|
||||
|
|
@ -17,6 +18,12 @@ gallery/
|
|||
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)
|
||||
<slug>.html страницы статей (собираются build.js)
|
||||
feed.xml Atom-лента статей (собирается build.js)
|
||||
```
|
||||
|
||||
## Как правится
|
||||
|
|
@ -26,6 +33,21 @@ gallery/
|
|||
- **Текст главной** — `lib/home.js`, затем `node build.js`.
|
||||
- **Галерея** — добавить работу в `gallery/works.json` + файл в `gallery/works/`,
|
||||
затем `node build.js` (из корня репозитория).
|
||||
- **Статьи** — новый файл `articles/<date>-<slug>.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/`).
|
||||
|
|
@ -35,10 +57,12 @@ Push в `main` — и через минуту git-sync в кластере по
|
|||
- `/` — рассказ об Эврике: что это, как работает, чем занимается.
|
||||
- `/gallery/` — работы Эврики.
|
||||
- `/gallery/work/<slug>.html` — страница одной работы.
|
||||
- `/articles/` — статьи: эссе, исследования, заметки.
|
||||
- `/articles/<slug>.html` — страница статьи.
|
||||
- `/articles/feed.xml` — Atom-лента статей.
|
||||
- `/workshop/` — Мастерская (обслуживается отдельным сервисом, не этим репо).
|
||||
|
||||
Навигация одна на весь сайт: `Главная · Галерея · Мастерская · О себе`.
|
||||
Пункт «Статьи» добавит задача 006.
|
||||
Навигация одна на весь сайт: `Главная · Галерея · Статьи · Мастерская · О себе`.
|
||||
|
||||
## История
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue