Files

project/actualizer

NodeJS-проект для скрипта актуализации контента Яндекс.Практикума.

Установка

  1. Убедитесь, что у вас установлен NodeJS. Если не установлен, то на MacOS его можно установить через Homebrew:
brew install node
  1. Переходим в папку проекта actualizer и выполняем команду npm install, чтобы установить все необходимые зависимости для работы.

  2. Готово! Теперь можно запускать юнит-тесты с помощью npm test.

Важные замечания по использованию скрипта

У скрипта актуализации есть ряд важных ограничений, про которые нужно знать при использовании. Учитывайте эти ограничения при использовании, чтобы не потерять часть текста в репозитории.

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

  • Парсинг кода сниппетов ограничен. Дело в том, что при отображении на Платформе сниппет помещается в специальный скроллящийся контейнер, который подгружает код по мере скролла. Это приводит к тому, что блоки со сниппетами могут распарситься не полностью. Надо внимательно за этим следить, не терять строчки кода при переносе их с Платформы.

  • Парсинг квизов с одиночным ответом (и иногда парсинг квизов со множественным выбором) может приводить к некорректному переносу текста: дело в том, что при выборе варианта ответа в HTML-разметке страницы на Платформе окажется поясняющий текст только для ВЫБРАННОГО варианта ответа, а не для всех. Это мог бы исправить редактор, заливающий текст квиза на Платформу, однако это не всегда красиво выглядит. Поэтому при переносе текста в репозиторий надо следить за тем, чтобы не пропали пояснения к вариантам ответа.

  • Парсинг квизов-макарон в принципе возможен только на уровне парсинга текста в двух колонках. В HTML-разметке не хватает информации о том, какие ответы являются правильными и как они связаны между собой. Поэтому проще синхронизировать эти тексты руками.