Next主题优化-内置tags篇
目标:美化博文
背景
发布博客有段时间了,而且陆陆续续写了一些文章,但页面样式都比较简单,只是单一的MarkDown语法,难道是Hexo + Next + MarkDown只能写出简单样式的文章?有点不相信,于是去Next官方。看了一些使用文档,查看了***内建标签***,原来Next可以让简单样式的文章可以变得那么好看,总结了一下分享出来。
前言
Next主题使用的***内置tag***,官方都已经写好js,直接使用对应的语法糖加入到文章中,就可以实现多样式、多功能的效果。下面分别说明了一下本人博客Hexo+Next的版本,如果有加入对应tag没有效果的,可以留言给我,一起交流一起学习。
Next主题内置tag样式都是本人经过实践得出,原创之作,欢迎大家进行转载。
版本介绍
| id | name | version | remark |
|---|---|---|---|
| 1 | Hexo | v3.8.0 | 系统版本 |
| 2 | NextT.Pisces | v7.0.1 | 主题版本 |
内置tag文件位置:blog/themes/next/scripts/tags。
Tags
内置tags的js文件一共有12个,在这里我只讲解本人实践的tag。
功能
提供了一个tabs页样式标签,可以进行切换。
代码
1 | |
配置
打开Next配置文件:blog/theme/next/_config.yml,搜索tabs,更改代码如下:
1 | |
示例
1 | |
语法糖
- tabs-endtabs 是tab tag语法糖。
- tab-endtab 是tabs里一个完整的tab,多个tab只需要更换标题、内容即可。
功能
文本居中、引用样式。
代码
1 | |
语法糖
- cq-endcq 是cq tag语法糖。
- cq与centerquote等价。
功能
内置note标签。
代码
1 | |
配置
打开Next配置文件:blog/theme/next/_config.yml,搜索Note tag,更改代码如下:
1 | |
示例
default
提示块标签
primary
提示块标签
语法糖
- note-endnote 是cq tag语法糖。
- 样式:default、primary、success、info、warning、danger,示例中我只展示了2种。
功能
内置label标签。
代码
1 | |
default primary success示例
info warning danger
语法糖
1 | |
功能
内置button标签。
代码
1 | |
示例
1 | |
语法糖
- btn 是btn tag语法糖,不需要加endbtn标识结束。
- 这个标签需要4个参数: url地址、button文本内容、button icon、button title。
- 第四个参数我试了,没什么效果,有了解的小伙伴欢迎留言。
- 这个按钮的样式跟Next主题样式一致,因为按钮样式本人优化过,所以在示例中的button与Next默认样式不一致。
- 说明button需要4个参数,有兴趣的可以查看:blog/themes/next/scripts/tags/button.js
1 | |
- btn与button等价。
功能
外链街功能。
代码
1 | |
示例
1 | |
语法糖
- exturl 是exturl tag语法糖,不需要加endexturl标识结束。
- 看js文件,这个标签需要5个参数: url地址、url文本内容、urltitle、url item、0、结束位置,其中url文本内容是个列表。
- 说明button需要4个参数,有兴趣的可以查看:blog/themes/next/scripts/tags/exturl.js
1 | |
- exturl与extlink等价。
特殊说明
在md文档中写完此标签,怎么重启,刷新,发现外链都不管用,研究了好一会儿,我在这里就不买官司了,直接看解决方法:
- 打开Next主题的配置文件,搜索exturl
- 更改代码如下
1 | |
- 重新启动服务 && 刷新。
功能
全像显示图片。
代码
1 | |
示例
1 | |
语法糖
- fi 是fullimage tag语法糖,无对应的end结束。
- fi与fullimagee等价。
- 我试了几个发现这个fi tag与正常*imag标签没什么区别,上面示例代码中给出了,效果图是一样的。
功能
多格局显示图片。
这里不做简述,请查看博文:hexo博文展示并排等多样式图片
功能
引用html文件,是把部分html代码单独写在一个html文件里面,通过tag标签把文件引入的语法,需要可以看最下面的官方说明。
功能
通过pdf tag标签把pdf文件引入页面中。
代码
1 | |
配置
- 安装theme-next-pdf
1 | |
打开Next配置文件:blog/theme/next/_config.yml,搜索pdf,更改代码如下:
1 | |
- 新建目录,如果想要把文件单独存放一个目录,那么需要在blog/public目录下新建目录;如果不想新建,可以把文件放在blog/public/images目录下,这个目录是单独用来存放站点图片之用的目录。
- 在pdf tag,参数的路径写上上面新建的。
示例
{% pdf /publicfiles/PythonStudy.pdf %}
语法糖
- pdf 是pdftag语法糖,无对应的end结束。
建议:
建议少用此标签,因为页面如果加载大文件会很慢。
功能
用了好几个翻译都解释“美人鱼”,但是实现的效果类似于word、excel、ppt里面的架构图,通过mermaid tag标签把架构图引入页面中。
代码
1 | |
配置
- 打开Next配置文件:blog/theme/next/_config.yml,搜索mermaid,更改代码如下:
1 | |
关于架构图的样式取决于theme参数,每个样式我都试了一下,还是forest最漂亮。
示例
1 | |
语法糖
- mermaid-endmermaid 是mermaid tag语法糖。
- 例子我就采用官方的例子了,没自己去写,官方有好几种写法、样式,需要的请查阅官方资料。
功能
html对视频的引用。
代码
1 | |
配置
- 我在blog/public目录下新建了publicfiles一个目录用来存放上面pdf&&video用到的文件。
示例
1 | |
语法糖
- video 是video tag语法糖,无endvideo结束。
- 如果是引用视频,找到视频资源,直接写上url地址即可。
已解决问题
开启服务运用的是debug模式,方便进行调试,在启用的时候,发现服务报了好多WARNING,总结下来方便大家解决问题。
exturlandextlinktag will not longer be supported.
翻译出来就是将不再支持exturl和’extlink`的标记,在我的blog很少用到,用到的会用button tag进行代替。
Tabs block must have unique name!
找到tabs-endtabs内置标签,在tabs后面加上tab一个名字,而且要unique。
未解决问题
在文章编写过程中遇到了一些问题,先记录下来,以后解决在来修改。
- 在tab里面放```代码块```,不生效。
- button与exturl共存在同一页面,并启动exturl配置,发现button样式没了,可能是我自己瞎改button造成的原因,问题解决中。
学习
Next中文官方:http://theme-next.iissnan.com/tag-plugins.html
Next Tag官方:https://hexo.io/docs/tag-plugins.html
botton:https://theme-next.org/docs/tag-plugins/button/
note:https://theme-next.org/docs/tag-plugins/note/
tabs:https://theme-next.org/docs/tag-plugins/tabs/
cq:https://theme-next.org/docs/tag-plugins/
label:https://theme-next.org/docs/tag-plugins/label/
exturl:https://theme-next.org/docs/tag-plugins/exturl/
fullimage:https://theme-next.org/docs/tag-plugins/full-image
group-pictures:https://theme-next.org/docs/tag-plugins/group-pictures
pdf tag:https://theme-next.org/docs/tag-plugins/pdf
theme-next-pdf:https://github.com/theme-next/theme-next-pdf
mermaid:https://theme-next.org/docs/tag-plugins/mermaid/
video:https://theme-next.org/docs/tag-plugins/video
结束语
到这里,Next内置的tag都实践完毕,根据需要使用上述tags,给博文带来了不一样的视觉效果以及便利,欢迎大家转载,一起交流使用。
最好的开始就是从现在开始!!!