Це генератор статичного вебстайту, збудований на базі NextJS, який відповідальний за функціонал, і зовнішній вигляд проєкту WebDoky.
За його вміст відповідає ось цей репозиторій, а для коректної навігації ми користуємося оригінальним репозиторієм MDN.
-
Склонуйте цей репозиторій (разом з підмодулями) у будь-яке зручне місце:
git clone --recurse-submodules git@github.com:webdoky/platform-next.git
-
Перейдіть всередину і встановіть необхідні залежності:
yarn
Якщо ця команда викинула помилку — впевніться, що у вас встановлено NodeJs, NPM та Yarn
-
Підготуйте конфігурацію проекта у файлі
.env.local
(файл локальної конфігурації NextJS). Для цього можна скористатися підготовленим прикладом у файлі.env.example
:mv ./.env.example ./.env.local
-
Перед збиранням власне застосунку слід окремо підготувати його вміст, це найбілш часозатратна операція. :
yarn pre-build
-
Запустіть проект:
yarn dev
Також можна одразу згенерувати готовий статичний вебсайт:
yarn build
Загалом тут збережена конфігурація команд типового NextJS-проекту.
-
./pages
— шаблони сторінок та документу -
./components
— файли компонентів застосунку -
./styles
— файли стилів застосунку -
./content
— підвантажувачі даних для самого застосунку -
./docs
— файли внутрішньої документації проекту webdoky.org -
./utils
— загальні функції та утиліти -
./pre-build
— тут зосереджена логіка, яка відповідає за підготовку вмісту для подальшого використання під час збирання застосунку. Зокрема, тут виконуються такі етапи:- Зчитування файлів статей, їхня обробка та збереження результату у файловому кеші
- Екстракція інтерактивних прикладів, збереження їх у вигляді окремих HTML-файлів
- Екстракція файлів зображень і збереження їх у вигляді, придатному для подальшого використання фреймворком
- ...та ін.
-
./public
— вміщує всі статичні файли проекту (включно також із тими, які створюються на етапі попередньої обробки вмісту). -
./external
— підмодулі з текстовим вмістом та частиною інтерактивних прикладів -
./cache
— тимчасовий файловий кеш, куди складаються результати виконання попередньої обробки вмісту.