Hugo
可以通过模板文件很方便地添加短代码,紧接上一篇修改主题的文章,这里以 Diary
主题为例,记录添加短代码的过程。
准备工作
主题没有 custom.scss
文件,自定义方式可以将 ~/themes/diary/assets/scss/journal.scss
文件复制到站点根目录下 ~/assets/scss
中,在其中直接更改,也可以复制后,在末尾添加 custom.scss
引用,然后在自定义文件中修改,这里采用第二种方式,文中 ~
均代表博客根目录。
- 复制
journal.scss
文件到站点根目录下。 - 创建两个文件
shortcodes.scss
用来放置自定义样式。 - 在复制的
~/assets/scss/journal.scss
末尾添加代码引用自定义样式:
|
|
- 在
~/data
文件夹下创建SVG.toml
文件,用来存放短代码引用的图标,如果添加的短代码不涉及图标引用,可以不创建。 - 在
~/layouts/shortcodes/
目录下创建<shortcodes>.html
文件,用来存放短代码内容,<>
内表示短代码名称,后文会更换。
豆瓣条目
配置
新建 ~/layouts/shortcodes/douban.html
,放入下面的代码:
|
|
接下来在 ~/assets/scss/shortcodes.scss
中添加下面的样式代码:
|
|
使用
在文章中添加短代码,语法如下(将大括号中间的 \
去掉):
|
|
样式预览:
样式代码中第 94
行 body.night
是 diary
主题黑暗模式的定义,如果是其他的主题,需要做对应的修改。
Notice
配置
新建 ~/layouts/shortcodes/notice.html
写入如下内容:
|
|
在 ~/data/SVG.toml
中引入图标:
|
|
在 ~/assets/scss/shortcodes.scss
中添加样式代码:
|
|
使用
使用语法如下:
|
|
预览:
你好。
你好。
你好。
你好。
你好。
友链
配置
新建 ~/layouts/shortcodes/friend.html
文件,写入:
|
|
在 shortcodes.scss
中添加样式:
|
|
样式代码中 body.night
$color-accent
是 diary
主题黑暗模式的定义,如果是其他的主题,需要做对应的修改。
使用
|
|
时间线
配置
新建 ~/layouts/shortcodes/timeline.html
文件,写入:
|
|
在 shortcodes.scss
添加样式:
|
|
样式代码中 body.night
$color-accent
是 diary
主题黑暗模式的定义,如果是其他的主题,需要做对应的修改。
使用
|
|
块引用
配置
新建 ~/layouts/shortcodes/quote.html
文件,写入:
|
|
这里样式比较简单,直接写入了
HTML
文件中。
使用
|
|
预览:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
― A famous person, The book they wrote
按钮
配置
新建 ~/layouts/shortcodes/button.html
文件,写入:
|
|
在 shortcodes.scss
添加样式:
|
|
使用
使用方式如下:
|
|
参数说明
参数 | 说明 |
---|---|
link | href 参数,链接到的 URL 。 |
target | 默认为外部链接,指定 _self 后为当前页面打开。 |
download | 下载参数,指定后按钮点击行为变为下载,参数指定值为下载文件名称。 |