前言
使用个人博客也有一年多的时间,这一年多的时候踩了很多坑,也学到了很多知识。 这里分享一个系列教程:从零开始搭建个人博客,把我的经验分享在这里。
Shortcodes是什么
shortcode 可以理解为HTML模版,可以很方便的支持markdown里面写一行规定格式的代码,能用shortcode里面的模版替换成对应的HTML文件,然后就把这段HTML代码添加到编译之后的HTML文件中。
Hugo shortcode
//注:去掉@,我这里是为了防止自动编译
{@{< name parameter1 parameter2 >}}
然后在你的主题
的layouts/shortcodes
会自动找 名字为 name.html的文件,就把参数的值替换到html中,得到一个最终的html信息。
shortcode可以很方便的做复用,可以让你在每个markdown文件里面添加很少的内容,通常是一行代码,就能生成一个通用的HTML片段。
使用Shortcode,我们就能很方便的通过一行简单的代码来插入B站或者Youtube视频。
插入视频
我们就教大家怎么在Hugo中嵌入Bilibili视频和Youtube视频,这样当别人访问你的个人博客网站的时候,可以直接点击播放你插入的视频,还可以自动跳转到你的自媒体平台播放视频,来给你的自媒体平台引流。
1. 嵌入Bilibili视频
在hugo网站目录你使用的主题目录下themes/{your theme name}/layouts/shortcodes
中创建bilibili.html文件。
<!DOCTYPE HTML>
<html>
<head>
<!-- style 样式 是为了让网页上的视频框按比例显示而非固定的大小 -->
<style type="text/css">
.aspect-ratio {
position: relative;
width: 100%;
height: 0;
padding-bottom: 75%;
}
.aspect-ratio iframe {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
</style>
</head>
<body>
<div class="aspect-ratio">
<iframe
src="https://player.bilibili.com/player.html?bvid={{.Get 0 }}&page={{ if .Get 1 }}{{.Get 1}}{{ else }}1&high_quality=1&danmaku=0{{end}}"
scrolling="no"
border="0"
frameborder="no"
framespacing="0"
allowfullscreen="true"
>
</iframe>
<!-- src 中的 &high_quality=1&danmaku=0 设定了高清程度并默认屏蔽弹幕 -->
</div>
</body>
</html>
然后在你的bilibli的连接上找到BV号。 比如我的视频链接是: https://www.bilibili.com/video/BV1n8411K7zr/?vd_source=adec61d169fe18e7682f66c984380921
那么BV号就是:BV1n8411K7zr
在你的markdown文件里面添加这么一行
这样就能展示你的B站视频了:
点击去Bilibili观看
或者吐槽
会自动跳转到b站对应的视频链接继续观看,非常方便。
2. 嵌入Youtube视频
Hugo是自带Youtube视频的插入的,所以我们甚至不需要自己添加shortcode模板。
找到你的视频链接:
https://www.youtube.com/watch?v=kDQJF6Ngsi0
你只需要取到 v=xxxx里面的xxxx内容 也就是你只需要写
就会自动匹配Hugo自带的shortcode
模板,嵌入你的youtube视频。
如果你不想用hugo自带的shortcode模板,或者它无法正常插入视频,那么同样的方式在你使用的主题目录下themes/{your theme name}/layouts/shortcodes
中创建youtube.html文件。
<style>
.meta-media {
position: relative;
margin-bottom: 30px;
display: flex;
width: 100%;
height: 0;
padding-bottom: 75%;
}
.video {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
</style>
<div class="meta-media">
<iframe src="https://www.youtube.com/embed/{{ .Get 0 }}" frameborder="no" scrolling="yes" allowfullscreen="allowfullscreen" high_quality="1" framespacing="1" class="video" >
</iframe>
</div>
看一下效果:
结论
shortcodes
是不是很方便?让你在博客里面只需要写上一行代码就可以自动链接到B站或者Youtube,可以非常方便的引流。赶快在你的个人博客加入shortcodes添加B站和Youtube视频吧。能大大提高你的B站和Youtube视频的站外曝光率。