Hugo. Шаблон для научных работников
2021-07-02
·
3 мин. для прочтения
- Тема Hugo Academic CV Theme.
- Бывшая тема Wowchemy.
- Бывшая тема Academic.
Содержание
1 Информация
- Сайт: https://hugoblox.com/
- Репозиторий темы: https://github.com/HugoBlox/theme-academic-cv
- Репозитории вариантов тем: https://github.com/HugoBlox
- Репозиторий модулей тем: https://github.com/HugoBlox/hugo-blox-builder
1.1 На основе bootstrap
- До 2023 года включительно.
- Документация по сайту на bootstrap: https://bootstrap.hugoblox.com/
1.2 На основе tailwind
- С 2024 года.
- Документация: https://docs.hugoblox.com/
2 Обновление шаблонов Wowchemy
2.1 До версии 5.3
- Примечания до версии 5.3 находятся в блоге https://wowchemy.com/blog/.
- В файле go.modустановите необходимую версию (например,5.3), исправив строку:require ( github.com/wowchemy/wowchemy-hugo-modules/v5 v5.3.0 )
- Обновите пути к модулям в конфигурации в файле config/_default/config.yaml:илиmodule: imports:  - path: github.com/wowchemy/wowchemy-hugo-modules/wowchemy-cms/v5  - path: github.com/wowchemy/wowchemy-hugo-modules/wowchemy/v5config/_default/config.toml:[module] [[module.imports]] path = "github.com/wowchemy/wowchemy-hugo-modules/wowchemy-cms/v5" [[module.imports]] path = "github.com/wowchemy/wowchemy-hugo-modules/wowchemy/v5"
- Для использования с netlify:- Обновите HUGO_VERSIONвnetlify.tomlдо необходимой версии0.84.4.
 
- Обновите 
- Обновите модуль:- текущий релиз:hugo mod get -u
- текущая версия разработчика:hugo mod get -u ./...
 
- текущий релиз:
2.2 Общие рекомендации
- Текущую версию можно найти: - в файле themes/academic/data/academic.toml(если всё делалось очень давно);
- в файле go.mod:- точная версия (например, v5.0.0);
- версия сборки в форме v<dummy-version-number>-<date>-<build-number>.
 
- точная версия (например, 
 
- в файле 
- Отредактируйте файл - go.mod:- module my_website go 1.15 require ( github.com/HugoBlox/hugo-blox-builder/modules/blox-bootstrap/v5 v5.9.6 github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20231108141515-0478cf6921f9 github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-reveal v1.1.2 )- Вы настраиваете версию модуля в операторе require.
- Вместо версии- mainможно задать конкретную версию модуля (в формате- v5.x.y).
 
- Вы настраиваете версию модуля в операторе 
- Обновите пути модулей в файле - config/_default/module.yaml:- imports:  - path: github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify  - path: github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-reveal  - path: github.com/HugoBlox/hugo-blox-builder/modules/blox-bootstrap/v5
- Определите необходимую версию - hugo(- HUGO_VERSION) (возьмите из примечания к выпуску https://github.com/HugoBlox/hugo-blox-builder/releases).
- Проверьте, что локальная версия Hugo Extended имеет необходимую версию. 
- Последовательно примените любые критические изменения из соответствующих примечаний к выпуску. Если в релизе нет раздела Breaking Changes, то никаких изменений не требуется. 
- Обновите модули темы: - до последней официальной версии:hugo mod get -u
- до текущей версии в репозитории:hugo mod get -u ./...
 
- до последней официальной версии:
- После этого - mainв- go.modбудет заменена на конкретную версию.
- Если Вы обновляете совсем старую версию, Вам может быть проще создать новый сайт и перенести папку - content.
2.3 Миграция на tailwind
2.3.1 Общая информация
- Последний релиз на bootstrap вышел 2023-11-14.
- Далее релиз стал базироваться на tailwind.
- Сайт tailwind:
2.3.2 Основные изменения
- Первая страница - Вместо отдельных файлов-блоков в каталоге content/homeосуществлён переход к страницам типаlanding:- content/_index.md;
- content/experience.md;
- content/projects.md.
 
 
- Вместо отдельных файлов-блоков в каталоге 
- Публикации типа book - Hugo. Wowchemy. Book
- Тип публикации bookотсутствует.
- Вместо него следует использовать тип docs:type: docs
- Убран шорткод:
 
- Поиск - Теперь необходимо создать индекс поиска отдельно.
- Сначала сгенерим страницы сайта, потом создадим индекс поиска, после можно запустить hugo serverдля просмотра:hugo && \ npm_config_yes=true npx pagefind --site "public" --output-subdir ../static/pagefind && \ hugo server -D
 
3 Устранение проблем
3.1 Ошибка: нарушение безопасности
- После обновления до 0.91 возникла следующая ошибка при генерации сайта:hugo v0.91.0+extended linux/amd64 BuildDate=2021-12-22T12:45:46+03:00 VendorInfo=Gentoo ERROR render of "page" failed: execute of template failed: template: project/single.html:5:3: executing "project/single.html" at <partial "site_head" .>: error calling partial: "/home/dharma/work/blog/git/resources/hugo_cache/modules/filecache/modules/pkg/mod/github.com/wowchemy/wowchemy-hugo-modules/wowchemy/v5@v5.0.0-20211221220555-87f69f8c265e/layouts/partials/site_head.html:207:13": execute of template failed: template: partials/site_head.html:207:13: executing "partials/site_head.html" at <getenv "WC_POST_CSS">: error calling getenv: access denied: "WC_POST_CSS" is not whitelisted in policy "security.funcs.getenv"; the current security configuration is: [security] enableInlineShortcodes = false [security.exec] allow = ['^dart-sass-embedded$', '^go$', '^npx$', '^postcss$'] osEnv = ['(?i)^(PATH|PATHEXT|APPDATA|TMP|TEMP|TERM)$'] [security.funcs] getenv = ['^HUGO_'] [security.http] methods = ['(?i)GET|POST'] urls = ['.*']
- Необходимо добавить строчки в белый список для переменной среды WC_POST_CSS.
- Для config/_default/config.toml(в формате TOML):[security.funcs] getenv = [ "^HUGO_", "^WC_",]
- Для config/_default/config.yaml(в формате YAML):security: funcs: getenv:  - ^HUGO_  - ^WC_
