Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ jobs:
python-version: '3.12'
- run: pip install markdown pillow
- run: python scripts/build-site.py
- name: Structural tests
run: python scripts/test-site.py
- name: Verify outputs
shell: bash
run: |
Expand All @@ -25,7 +27,13 @@ jobs:
test -f docs/weeks/01.json
test -f docs/weeks/22.json
test -f docs/pages/projects.json
test -f giscus.json
test -d docs/d
ls docs/weeks/*.json | wc -l | grep -q 23
test "$(ls docs/d/*.html | wc -l)" -ge 140
grep -q 'giscus-container' docs/index.html
grep -q 'window.GISCUS' docs/index.html
python3 -c "import json; d=json.load(open('docs/weeks/01.json')); assert d.get('sections'); assert any(s['kind']=='day' for s in d['sections'])"

links:
runs-on: ubuntu-latest
Expand All @@ -36,3 +44,31 @@ jobs:
python-version: '3.12'
- name: Check markdown links
run: python scripts/check-links.py

unit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install markdown pillow
- name: Test week section split
run: |
python3 << 'PY'
import sys
sys.path.insert(0, "scripts")
from importlib.util import spec_from_loader, module_from_spec
from importlib.machinery import SourceFileLoader
loader = SourceFileLoader("build_site", "scripts/build-site.py")
spec = spec_from_loader(loader.name, loader)
mod = module_from_spec(spec)
loader.exec_module(mod)
data = mod.build_week_json("01", "HTML")
assert data["sections"], "no sections"
days = [s for s in data["sections"] if s["kind"] == "day"]
assert len(days) >= 7, days
assert all(s["html"].startswith("<h2") for s in data["sections"])
assert "sourcePath" in data
print("split ok:", len(data["sections"]), "sections,", len(days), "days")
PY
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,24 @@

Формат основан на [Keep a Changelog](https://keepachangelog.com/).

## [1.3.0] — 2026-08-01

### Added
- Уроки по дням на отдельных страницах (не вся неделя сразу) + prerender `/d/WW-D.html`
- Комментарии Giscus (GitHub Discussions) под каждой неделей
- GitHub-интеграции: live star count, Edit/Issue/Source, экспорт/импорт прогресса, clone

### Changed
- UI в духе Я.Практикум + Apple (frosted nav, pill CTA, lesson chrome)
- Навигация низa: предыдущий/следующий **день**, затем следующая неделя
- Фон: CSS mesh для Safari + облегчённый canvas для остальных

## [1.2.4] — 2026-08-01

### Changed
- Теория всех учебных дней (158) расширена до ~350–500 слов: ментальная модель, зачем нужно дальше, пример, типичная ошибка, связь с практикой
- Часы дня пересчитаны после расширения теории (`rebalance-weeks.py`)

## [1.2.3] — 2026-08-01

### Fixed
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<img src="https://img.shields.io/badge/длительность-22%20недели-3dd6c6?style=flat-square" alt="22 weeks" />
<img src="https://img.shields.io/badge/нагрузка-6--7%20ч%2Fдень-6eb5ff?style=flat-square" alt="6-7h per day" />
<img src="https://img.shields.io/badge/стек-full--stack-8b95a5?style=flat-square" alt="full-stack" />
<img src="https://img.shields.io/badge/версия-1.2.3-8b95a5?style=flat-square" alt="v1.2.3" />
<img src="https://img.shields.io/badge/версия-1.3.0-8b95a5?style=flat-square" alt="v1.3.0" />
</p>

---
Expand Down Expand Up @@ -134,6 +134,8 @@ flowchart TB

Исправления, новые задания и ссылки — через [Issues](https://github.com/krwg/web-roadmap/issues) и [Pull Requests](https://github.com/krwg/web-roadmap/pulls). См. [CONTRIBUTING.md](CONTRIBUTING.md).

Комментарии на сайте (Giscus) работают после установки [приложения giscus](https://github.com/apps/giscus) на репозиторий (Discussions включены, категория **General**).

---

## License
Expand Down
Loading
Loading