flux — static site generator for engineering reference.
Built with sh + awk + ed. No dependencies. No AI. No bullshit.
flux turns Markdown files and CSV tables into a clean HTML reference site.
It uses only POSIX tools — no Python, no Node, no Ruby.
- Markdown → HTML (headings, lists, code blocks)
- CSV → HTML tables
- HTML templates with
<!-- FLUX_TITLE -->,<!-- FLUX_CONTENT -->markers - Sidebar injection via
ed - Incremental builds (
--forceto rebuild all) - Single component rebuild (
--component resistors)
git clone https://github.com/lexs-works/flux.git
cd flux
# Build the site
./flux
# Full rebuild
./flux --force
# Build only one component
./flux --component resistors
# Clean build directory
./flux --clean
# Preview locally
cd build && python3 -m http.server 8000Project structure
flux/
├── flux # the generator itself
├── src/
│ ├── components/ # .md + .csv files
│ ├── soldering/ # .md guides
│ └── assembly/ # .md guides
├── templates/
│ ├── component.html # template with sidebar
│ └── page.html # template without sidebar
├── assets/ # CSS, images, favicon
└── build/ # generated site
Example: component.md
# Resistors
The most fundamental component — understanding resistor types, codes, and applications separates a parts assembler from an engineer.Example: component.csv
Marking,Value,Package,Notes
101,100Ω,0603,3-digit: 10×10¹
472,4.7kΩ,0805,47×10²
1002,10kΩ,1206,4-digit: 100×10²- sh (Pure Bourne Shell)
- awk (any POSIX version)
- ed (standard UNIX editor)
One tool, one job.
- ed manipulates text
- awk parses data
- no frameworks
- no package managers
MIT — do whatever you want, just keep the original author's name.
flux — генератор статических страниц для технического справочника. Превращает Markdown и CSV в чистый HTML. Только sh + awk + ed. Никаких зависимостей.
- Markdown → HTML (заголовки, списки, блоки кода)
- CSV → HTML таблицы
- Шаблоны с маркерами
<!-- FLUX_TITLE -->,<!-- FLUX_CONTENT --> - Подстановка бокового меню через ed
- Инкрементальная сборка (--force для полной перегенерации)
- Сборка одного компонента (--component resistors)
git clone https://github.com/lexs-works/flux.git
cd flux
# Собрать сайт
./flux
# Полная пересборка
./flux --force
# Собрать только resistors
./flux --component resistors
# Очистить build/
./flux --clean
# Локальный просмотр
cd build && python3 -m http.server 8000flux/
├── flux # сам генератор
├── src/
│ ├── components/ # .md + .csv файлы
│ ├── soldering/ # руководства по пайке
│ └── assembly/ # руководства по сборке
├── templates/
│ ├── component.html # шаблон с боковым меню
│ └── page.html # шаблон без меню
├── assets/ # CSS, картинки, фавикон
└── build/ # сгенерированный сайт
Пример: component.md
# Резисторы
Самый фундаментальный компонент — понимание типов резисторов, кодов и областей применения отличает инженера от сборщика.Пример: component.csv
Маркировка,Значение,Корпус,Примечания
101,100Ω,0603,3-значный: 10×10¹
472,4.7kΩ,0805,47×10²
1002,10kΩ,1206,4-значный: 100×10²- sh (чистый Bourne Shell)
- awk (любая POSIX-версия)
- ed (стандартный редактор UNIX)
Один инструмент — одна задача.
- ed правит текст
- awk парсит данные
- Никаких фреймворков
- Никаких package.json
MIT — делайте что хотите, просто оставьте имя автора.