从实际 post 内容中添加部分内容
Add partials from the actual post content
我以此为模板:
{{ 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 模板。
Hugo 中可以实现这样的功能吗?谢谢
是的,您可以使用 printf 函数来执行此操作。试试这个:
{{ partial (printf "ui_components/%s" .Params.ui_component) . }}
以及对应的前题:
+++
ui_component = "barchart_content2.html"
+++
请注意,我已将您的 ui-component
变量更改为 ui_component
,因为 Hugo 变量名称中不允许使用连字符。
我以此为模板:
{{ 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 模板。
Hugo 中可以实现这样的功能吗?谢谢
是的,您可以使用 printf 函数来执行此操作。试试这个:
{{ partial (printf "ui_components/%s" .Params.ui_component) . }}
以及对应的前题:
+++
ui_component = "barchart_content2.html"
+++
请注意,我已将您的 ui-component
变量更改为 ui_component
,因为 Hugo 变量名称中不允许使用连字符。