主题加一个新的短路代码
- 适用版本
- Hugo 0.146+
- 预计耗时
- 10 分钟
- 前置条件
- 会写一点 HTML,装好了 Hugo
目录
Hugo 的"短路代码"(shortcode)就是文章里能调用的小组件。这个主题自带十几个, 加一个新的只要三步。
第一步:写模板
新建 themes/hugo-theme-dayup/layouts/_shortcodes/我的控件.html:
<!--
Shortcode:我的控件
参数:
title:卡片标题(必填)
使用示例:
{{< 我的控件 title="示例标题" >}}
这里放正文内容,支持markdown
{{< /我的控件 >}}
-->
<div class="my-widget">
{{ .Get "title" }}
{{ .Inner }}
</div>
第二步:加样式
样式统一放在 assets/css/components/article.css(正文相关)里,
类名前缀跟控件名一致,避免和别处冲突。
第三步:在文章里用
{{< 我的控件 title="标题" >}}
里面的内容,支持 Markdown。
{{< /我的控件 >}}
几个实用技巧
.Get "参数名"取参数,.Inner取夹在中间的内容- 想让参数默认值兜底:
.Get "x" | default "默认值" - 需要把中间的内容当 Markdown 渲染:
.Inner | markdownify - 注释要写在模板html文件里,写清楚怎么用
写完在演示文章里试一遍——短路代码写错了 Hugo 会直接报错, 早发现总是比发布后才发现更好。