Hugo. Шаблон для научных работников

  • Тема Hugo Academic CV Theme.
  • Бывшая тема Wowchemy.
  • Бывшая тема Academic.
Содержание

1 Информация

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/v5
    
    или config/_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.

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_
    

4 Элементы шаблонов Wowchemy

5 Типы контента Wowchemy


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие