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

У меня есть это как мой шаблон:

{{ partial "header.html" . }}
<div style="padding-top:50px"></div>


<div class="grid">
    <div style="background-color: #fce473; padding: 10px" class="{{ .Params.left_col_size }}">

        <h1>left</h1>

        <div class="grid">

            <div id="content2"></div>

            {{ partial "ui-components/barchart_content2.html" }}

        </div>

    </div>
    <div style="background-color: #7bbf51; padding: 10px" class="{{ .Params.right_col_size }}">
    right
    </div>
</div>


{{ .Content }}

{{ partial "footer.html" . }}

который успешно загружает частичный "ui-components/barchart_content2.html".

Однако то, что я действительно хочу, это что-то вроде этого:

....
<div id="content2"></div>
  {{ partial "ui-components/{{ Params.ui-component }}" }}

....

а затем в содержании сделайте следующее:

+++
  ....
  ui-component = "barchart_content2.html"

+++

так что редакторы контента могут выбирать, какой фрагмент отображать, не касаясь шаблона html.

Возможно ли что-то подобное в Гюго? Благодарность


person Zuriar    schedule 21.07.2017    source источник


Ответы (1)


Да, для этого вы можете использовать функцию printf. Попробуй это:

{{ partial (printf "ui_components/%s" .Params.ui_component) . }}

И соответствующий передний вопрос:

+++
  ui_component = "barchart_content2.html"
+++

Обратите внимание, что я изменил вашу переменную ui-component на ui_component, так как дефисы не допускаются в именах переменных Hugo.

person Jack Taylor    schedule 21.07.2017