Попередній локальний перегляд змін
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, що може бути корисним для налагодження.
Примітка:
Наведені нижче команди використовують Docker як стандартний контейнерний рушій. Щоб змінити це налаштування, встановіть змінну середовища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або закрийте вікно терміналу.
Усунення несправностей
error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo
version Hugo постачається у двох наборах бінарних файлів з технічних причин. Поточний вебсайт працює виключно на основі версії Hugo Extended. На сторінці випуску знайдіть архіви з назвою, що містить слово extended. Щоб підтвердити, запустіть hugo version і знайдіть слово extended.
Усунення несправностей macOS через занадто велику кількість відкритих файлів
Якщо ви запускаєте 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.
Unable to find image 'gcr.io/k8s-staging-sig-docs/k8s-website-hugo:VERSION' locally
Якщо ви запускаєте 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.