project/actualizer
NodeJS-проект для скрипта актуализации контента Яндекс.Практикума.
Установка
- Убедитесь, что у вас установлен NodeJS. Если не установлен, то на MacOS его можно установить через Homebrew:
brew install node
-
Переходим в папку проекта
actualizerи выполняем командуnpm install, чтобы установить все необходимые зависимости для работы. -
Готово! Теперь можно запускать юнит-тесты с помощью
npm test.
Важные замечания по использованию скрипта
У скрипта актуализации есть ряд важных ограничений, про которые нужно знать при использовании. Учитывайте эти ограничения при использовании, чтобы не потерять часть текста в репозитории.
-
Всегда внимательно сверяйте контент, который был до вашего обновления. Скрипт актуализации не идеален, он может не распарсить какие-то неизвестные кусочки, а это может привести к тому, что в репозитории окажется некорректная версия текста.
-
Парсинг кода сниппетов ограничен. Дело в том, что при отображении на Платформе сниппет помещается в специальный скроллящийся контейнер, который подгружает код по мере скролла. Это приводит к тому, что блоки со сниппетами могут распарситься не полностью. Надо внимательно за этим следить, не терять строчки кода при переносе их с Платформы.
-
Парсинг квизов с одиночным ответом (и иногда парсинг квизов со множественным выбором) может приводить к некорректному переносу текста: дело в том, что при выборе варианта ответа в HTML-разметке страницы на Платформе окажется поясняющий текст только для ВЫБРАННОГО варианта ответа, а не для всех. Это мог бы исправить редактор, заливающий текст квиза на Платформу, однако это не всегда красиво выглядит. Поэтому при переносе текста в репозиторий надо следить за тем, чтобы не пропали пояснения к вариантам ответа.
-
Парсинг квизов-макарон в принципе возможен только на уровне парсинга текста в двух колонках. В HTML-разметке не хватает информации о том, какие ответы являются правильными и как они связаны между собой. Поэтому проще синхронизировать эти тексты руками.