Инструкция по использованию скрипта fix-mdx-errors.sh
📋 Описание
Скрипт автоматически исправляет следующие ошибки в Markdown файлах Docusaurus:
- CRLF → LF - конвертирует окончания строк из Windows формата в Unix
**<текст>**→`<текст>`- экранирует угловые скобки, которые MDX воспринимает как HTML теги<русский текст>→`<русский текст>`- экранирует все русские теги- Дублирующиеся frontmatter - удаляет лишние блоки frontmatter
** Заголовок **→## Заголовок- исправляет неправильные заголовки
🚀 Использование на Ubuntu сервере
1. Загрузка скрипта на сервер
# Копируем скрипт на сервер
scp fix-mdx-errors.sh admin@your-server:/home/admin/wiki-az-doc/
# Или создаем прямо на сервере
ssh admin@your-server
cd /home/admin/wiki-az-doc
nano fix-mdx-errors.sh
# Вставляем содержимое скрипта и сохраняем
2. Делаем скрипт исполняемым
cd /home/admin/wiki-az-doc
chmod +x fix-mdx-errors.sh
3. Запуск скрипта
Проверка без изменений (dry-run):
# Проверить все .md файлы в текущей директории
./fix-mdx-errors.sh --dry-run
# Проверить конкретную директорию
./fix-mdx-errors.sh docs/ --dry-run
# Проверить конкретный файл
./fix-mdx-errors.sh docs/1c-ut/chestnyi-znak/poln-instruks-chz/poln-instruks-chz.md --dry-run
Применение исправлений:
# Исправить все файлы в текущей директории рекурсивно
./fix-mdx-errors.sh
# Исправить конкретную директорию
./fix-mdx-errors.sh docs/
# Исправить конкретный файл
./fix-mdx-errors.sh docs/1c-ut/chestnyi-znak/poln-instruks-chz/poln-instruks-chz.md
# Подробный вывод
./fix-mdx-errors.sh docs/ --verbose
4. Пересборка проекта
После исправления ошибок:
# Очищаем кэш
npm run clear
# Пересобираем
npm run build
# Или через Docker
sudo docker compose -f docker-compose.production.yml up -d --build
📊 Примеры вывода
Dry-run режим:
╔══════════════════════════════════════════════════════════╗
║ Скрипт исправления ошибок MDX в Markdown файлах ║
║ для Docusaurus ║
╚══════════════════════════════════════════════════════════╝
📁 Путь для обработки: docs/
📄 Найдено файлов: 15
🔧 Режим: Просмотр (dry-run)
🔍 Будет исправлен: docs/1c-ut/chestnyi-znak/poln-instruks-chz/poln-instruks-chz.md
- CRLF → LF
- Экранированы угловые скобки <>
============================================================
📊 Статистика:
Всего файлов: 15
Исправлено: 1
Чистых файлов: 14
Применено исправлений: 2
============================================================
💡 Запустите без --dry-run для применения исправлений:
python3 fix-mdx-errors.sh docs/
Режим исправления:
📁 Путь для обработки: docs/
📄 Найдено файлов: 15
🔧 Режим: Исправление
✅ Исправлен: docs/1c-ut/chestnyi-znak/poln-instruks-chz/poln-instruks-chz.md
============================================================
📊 Статистика:
Всего файлов: 15
Исправлено: 1
Чистых файлов: 14
Применено исправлений: 2
============================================================
✅ Скрипт завершил работу успешно!
🔧 Автоматизация в CI/CD
Можно добавить скрипт в pipeline для автоматической проверки:
#!/bin/bash
# pre-build-check.sh
echo "Проверка MDX файлов перед сборкой..."
# Запускаем проверку
./fix-mdx-errors.sh docs/ --dry-run
# Если есть ошибки, исправляем
if [ $? -ne 0 ]; then
echo "Найдены ошибки, исправляем..."
./fix-mdx-errors.sh docs/
fi
# Собираем проект
npm run build
⚠️ Важные замечания
- Всегда делайте backup перед запуском скрипта
- Используйте --dry-run для предварительной проверки
- Проверяйте изменения через git diff после исправления
- Тестируйте сборку после применения исправлений
🐛 Решение проблем
Ошибка: Python3 не найден
sudo apt update
sudo apt install python3
Ошибка: Нет прав на выполнение
chmod +x fix-mdx-errors.sh
Скрипт не нашел файлы
# Укажите правильный путь
./fix-mdx-errors.sh /home/admin/wiki-az-doc/docs/
📞 Поддержка
При возникновении проблем проверьте:
- Версию Python3:
python3 --version - Права на файл:
ls -l fix-mdx-errors.sh - Путь к файлам:
ls -la docs/**/*.md