1- [ ![ Deploy to GitHub Pages] ( https://github.com/MinAleDm/StackMIREA/actions/workflows/deploy-gh-pages.yml/badge.svg )] ( https://github.com/MinAleDm/StackMIREA/actions/workflows/deploy-gh-pages.yml )
1+ [ ![ Deploy Docs to GitHub Pages] ( https://github.com/MinAleDm/StackMIREA/actions/workflows/deploy-gh-pages.yml/badge.svg )] ( https://github.com/MinAleDm/StackMIREA/actions/workflows/deploy-gh-pages.yml )
2+ [ ![ Node.js >= 20] ( https://img.shields.io/badge/Node.js-%3E%3D20-000000?logo=nodedotjs&logoColor=white )] ( https://nodejs.org/ )
23[ ![ Next.js 14] ( https://img.shields.io/badge/Next.js-14-000000?logo=nextdotjs&logoColor=white )] ( https://nextjs.org/ )
4+ [ ![ TypeScript 5] ( https://img.shields.io/badge/TypeScript-5-3178C6?logo=typescript&logoColor=white )] ( https://www.typescriptlang.org/ )
35
46# StackMIREA
57
6- StackMIREA - образовательная платформа и документационный хаб для IT-дисциплин МИРЭА. Проект вырос из набора треков Python/AI/Java в полноценную многораздельную docs-платформу с единым UX, статическим деплоем и поддержкой авторства материалов .
8+ StackMIREA - статическая образовательная docs- платформа для IT-дисциплин МИРЭА. Проект объединяет учебные треки, практики, ноутбуки и методические материалы в единый интерфейс с навигацией, поиском, страницами авторов и публикацией через GitHub Pages .
79
8- ## Масштаб проекта (март 2026)
9- - 19 учебных треков в едином формате.
10- - 67 страниц MD/MDX в ` content/ ` (включая разделы-индексы).
11- - 48 учебных материалов помимо индексных страниц.
12- - Крупные треки: ` java ` (26 страниц), ` ai ` (10), ` bigdata ` (9), ` python ` (6).
10+ ## Что сейчас есть в проекте
1311
14- ## Ключевые возможности
15- - Единый docs-интерфейс на Next.js App Router.
16- - Автосборка навигации и sidebar по структуре ` content/ ` .
17- - TOC, breadcrumbs и пагинация между материалами.
18- - Подсветка кода через Shiki и клиентская кнопка копирования.
19- - Семантический поиск ` Спроси StackMIREA ` по build-time индексу из ` content/ ` .
20- - Страница авторов с агрегацией публикаций по разделам.
21- - Ссылка ` Edit on GitHub ` на каждой странице.
12+ - 19 учебных треков в единой структуре.
13+ - 72 MD/MDX-страницы в ` content/ ` .
14+ - 53 отдельных учебных материала помимо индексных страниц.
15+ - Крупнейшие треки: ` java ` (26 страниц), ` ai ` (10), ` bigdata ` (9), ` python ` (6).
2216- Статическая публикация на GitHub Pages через GitHub Actions.
2317
24- ## Треки
18+ ## Ключевые возможности
19+
20+ - Docs-интерфейс на Next.js App Router со статическим экспортом в production.
21+ - Автосборка навигации, sidebar, breadcrumbs и пагинации по структуре ` content/ ` .
22+ - Рендеринг MDX-материалов с поддержкой callout-блоков и подсветкой кода через Shiki.
23+ - Страница ` Спроси StackMIREA ` с локальным семантическим поиском по build-time индексу.
24+ - Страница авторов с агрегированием публикаций по разделам.
25+ - Ссылки ` Edit on GitHub ` для быстрого перехода к редактированию материалов.
26+ - Разделение между исходным слоем ` docs/ ` и runtime-слоем ` content/ ` .
27+
28+ ## Технологии
29+
30+ - Next.js 14
31+ - React 18
32+ - TypeScript
33+ - Tailwind CSS
34+ - MDX через ` next-mdx-remote ` , ` remark-gfm ` , ` rehype-slug `
35+ - Shiki для подсветки кода
36+
37+ ## Структура контента
38+
39+ - ` docs/ ` - исходные материалы, которые редактируются вручную.
40+ - ` content/ ` - синхронизированный слой, который использует приложение.
41+ - ` npm run content:sync ` - переносит материалы из ` docs/ ` в ` content/ ` .
42+ - ` npm run search:build ` - собирает ` public/search-index.json ` для страницы поиска.
43+ - ` npm run prepare:content ` - выполняет синхронизацию и сборку поискового индекса.
44+ - ` npm run build ` автоматически запускает ` prepare:content ` через ` prebuild ` .
45+ - ` npm run dev ` автоматически запускает ` prepare:content ` через ` predev ` .
46+
47+ ## Учебные треки
48+
2549- ` python `
2650- ` ai `
2751- ` bigdata `
@@ -42,44 +66,31 @@ StackMIREA - образовательная платформа и докумен
4266- ` system-administration `
4367- ` project-management `
4468
45- ## Архитектура контента
46- - Исходные учебные материалы хранятся в ` docs/ ` .
47- - Скрипт ` npm run content:sync ` синхронизирует ` docs/ ` -> ` content/ ` .
48- - Во время ` npm run build ` синхронизация запускается автоматически (` prebuild ` ).
49- - Навигация, карточки разделов и статические страницы строятся из ` content/ ` .
50-
51- ## Tech Stack
52- - Next.js 14 (App Router, static export в production)
53- - React 18 + TypeScript
54- - Tailwind CSS
55- - MDX (` next-mdx-remote ` , ` remark-gfm ` , ` rehype-slug ` )
56- - Shiki
69+ ## Быстрый старт
5770
58- ## Live
59- - Production: ` https://minaledm.github.io/StackMIREA/ `
71+ Требование: ` Node.js >= 20 ` .
6072
61- ## Quick Start
6273``` bash
6374npm ci
6475npm run dev
6576```
6677
67- Open ` http://localhost:3000 ` .
78+ Локально проект будет доступен на ` http://localhost:3000 ` .
6879
69- Требование: ` Node.js >= 20 ` (см. ` engines ` в ` package.json ` ).
80+ ## Скрипты
7081
71- ## Scripts
72- - ` npm run dev ` — локальная разработка
73- - ` npm run build ` — production build (в production режиме экспортирует статический сайт в ` out/ ` )
74- - ` npm run start ` — локальный запуск собранного статического ` out/ ` на ` :3000 `
75- - ` npm run prepare:content ` — синхронизация ` docs/ ` и сборка поискового индекса
76- - ` npm run content:sync ` — синхронизация ` docs/ ` -> ` content/ `
77- - ` npm run search:build ` — генерация ` public/search-index.json ` для страницы ` Спроси StackMIREA `
78- - ` npm run lint ` — проверка ESLint
79- - ` npm run typecheck ` — проверка TypeScript
80- - ` npm run export ` — информационный скрипт (экспорт выполняется внутри ` npm run build ` )
82+ - ` npm run dev ` - локальная разработка.
83+ - ` npm run build ` - production build со статическим экспортом в ` out/ ` .
84+ - ` npm run start ` - локальный запуск собранной статической версии на ` :3000 ` .
85+ - ` npm run lint ` - проверка ESLint.
86+ - ` npm run typecheck ` - проверка TypeScript.
87+ - ` npm run prepare:content ` - синхронизация контента и сборка поискового индекса.
88+ - ` npm run content:sync ` - синхронизация ` docs/ ` -> ` content/ ` .
89+ - ` npm run search:build ` - генерация локального поискового индекса.
90+ - ` npm run export ` - информационный скрипт о static export.
91+
92+ ## Структура проекта
8193
82- ## Project Structure
8394``` text
8495app/
8596components/
@@ -94,34 +105,35 @@ styles/
94105```
95106
96107Ключевые директории:
97- - ` app/ ` - маршруты и страницы (главная, docs, authors).
108+
109+ - ` app/ ` - маршруты и страницы приложения.
98110- ` components/ ` - layout и UI-компоненты.
99- - ` docs/ ` - исходные материалы, которые редактируются вручную.
100- - ` content/ ` - синхронизированный слой, используемый рантаймом/билдом.
101- - ` resources/ ` - дополнительные датасеты и файлы для практик.
102- - ` scripts/sync-content.mjs ` - pipeline синхронизации контента.
111+ - ` docs/ ` - редактируемые исходные материалы.
112+ - ` content/ ` - контент, который читает приложение во время сборки и рантайма.
113+ - ` resources/ ` - дополнительные файлы, датасеты и артефакты практик.
114+ - ` scripts/ ` - служебные скрипты синхронизации и индексации.
115+
116+ ## Деплой
117+
118+ Сайт публикуется в GitHub Pages workflow [ ` deploy-gh-pages.yml ` ] ( ./.github/workflows/deploy-gh-pages.yml ) .
119+
120+ Что нужно в репозитории:
103121
104- ## Deployment (GitHub Pages)
105- Деплой выполняется GitHub Actions workflow:
106- - ` .github/workflows/deploy-gh-pages.yml `
122+ 1 . В ` Settings -> Pages ` выбрать ` Source: GitHub Actions ` .
123+ 2 . Пушить изменения в ветку ` main ` или запускать workflow вручную.
107124
108- Требования в репозитории:
109- 1 . ` Settings ` -> ` Pages `
110- 2 . ` Build and deployment ` -> ` Source: GitHub Actions `
125+ Production URL: ` https://minaledm.github.io/StackMIREA/ `
111126
112- После push в ` main ` публикуется обновленная статическая версия сайта.
127+ ## Как вносить изменения
113128
114- ## Contribution Flow
1151291 . Добавьте или обновите материал в ` docs/<track>/... ` .
1161302 . Запустите ` npm run content:sync ` .
117- 3 . Проверьте проект: ` npm run lint ` и ` npm run typecheck ` .
131+ 3 . Проверьте проект командами ` npm run lint ` и ` npm run typecheck ` .
1181324 . Откройте Pull Request.
119133
120- Для отображения автора материала можно указать в frontmatter поле ` author ` ( GitHub login или ссылка на профиль) .
134+ Для автора материала можно указать поле ` author ` во frontmatter: GitHub login или ссылку на профиль.
121135
122- ## Contributing
123- Issue и PR приветствуются. Для крупных изменений лучше сначала открыть issue с описанием идеи.
136+ ## Лицензии
124137
125- ## License
126- - Код проекта: MIT - see [ LICENSE] ( ./LICENSE ) .
127- - Контент сайта (документация, статьи, учебные материалы): CC-BY-NC-SA-4.0 - see [ CC-BY-NC-SA-4.0] ( ./CC-BY-NC-SA-4.0 ) .
138+ - Код проекта распространяется по лицензии MIT. См. [ LICENSE] ( ./LICENSE ) .
139+ - Контент сайта, статьи и учебные материалы распространяются по лицензии CC BY-NC-SA 4.0. См. [ CC-BY-NC-SA-4.0] ( ./CC-BY-NC-SA-4.0 ) .
0 commit comments