Перейти к содержанию

ЛР 1. Статический сайт на MkDocs

Тема: Создание и развертывание статического сайта на базе MkDocs с публикацией на GitHub Pages

Цель работы

  • Освоить процесс создания статического сайта с использованием генератора документации MkDocs.
  • Научиться организовывать структуру документации проекта (портфолио лабораторных работ).
  • Изучить базовые принципы работы с системой контроля версий Git и платформой GitHub.
  • Развернуть статический сайт с использованием механизма GitHub Pages на домене username.github.io.
  • Освоить базовую настройку темы оформления и конфигурационного файла mkdocs.yml.

Задание

  1. Создать публичный репозиторий на GitHub.
  2. Настроить GitHub Pages (публикация из каталога /docs ветки main).
  3. Клонировать репозиторий, создать виртуальное окружение, установить MkDocs.
  4. Создать сайт, настроить тему и навигацию.
  5. Создать структуру страниц: главная, об авторе, лабораторные работы.
  6. Выполнить сборку и публикацию.

Ход выполнения

Шаг 1. Создание репозитория

Создан публичный репозиторий qulin-ds.github.io на GitHub.

Шаг 2. Настройка GitHub Pages

В настройках репозитория (Settings → Pages) выбран источник: ветка main, каталог /docs.

Шаг 3. Настройка локального окружения

git clone https://github.com/qulin-ds/qulin-ds.github.io.git
cd qulin-ds.github.io
py -m venv venv
.\venv\Scripts\Activate.ps1
pip install mkdocs mkdocs-material

Шаг 4. Создание проекта MkDocs

mkdocs new source

Команда создала каталог source (переименован в src) с файлами mkdocs.yml и docs/index.md.

Шаг 5. Выбор и настройка темы

Выбрана тема Material for MkDocs по следующим причинам:

  1. Современный дизайн — Material Design обеспечивает чистый и профессиональный вид.
  2. Адаптивность — корректное отображение на мобильных устройствах и десктопе.
  3. Тёмная тема — встроенный переключатель светлой/тёмной схемы.
  4. Навигация — табы, боковое меню и кнопка «наверх».
  5. Расширения — подсветка синтаксиса кода, admonition-блоки, оглавления с якорями.
  6. Популярность — самая используемая тема для MkDocs с отличной документацией.

Шаг 6. Настройка конфигурации

Файл src/mkdocs.yml:

site_name: "Артем Мастеров  Портфолио"
site_url: https://qulin-ds.github.io/
site_dir: ../docs

theme:
  name: material
  language: ru
  palette:
    - scheme: default
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-7
        name: "Тёмная тема"
    - scheme: slate
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-4
        name: "Светлая тема"
  features:
    - navigation.tabs
    - navigation.sections
    - navigation.top
    - search.highlight

nav:
  - "Главная": index.md
  - "Об авторе": about.md
  - "1 семестр":
      - "Обзор": labs/sem1/index.md
      - ...
  - "2 семестр":
      - "Обзор": labs/sem2/index.md
      - "ЛР 1. Статический сайт MkDocs": labs/sem2/lab1.md

Шаг 7. Создание структуры страниц

src/docs/
├── index.md              # Главная страница
├── about.md              # Об авторе
└── labs/
    ├── sem1/             # Лабораторные 1 семестра
    │   ├── index.md
    │   ├── lab1.md ... lab11.md
    └── sem2/             # Лабораторные 2 семестра
        ├── index.md
        └── lab1.md

Шаг 8. Локальное тестирование

cd src
mkdocs serve

Сайт доступен по адресу http://127.0.0.1:8000 для предпросмотра.

Шаг 9. Сборка и публикация

mkdocs build -d ../docs
cd ..
git add .
git commit -m "feat: добавлена структура сайта и тема Material"
git push

Выводы

В ходе выполнения лабораторной работы были получены следующие навыки:

  1. Создание статического сайта с помощью генератора MkDocs.
  2. Настройка темы оформления Material for MkDocs с поддержкой тёмной темы.
  3. Организация иерархической структуры документации с навигацией по семестрам.
  4. Работа с Git: коммиты, push, ведение истории изменений.
  5. Публикация сайта через GitHub Pages из каталога /docs.

Сайт успешно развёрнут и доступен по адресу: https://qulin-ds.github.io/