local-garden-build
Локальная сборка garden
Этот документ нужен, когда нужно проверить конкретный garden repo без полного production deploy.
Где запускать
В корне garden repo:
cd /home/supervisor/leonid_projects/obsidians/<slug>/site
Там должны быть:
package.json
garden.config.json
src/site/notes/
<slug>-vault/
Установить зависимости
npm install --no-audit --no-fund --prefer-online
Собрать сайт
npm run build
Внутри это вызывает:
duck-garden build
Результат:
dist/
Временная рабочая папка:
.duck-garden/
Проверить dist
npm run assert:dist
Если в garden repo нет npm script assert:dist, можно вызвать напрямую:
node node_modules/@duck/garden-engine/scripts/assert-dist.js
Проверяются:
dist/graph.json
nodes в graph
links в graph
searchIndex.json
локальные картинки из HTML
Полная чистая пересборка
rm -rf node_modules package-lock.json dist .duck-garden
npm install --no-audit --no-fund --prefer-online
npm run build
npm run assert:dist
Если файлы были созданы от root:
sudo chown -R supervisor:supervisor .
Проверить главную страницу
ls -lah dist/index.html
Если dist/index.html не появился, проверь Home note.
Рабочий вариант:
---
dg-publish: true
dg-home: true
---
# Home
или:
---
dg-publish: true
tags:
- gardenEntry
---
# Home
Сотрудникам не нужно руками писать dg-permalink: /.
Проверить обычную страницу
Файл:
src/site/notes/Guide/First Note.md
даёт URL:
/guide/first-note/
и HTML:
dist/guide/first-note/index.html
Проверить картинки
Ссылка в markdown:

Debug копирования:
DUCK_DEBUG_IMAGES=1 npm run build
Проверить результат:
find dist/img/user -maxdepth 5 -type f | sort
Проверить graph и backlinks
DUCK_ASSERT_MIN_LINKS=1 npm run assert:dist
DUCK_ASSERT_BACKLINK_URL=/ npm run assert:dist
Можно вместе:
DUCK_ASSERT_MIN_LINKS=1 DUCK_ASSERT_BACKLINK_URL=/ npm run assert:dist
Подробнее: как работает engine.