@webdoky/yari-ports

3.17.3 • Public • Published

Порти й інша обв'язка з Yari для WebDoky

uk en

Що це?

Тут знаходиться бібліотека макросів (і деякої супутної логіки) для низькорівневої роботи з вмістом статей проєкту WebDoky. Всі вирази штибу {{jsxref}}, які зустрічаються в тексті — обробляються цим кодом.

Як з цим працювати

За потреби реалізувати новий макрос (чи поправити логіку старого), вам знадобиться:

  • Зрозуміти, який саме результат ви хочете отримати. Більшість макросів (за винятком навігаційних) продукують рядки звичайного необробленого HTML-коду, тож складнощів з цим бути не повинно.
  • Склонувати проект і встановити залежності
  • Використовуючи знання з першого пункту, написати перший тест, і запустити його в режимі відстежування
  • Написати логіку макроса до проходження тесту
  • Повторювати попередні два кроки аж до досягнення бажаного результату :)

Звісно, можна тестувати цю логіку одразу в роботі. Проте це потребує підняття в межах одного середовища трьох вмісту трьох різних репозиторіїв, які пов'язані між собою лише рядками залежностей в package.json. Це робить цикл зміна->результат страшенно довгим.

Чому так?

Макроси — це старий спадок з попередніх версій MDN WebDocs. Значна їх частина поступово виводиться з ужитку командою MDN WebDocs. Проте, оскільки проект налічує більше 10к статей, процес цей доволі повільний. Тому:

  • Ця логіка ізольована в окремий проект, щоб після відмови від макросів командою MDN, ми могли легко зробити те саме.
  • Логіка макросів, природно, буде значною мірою повторюватися і запозичуватися нами. Оскільки репозиторій mdn/yari має ліцензію Mozilla Public License (MPL), це накладає певні обмеження на наш код, в якому б містилися наші запозичення. Окремий репозиторій дає змогу фізично відділити код, і випускати його під окремою ліцензією, сумісною з MPL.

Readme

Keywords

none

Package Sidebar

Install

npm i @webdoky/yari-ports

Weekly Downloads

79

Version

3.17.3

License

MPL-2.0

Unpacked Size

1.5 MB

Total Files

254

Last publish

Collaborators

  • adriandecita