Перейти к основному содержимому

Руководство преподавателю

Простое руководство для преподавателя по работе с системой документации


🟢 Зеленый — хорошо, 🔴 Красный крестик — плохо

После внесения изменений в файлы и их сохранения (коммита), GitHub автоматически запускает процесс сборки сайта.

Как проверить статус сборки:

  1. Откройте репозиторий на GitHub

  2. Перейдите во вкладку "Actions" (вверху страницы)

  3. Проверьте последний запуск:

    • Зеленая галочка = всё работает, сайт обновился успешно
    • Красный крестик = что-то пошло не так, сайт не обновился

Что делать, если появился красный крестик:

Обратитесь за помощью

Если вы видите красный крестик после внесения изменений, пожалуйста, не пытайтесь исправлять проблему самостоятельно. Это поможет избежать дополнительных сложностей.

Что сделать:

  1. Не вносите новые изменения — это может усугубить ситуацию
  2. Обратитесь за помощью:
    • Свяжитесь со старостой следующего потока
    • Обратитесь к технически подкованному студенту
    • Опишите, что было изменено перед появлением ошибки

Технические проблемы лучше решать вместе со специалистами, чтобы быстро восстановить работу сайта.


✏️ Редактирование материалов

Что можно редактировать, а что лучше не трогать

Для удобства работы и предотвращения технических проблем, рекомендуется редактировать только содержимое материалов, а системные настройки оставлять без изменений.

Можно свободно редактировать:

  • Весь текст после блока с тремя дефисами (---)
  • Заголовки, списки, параграфы
  • Примеры кода (если они есть в тексте)
  • Содержимое разделов и подразделов

⚠️ Рекомендуется не изменять:

  • Блок между тремя дефисами в начале файла — это системная информация, которая нужна для правильной работы сайта
  • Названия файлов — изменение может нарушить ссылки
  • Структуру папок — это может повлиять на навигацию

Пример правильного файла:

---
id: lab7
title: Лабораторная работа №7
slug: /labs/computer-organization/labs-sem7/lab7
---

# Лабораторная работа №7

[Здесь начинается текст, который можно редактировать]

## Цель работы

Изучение порта JTAG UART...

[Весь остальной текст можно править свободно]
Критически важно

Блок с тремя дефисами (---) в начале файла — это системная информация. Если его случайно изменить или удалить, сайт может не собраться.

Пожалуйста, не изменяйте:

  • Дефисы (---) в начале и конце блока
  • Пробелы в строках между дефисами
  • Содержимое между дефисами (строки с id:, title:, slug:)

Если этот блок был случайно изменен — сайт не соберется и появится красный крестик в Actions.

Как редактировать через веб-интерфейс GitHub:

  1. Откройте нужный файл (например, website/docs/computer-organization/labs-sem7/lab7.md)
  2. Нажмите иконку карандаша (✏️) в правом верхнем углу
  3. Прокрутите вниз мимо блока с дефисами
  4. Редактируйте только текст ниже этого блока
  5. Нажмите "Commit changes" внизу страницы
Совет

Если вы не уверены, можно ли что-то изменять, лучше прокрутите страницу вниз мимо блока с дефисами и редактируйте только основной текст документа.


💾 Данные в безопасности

Материалы всегда доступны

Даже если сайт временно не работает или перестал обновляться, все методички остаются в репозитории GitHub.

Где хранятся файлы:

Все файлы с методичками находятся в папке:

website/docs/

Как скачать файл напрямую:

  1. Откройте нужный файл на GitHub (например, website/docs/computer-organization/labs-sem7/lab7.md)
  2. Нажмите кнопку "Raw" (вверху справа)
  3. Файл откроется в браузере как обычный текст
  4. Сохраните через меню браузера (Ctrl+S или Cmd+S)

Альтернативный способ:

  1. Откройте папку с файлами на GitHub
  2. Нажмите на нужный файл
  3. В правом верхнем углу нажмите "Download" (если доступно)
  4. Или скопируйте содержимое вручную

Вывод: Даже в худшем случае (сайт полностью сломался) все данные остаются доступными в репозитории GitHub. Их можно скачать, скопировать или восстановить в любой момент.


Работа с листингами кода

Автоматическое скачивание листингов

Компонент DownloadListingsButton автоматически извлекает все листинги со страницы и упаковывает их в ZIP архив. Компонент автоматически определяет наличие листингов и показывается только если они найдены на странице.

Как это работает

  1. Компонент ищет все заголовки ### Листинг X на странице
  2. Для каждого листинга находит следующий code block
  3. Извлекает код и определяет имя файла из заголовка или описания
  4. Создает ZIP архив и предлагает скачать

Автоматическое добавление

Компонент добавляется автоматически на все страницы документации через swizzle компонента DocItem/Layout. Не нужно добавлять его вручную в MD файлы!

Компонент автоматически определит наличие листингов на странице и покажется только если они найдены. Если листингов нет, кнопка не отобразится.

Важно: Компонент работает автоматически для всех страниц. Не нужно импортировать или добавлять его в markdown файлы.

Параметры компонента:

  • buttonText - текст на кнопке (опционально, по умолчанию: "📦 Скачать все листинги")

Формат листингов

Для корректной работы компонента листинги должны быть оформлены следующим образом:

### Листинг 8
**Исходный файл программы hex_display.s**

```assembly
// код программы

Или с именем файла в заголовке:

```markdown
### Листинг 8. Текст программы JTAG UART.s

```asm
// код программы

**Требования:**
- Заголовок должен начинаться с `### Листинг` и содержать номер
- Code block должен следовать сразу после заголовка или описания
- Язык программирования определяется автоматически из класса code block

#### Версионирование и откат изменений

**Важно:** Все изменения листингов должны быть закоммичены в git для возможности отката. Система версий основана на истории git коммитов markdown файлов.

**Откат к предыдущей версии:**

```bash
# 1. Найти нужный коммит
git log --oneline website/docs/computer-organization/labs-sem7/lab6.md

# 2. Посмотреть изменения в конкретной версии
git show <commit-hash>:website/docs/computer-organization/labs-sem7/lab6.md

# 3. Восстановить файл из конкретного коммита
git checkout <commit-hash> -- website/docs/computer-organization/labs-sem7/lab6.md

# 4. Проверить изменения и закоммитить
git add website/docs/computer-organization/labs-sem7/lab6.md
git commit -m "docs: откат листингов к версии от <дата>"

Просмотр истории изменений листингов:

# Список всех версий файла с датами
git log --format="%h %ad %s" --date=short website/docs/computer-organization/labs-sem7/lab6.md

# Просмотр изменений в конкретном коммите
git show <commit-hash> website/docs/computer-organization/labs-sem7/lab6.md

Предотвращение проблем:

  • Всегда делайте отдельный коммит при изменении листингов
  • Используйте понятные сообщения коммитов: docs: обновлен листинг 8 в lab6
  • Перед массовыми изменениями создайте ветку для тестирования
  • Проверяйте работу компонента скачивания после изменений листингов

Технические детали

Определение имени файла:

Компонент определяет имя файла в следующем порядке приоритета:

  1. Из заголовка листинга (если указано, например: "Листинг 8. Текст программы JTAG UART.s")
  2. Из описания после заголовка (например: "Исходный файл программы hex_display.s")
  3. Автоматически: listing-X.asm (где X - номер листинга, расширение по языку)

Поддерживаемые языки:

Компонент автоматически определяет расширение файла по языку code block:

  • asm, assembly.s или .asm
  • c.c
  • cpp, cxx.cpp
  • vhdl.vhd
  • verilog.v
  • И другие (по умолчанию .txt)

📞 Что делать при проблемах

Если возникли проблемы:

  1. Красный крестик в Actions → обратитесь за помощью к технически подкованному студенту или старосте
  2. Вопросы по редактированию → обратитесь к старосте или студенту, знакомому с системой
  3. Нужно добавить новый файл → лучше обратиться за помощью, чтобы избежать технических проблем
Полезно знать

Система создана для удобства работы с документацией. Если возникают технические вопросы, их лучше решать вместе со специалистами — это поможет быстрее найти решение и избежать дополнительных проблем.


📝 Краткая памятка

  1. Зеленая галочка = всё работает
  2. Красный крестик = ничего не трогать, обратиться за помощью
  3. ✏️ Редактировать только текст после блока с ---
  4. 💾 Данные всегда доступны в папке website/docs/

Связанные материалы


Последнее обновление: 2025