hexo插入多媒体
📝注意:如果没有特别标注,本文内容都建立在未安装
hexo-abbrlink插件的前提下。
资源文件夹
全局资源文件夹
方法优劣:
-
✅操作便捷
-
❌难以对资源文件进行统一管理
文件层级:
1 | source |
比方说,如果你的 Hexo 项目中只有少量图片,那最简单的方法就是将它们放在 source/images 文件夹中。 然后通过类似于  的方法访问它们。
文章资源文件夹
个人更推荐此方法。
方法优劣:
-
✅管理资源非常方便,便于后期对文章进行修改
-
❌会有大量的文件夹
文件层级:
1 | source |
这个稍微有些复杂但是管理资源非常方便的功能可以通过将 config.yml 文件中的 post_asset_folder 选项设为 true 来打开。
1 | # 修改 _config.yml 配置 |
当资源文件管理功能打开后,Hexo将会在你每一次通过 hexo new [layout] <title> 命令创建新文章时自动创建一个文件夹。 这个资源文件夹将会有与这个文章文件一样的名字。 将所有与你的文章有关的资源放在这个关联文件夹中之后,你可以通过相对路径来引用它们,这样你就得到了一个更简单而且方便得多的工作流。
插入图片
使用标签插件(Tag Plugins)
-
✅对 Hexo 自身兼容性好,图片能同时出现在文章和主页以及归档页中(landscape主题)
-
✅最稳定,不会因为其它插件冲突导致图片不显示
-
❌图片较多的情况下,操作复杂
-
❌与其它 markdown 软件不兼容,无法预览
语法:
1 | {% asset_img slug [title] %} |
当启动文章资源文件夹时,如果需要向文章里添加一个 example.jpg ,且图像标题为 This is an example image,就可以这么写:
1 | {% asset_img example.jpg This is an example image %} |
渲染效果如下:
通过这种方式,图片将会同时出现在文章和主页以及归档页中(landscape主题)。
此外,使用标签插件(Tag Plugins)还有更多参数可以修改:
自定义类
1 | {% asset_img post-image foo.jpg %} |
1 | <img src="/2020/01/02/hello/foo.jpg" class="post-image" /> |
自定义图片尺寸
1 | {% asset_img foo.jpg 500 400 %} |
1 | <img src="/2020/01/02/hello/foo.jpg" width="500" height="400" /> |
标题&替代文本
1 | {% asset_img foo.jpg "lorem ipsum'dolor'" %} |
1 | <img src="/2020/01/02/hello/foo.jpg" title="lorem ipsum" alt="dolor" /> |
传统 Markdown
参照 Markdown 基本语法 的图片章节。
音频
aplayer:https://github.com/MoePlayer/hexo-tag-aplayer/tree/master
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
视频
直接用 HTML 的 <video> 标签
注意事项
-
hexo-abbrlink 插件会修改 permalink 参数,一些插件可能需要该参数,需注意兼容性问题。
-
如果加载本地的音频和视频文件,使用 Hexo 预览时,Chrome 和 Safari 可能会出现无法加载或者加载错误的问题。使用 Firefox 能正常加载。