Butterfly 安裝文檔(二) 主題頁面
你可以通過右下角的 簡 按鈕切換為簡體顯示
Front-matter
Front-matter 是 markdown 文件最上方以 --- 分隔的區域,用於指定個別檔案的變數。
- Page Front-matter 用於
頁面配置 - Post Front-matter 用於
文章頁配置
如果標注可選的參數,可根據自己需要添加,不用全部都寫在 markdown 裏
Page Front-matter
1 | --- |
| 寫法 | 解釋 |
|---|---|
| title | 【必需】頁面標題 |
| date | 【必需】頁面創建日期 |
| type | 【必需】標籤、分類和友情鏈接三個頁面需要配置 |
| updated | 【可選】頁面更新日期 |
| description | 【可選】頁面描述 |
| keywords | 【可選】頁面關鍵字 |
| comments | 【可選】顯示頁面評論模塊 (默認 true) |
| top_img | 【可選】頁面頂部圖片 |
| mathjax | 【可選】顯示mathjax (當設置mathjax的per_page: false時,才需要配置,默認 false) |
| katex | 【可選】顯示katex (當設置katex的per_page: false時,才需要配置,默認 false) |
| aside | 【可選】顯示側邊欄 (默認 true) |
| aplayer | 【可選】在需要的頁面加載aplayer的js和css,請參考文章下面的音樂 配置 |
| highlight_shrink | 【可選】配置代碼框是否展開 (true/false) (默認為設置中highlight_shrink的配置) |
| random | 【可選】配置友情鏈接是否隨機排序(默認為 false) |
Post Front-matter
1 | --- |
| 寫法 | 解釋 |
|---|---|
| title | 【必需】文章標題 |
| date | 【必需】文章創建日期 |
| updated | 【可選】文章更新日期 |
| tags | 【可選】文章標籤 |
| categories | 【可選】文章分類 |
| keywords | 【可選】文章關鍵字 |
| description | 【可選】文章描述 |
| top_img | 【可選】文章頂部圖片 |
| cover | 【可選】文章縮略圖(如果沒有設置top_img,文章頁頂部將顯示縮略圖,可設為false/圖片地址/留空) |
| comments | 【可選】顯示文章評論模塊(默認 true) |
| toc | 【可選】顯示文章TOC(默認為設置中toc的enable配置) |
| toc_number | 【可選】顯示toc_number(默認為設置中toc的number配置) |
| toc_style_simple | 【可選】顯示 toc 簡潔模式 |
| copyright | 【可選】顯示文章版權模塊(默認為設置中post_copyright的enable配置) |
| copyright_author | 【可選】文章版權模塊的文章作者 |
| copyright_author_href | 【可選】文章版權模塊的文章作者鏈接 |
| copyright_url | 【可選】文章版權模塊的文章連結鏈接 |
| copyright_info | 【可選】文章版權模塊的版權聲明文字 |
| mathjax | 【可選】顯示mathjax(當設置 mathjax 的 per_page: false 時,才需要配置,默認 false ) |
| katex | 【可選】顯示 katex (當設置 katex 的 per_page: false 時,才需要配置,默認 false ) |
| aplayer | 【可選】在需要的頁面加載 aplayer 的 js 和 css,請參考文章下面的音樂 配置 |
| highlight_shrink | 【可選】配置代碼框是否展開(true/false)(默認為設置中 highlight_shrink 的配置) |
| aside | 【可選】顯示側邊欄 (默認 true) |
| abcjs | 【可選】加載 abcjs (當設置 abcjs 的 per_page: false 時,才需要配置,默認 false ) |
標籤頁
前往你的 Hexo 博客的根目錄
輸入
hexo new page tags你會找到
source/tags/index.md這個文件修改這個文件:
記得添加
type: "tags"
1 | --- |
| 參數 | 解釋 |
|---|---|
| type | 【必須】頁面類型,必須為 tags |
| orderby | 【可選】排序方式 :random/name/length |
| order | 【可選】排序次序: 1, asc for ascending; -1, desc for descending |
分類頁
前往你的 Hexo 博客的根目錄
輸入
hexo new page categories你會找到
source/categories/index.md這個文件修改這個文件:
記得添加
type: "categories"
1 | --- |
友情鏈接
為你的博客創建一個友情鏈接!
創建友情鏈接頁面
前往你的 Hexo 博客的根目錄
輸入
hexo new page link你會找到
source/link/index.md這個文件修改這個文件:
記得添加
type: "link"
1 | --- |
友情鏈接添加
在Hexo博客目錄中的 source/_data(如果沒有 _data 文件夾,請自行創建),創建一個文件 link.yml
1 | - class_name: 友情鏈接 |
class_name 和 class_desc 支持 html 格式書寫,如不需要,也可以留空。
從 4.0.0 開始,支持從遠程加載友情鏈接,遠程拉取只支持 json。
注意: 選擇遠程加載後,本地生成的方法會無效。
在 source/link/index.md 這個文件的 front-matter 添加遠程鏈接
1 | flink_url: xxxxx |
Json 的格式
1 | [ |
友情鏈接隨機排序
主題支持友情鏈接隨機排序,只需要在頂部 front-matter 添加 random: true
友情鏈接界面設置
由 2.2.0 起,友情鏈接界面可以由用户自己自定義,只需要在友情鏈接的md檔設置就行,以普通的Markdown格式書寫。
圖庫
圖庫頁面只是普通的頁面,你只需要 hexo n page xxxxx 創建你的頁面就行
然後使用標簽外掛 galleryGroup,具體用法請查看對應的內容。
1 | <div class="gallery-group-main"> |
子頁面
子頁面也是普通的頁面,你只需要 hexo n page xxxxx 創建你的頁面就行
然後使用標簽外掛 gallery,具體用法請查看對應的內容。
1 | {% gallery %} |
如果你想要使用 /photo/ohmygirl 這樣的鏈接顯示你的圖片內容
你可以把創建好的 ohmygirl 整個文件夾移到 photo 文件夾裏去
404頁面
主題內置了一個簡單的 404 頁面,可在設置中開啟
本地預覽時,訪問出錯的網站是不會跳到 404 頁面的。
如需本地預覽,請訪問 http://localhost:4000/404.html
1 | # A simple 404 page |

音视频播放
Markdown 通用音乐/视频插入方法
Markdown 作为轻量级的标记语言,兼容 html 语法,所以可以直接在 Markdown 文档中使用 html 语法。
<vedio>标签举例:
1 | <video width="480" height="320" controls> |
<embed>标签举例:
1 | <embed src="http://player.youku.com/player.php/Type/Folder/Fid/27690810/Ob/1/sid/XMTY1MTI3NjMyNA==/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" allowFullScreen="true" mode="transparent" type="application/x-shockwave-flash"></embed> |
<iframe>标签举例:
1 | <iframe height=498 width=510 src="http://player.youku.com/embed/XMTY1MTI3NjMyNA==" frameborder=0 allowfullscreen></iframe> |
javascript标签举例:
1 | <script type="text/javascript" src="http://www.xiami.com/widget/player-single?uid=32329501&sid=1776238762&mode=js"></script> |
除<vedio>标签外,大部分音乐/视频网站都可以直接生成播放器代码,直接粘贴到 Markdown 文档中即可使用。
不过在 https 下,上述的有些标签可能无法正常使用。
通过 Hexo 插件插入音乐/视频
这里需要使用两个播放器插件
hexo-tag-aplayer:https://github.com/grzhan/hexo-tag-aplayer#upstream-issue
hexo-tag-dplayer:https://github.com/NextMoe/hexo-tag-dplayer
1 | npm install hexo-tag-dplayer --save |
1 | {% aplayer "Caffeine" "Jeff Williams" "http://7xq131.com1.z0.glb.clouddn.com/Preparation.mp3" "autoplay" %} |
1 | <iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=420125990&auto=1&height=66"></iframe> |
1 | <script type="text/javascript" src="http://www.xiami.com/widget/player-single?uid=32329501&sid=1776238762&mode=js"></script> |
1 | {% dplayer "url=http://devtest.qiniudn.com/若能绽放光芒.mp4" "api=http://dplayer.daoapp.io" "pic=http://devtest.qiniudn.com/若能绽放光芒.png" "id=9E2E3368B56CDBB4" "loop=yes" "theme=#FADFA3" "autoplay=false" "token=tokendemo" %} |
1 | <embed src="http://player.youku.com/player.php/Type/Folder/Fid/27690810/Ob/1/sid/XMTY1MTI3NjMyNA==/v.swf" quality="high" width="480" height="400" |
| 名称 | 默认值 | 描述 |
|---|---|---|
| container | document.querySelector(‘.dplayer’) | 播放器容器元素 |
| live | false | 开启直播模式, 见#直播 |
| autoplay | false | 视频自动播放 |
| theme | ‘#b7daff’ | 主题色 |
| loop | false | 视频循环播放 |
| lang | navigator.language.toLowerCase() | 可选值: ‘en’, ‘zh-cn’, ‘zh-tw’ |
| screenshot | false | 开启截图,如果开启,视频和视频封面需要允许跨域 |
| hotkey | true | 开启热键,支持快进、快退、音量控制、播放暂停 |
| airplay | false | 在 Safari 中开启 AirPlay |
| chromecast | false | 启用 Chromecast |
| preload | ‘auto’ | 视频预加载,可选值: ‘none’, ‘metadata’, ‘auto’ |
| volume | 0.7 | 默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效 |
| playbackSpeed | [0.5, 0.75, 1, 1.25, 1.5, 2] | 可选的播放速率,可以设置成自定义的数组 |
| logo | - | 在左上角展示一个 logo,你可以通过 CSS 调整它的大小和位置 |
| apiBackend | - | 自定义获取和发送弹幕行为,见#直播 |
| preventClickToggle | false | 阻止点击播放器时候自动切换播放/暂停 |
| video | - | 视频信息 |
| video.quality | - | 见#清晰度切换 |
| video.defaultQuality | - | 见#清晰度切换 |
| video.url | - | 视频链接 |
| video.pic | - | 视频封面 |
| video.thumbnails | - | 视频缩略图,可以使用 DPlayer-thumbnails (opens new window)生成 |
| video.type | ‘auto’ | 可选值: ‘auto’, ‘hls’, ‘flv’, ‘dash’, ‘webtorrent’, ‘normal’ 或其他自定义类型, 见#MSE 支持 |
| video.customType | - | 自定义类型, 见#MSE 支持 |
| subtitle | - | 外挂字幕 |
| subtitle.url | required |
字幕链接 |
| subtitle.type | ‘webvtt’ | 字幕类型,可选值: ‘webvtt’, ‘ass’,目前只支持 webvtt |
| subtitle.fontSize | ‘20px’ | 字幕字号 |
| subtitle.bottom | ‘40px’ | 字幕距离播放器底部的距离,取值形如: ‘10px’ ‘10%’ |
| subtitle.color | ‘#fff’ | 字幕颜色 |
| danmaku | - | 显示弹幕 |
| danmaku.id | required |
弹幕池 id,必须唯一 |
| danmaku.api | required |
见#弹幕接口 |
| danmaku.token | - | 弹幕后端验证 token |
| danmaku.maximum | - | 弹幕最大数量 |
| danmaku.addition | - | 额外外挂弹幕,见#bilibili 弹幕 |
| danmaku.user | ‘DIYgod’ | 弹幕用户名 |
| danmaku.bottom | - | 弹幕距离播放器底部的距离,防止遮挡字幕,取值形如: ‘10px’ ‘10%’ |
| danmaku.unlimited | false | 海量弹幕模式,即使重叠也展示全部弹幕,请注意播放器会记忆用户设置,用户手动设置后即失效 |
| danmaku.speedRate | 1 | 弹幕速度倍率,越大速度越快 |
| contextmenu | [] | 自定义右键菜单 |
| highlight | [] | 自定义进度条提示点 |
| mutex | true | 互斥,阻止多个播放器同时播放,当前播放器播放时暂停其他播放器 |











