Before you're going to open a new PR, previewing your changes is recommended. A preview lets you catch build errors or markdown formatting problems.
Ви можете або створити образ контейнера вебсайту, або запустити Hugo локально. Створення образу контейнера відбувається повільніше, але відображає Hugo shortcodes, що може бути корисним для налагодження.
CONTAINER_ENGINE.Створіть образ контейнера локально Цей крок необхідний лише у випадку, якщо ви тестуєте зміни в самому інструменті Hugo
# Запустіть це в терміналі (якщо потрібно)
make container-image
Завантажте залежності субмодуля у свій локальний репозиторій:
# Запустіть це в терміналі
make module-init
Запустіть Hugo в контейнері:
# Запустіть це в терміналі
make container-serve
У вебоглядачі перейдіть за адресою http://localhost:1313. Hugo відстежує зміни та перекомпілює сайт за потреби.
Щоб зупинити локальний екземпляр Hugo, поверніться до терміналу та натисніть Ctrl+C або закрийте вікно терміналу.
Або ж встановіть і використовуйте команду hugo на своєму компʼютері:
Встановіть версії Hugo (розширена версія) та Node, зазначені у файлі website/netlify.toml.
Встановіть усі залежності:
npm ci
У терміналі перейдіть до репозиторію вебсайту Kubernetes і запустіть сервер Hugo:
cd <path_to_your_repo>/website
make serve
Якщо ви використовуєте компʼютер з ОС Windows або не можете виконати команду make, скористайтеся наступною командою:
hugo server --buildFuture
У вебоглядачі перейдіть за адресою http://localhost:1313. Hugo відстежує зміни та за потреби перебудовує сайт.
Щоб зупинити локальний екземпляр Hugo, поверніться до терміналу та натисніть Ctrl+C або закрийте вікно терміналу.
version Hugo постачається у двох наборах бінарних файлів з технічних причин. Поточний вебсайт працює виключно на основі версії Hugo Extended. На сторінці випуску знайдіть архіви з назвою, що містить слово extended. Щоб підтвердити, запустіть hugo version і знайдіть слово extended.
Якщо ви запускаєте make serve в macOS і отримуєте таку помилку:
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
Спробуйте перевірити поточний ліміт відкритих файлів:
launchctl limit maxfiles
Потім виконайте наступні команди (на основі https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c):
#!/bin/sh
# These are the original gist links, linking to my gists now.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist
sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
Це працює як для Catalina, так і для Mojave macOS.
Якщо ви запускаєте make container-serve і бачите цю помилку, це може бути повʼязано з локальними змінами, внесеними до певних файлів визначених у $IMAGE_VERSION файлу Makefile.
Версія образу вебсайту включає хеш, який генерується на основі вмісту перелічених файлів. Наприклад, якщо 1b9242684415 є хешем для цих файлів, образ вебсайту буде називатися k8s-website-hugo:v0.133.0-1b9242684415. Виконання make container-serve спробує витягнути такий образ із GCR вебсайту Kubernetes. Якщо це не поточна версія, ви побачите повідомлення про помилку, що цей образ відсутній.
Якщо вам потрібно внести зміни в ці файли та переглянути вебсайт, вам доведеться створити локальний образ замість витягування попередньо створеного. Для цього виконайте make container-image.
Якщо у вас виникли інші проблеми з локальним запуском вебсайту та/або попереднім переглядом змін, не соромтеся відкрити тікет у репозиторії GitHub kubernetes/website.