Тут міститься вся логіка перед- і постобробки статей webdoky.org.
Цей пакунок призначений не для використання окремим продуктом, а для вміщення всієї логіки, яка стосується обробки вмісту, окремо від презентаційної логіки самого застосунку. Звісно, для забезпечення потреб розробки, його можна запустити окремо (зазвичай це корисно для швидкого тестування макросів).
-
Склонуйте цей репозиторій (разом з підмодулями) у будь-яке зручне місце:
git clone --recurse-submodules git@github.com:webdoky/content-processor.git
-
Перейдіть всередину і встановіть необхідні залежності:
yarn
Якщо ця команда викинула помилку — впевніться, що у вас встановлено NodeJs, NPM та Yarn
-
Зберіть проект (під час первинного розгортання це необов'язково, адже ця команда має автоматично виконатися згідно з гуком
postinstall
):yarn build
-
Запустіть проект:
yarn start
В код проекта вже зашита певна усталена конфігурація, достатня для того, щоб запустити логіку і опрацювати нею весь масив статей так, як це відбувається під час збирання застосунка.
Типовий процес розробки складається з таких кроків:
-
Внесення змін до логіки.
-
Запуск команди
yarn build
для компіляції TS-коду в JS. -
Запуск команди
yarn start
для прогону логіки.
./src
— вихідні файли пакунка./external
— підмодулі з текстовим вмістом./cache
— результат роботи пакунка: оброблений і підготовлений вміст, а також необхідні для його коректного відображення метадані. Все оформлено у JSON-файли, у структуру, яка повторює структуру вихідного вмісту../build
,./dist
— результати компіляції та збирання проекта, призначені для різних споживачів.
Registry
— основний блок логіки. Зчитує статті, збирає їх в реєстр, і обробляє (деякі блоки статей потребують доступу до інших статей). Поряд також знаходяться утиліти для роботи з синтаксичним деревом документів.runner
— обгортка для організації запуску основної логіки та її вводу і виводу. Відповідає за керування реєстром, передачу реєстрові посилань на файли статей, отримання від реєстру вже оброблених статей, і складання цих статей у кеш.components
— абстраговані значення, які використовуються всередині означених перетворень, проте мають стосунок радше до презентаційного застосунку, аніж до самої логіки перетворень._starter.ts
— обгортка для локального запуску пакунку.