Как отобразить html-тег через условие if hugo?

#hugo #go-templates

#hugo #шаблоны go

Вопрос:

У меня есть код в движке шаблонов hugo, который должен добавить скрипт, если параметр в статье равен желаемому значению.

Передние статьи. Здесь мне нужен параметр header_class

 ---
title: "Replaced header"
header_class: "replaced-header"
---
  

Если header_class = «заменяет-заголовок», выведите код. Я попытался реализовать это так:

 {{ if isset .Params.header_class "replaced-header" }}
<script>
    let replacedHeader = document.querySelector('.replaced-header');
    window.onscroll = function() {
        let breakPoint = 100;
        let scroll = window.pageYOffset || document.documentElement.scrollTop;
        if(scroll > breakPoint) {
            replacedHeader.classList.add('replaced-header--scrolled');
        }
    };
</script>
{{ end }}
  

Код не работает. Как должно быть задано условие в этом случае?

Ответ №1:

Получил ответ на другом форуме, разместите его здесь. Любой из этих трех методов будет работать:

   {{ if isset .Params "header_class" }}
    {{ .Params.header_class }}
  {{ end }}

  {{ with .Params.header_class }}
    {{ . }}
  {{ end }}

  {{ with .Param "header_class" }}
    {{ . }}
  {{ end }}
  

Или вот так:

 {{ with $.Param "header_class" }}
{{ if ( eq . "replaced-header") }}
My script
{{ end }}
{{ end }}