Bolg环境配置
博客采用的Hexo框架XNext主题,采取的是网站部署到Github,图片资源采用CDN加速的方式。
Git
node.js
Next插件配置
文章字数统计
1 | npm install hexo-symbols-cunt-time |
配置站点配置文件_config.yml下添加
1 | #设置博客单词统计 |
在主题配置文件下添加themes\next_config.yml
1 | symbols_count_time: |
RSS插件
为什么要安装RSS插件呢?不了解的可以看看这篇文章:rss订阅是什么意思?为什么要使用RSS?简单来说,RSS是一种协议,允许网站将其内容或其部分内容提供给其他网站或应用程序。通过使用RSS,可以节省宝贵的时间,并将各个站点提供的新闻和信息组织到一个中心点进行查看,也可以通过从使用RSS联合其内容的其他站点导入新闻来向你的站点添加新闻。
###安装hexo-generator-feed插件**
1 | npm install hexo-generator-feed --save |
在站点配置文件末尾加上如下代码:
1 | feed: |
打开主题配置文件,搜索rss,将前面的#去掉:
1 | follow_me: |
本地搜索
1 | npm install hexo-generator-search |
查找themes/next/_config.yml中的local_search :
1 | local_search: |
图片可点击放大
打开主题配置文件_config.yml,搜索fancybox,设置其值为true:
1 | fancybox: true |
进入到theme/next文件夹下,打开Git Bash,输入如下代码:
1 | git clone theme-next/theme-next-fancybox3 source/lib/fancybox |
博文置顶
在根目录Blog打开Git Bash,执行下面的命令:
1 | npm uninstall hexo-generator-index --save |
设置置顶标志
打开blog/themes/next/layout/_macro目录下的post.swig文件,定位到<div class="post-meta">
标签下,插入如下代码:
1 | {% if post.top %} |
在文章中添加top
然后在需要置顶的文章的Front-matter中加上top: true即可,如下:
1 | --- |
hexo上给文章加密
1 | npm install --save hexo-blog-encrypt |
下好插件后将等字段添加到要加密文章的头部,如下:password, abstract, message
1 | --- |
hexo上给文章添加豆瓣卡片
下载插件:
1 | npm install hexo-douban-card --save |
第一项代表插件名douban
第二项可选:movie,book,music
第三项为豆瓣作品对应id,为豆瓣地址栏中后的数字subject
1 | {% douban movie 24745500 %} |
插入音乐
1 | npm install --save hexo-tag-aplayer |
在 Hexo 配置文件 _config.yml 中设置:
1 | aplayer: |
接着找到一个歌单、歌曲或专辑的链接,复制这个链接的id,这里以QQ音乐举例: https://y.qq.com/n/yqq/playlist/7868042847.html ,这个歌单的id就是7868042847;
最后将以下示例代码插入到你想要呈现播放器的地方即可:
1 | {% meting "7868005687" "tencent" "playlist" "theme:#555" "mutex:true" "listmaxheight:1000px" "preload:auto" %} |
选项 | 默认值 | 描述 |
---|---|---|
id | 必须值 | 歌曲 id / 播放列表 id / 相册 id / 搜索关键字 |
server | 必须值 | 音乐平台: netease , tencent , kugou , xiami , baidu |
type | 必须值 | song , playlist , album , search , artist |
fixed | false |
开启固定模式 |
mini | false |
开启迷你模式 |
loop | all |
列表循环模式: all , one , none |
order | list |
列表播放模式: list , random |
volume | 0.7 | 播放器音量 |
lrctype | 0 | 歌词格式类型 |
listfolded | false |
指定音乐播放列表是否折叠 |
storagename | metingjs |
LocalStorage 中存储播放器设定的键名 |
autoplay | true |
自动播放,移动端浏览器暂时不支持此功能 |
mutex | true |
该选项开启时,如果同页面有其他 aplayer 播放,该播放器会暂停 |
listmaxheight | 340px |
播放列表的最大长度 |
B站追番列表
安装
1 | $ npm install hexo-bilibili-bangumi --save |
将下面的配置写入站点的配置文件 _config.yml
里(不是主题的配置文件).
1 | bangumi: # 追番设置 |
带*为必填选项!
- enable: 是否启用
- source: 数据源,仅支持追番,追剧仅支持哔哩哔哩源。
bili
: 哔哩哔哩源,bangumi
: Bangumi源(bangumi.tv),bgm
: Bangumi源(bgm.tv) - bgmInfoApi: 获取Bangumi番剧信息时使用的Api,仅使用Bangumi源时此选项生效。
bgmApi
: Bangumi Api,bgmSub
: Bangumi-Subject - proxy: 代理设置,仅在使用支持
bgm
源追番时生效。默认false
- path: 页面路径,默认
bangumis/index.html
,cinemas/index.html
- vmid: 哔哩哔哩的
vmid(uid)
如何获取?或Bangumi的用户id
如何获取? - title: 该页面的标题
- quote: 写在页面开头的一段话,支持 html 语法,可留空。
- show: 初始显示页面:
0: 想看
,1: 在看
,2: 看过
,默认为1
- lazyload: 是否启用图片懒加载,如果与主题的懒加载冲突请关闭,默认
true
- srcValue: 设置封面图的默认
src
值,__image__
为封面链接,__loading__
为loading图片链接,lazyload
选项为false
时此选项生效 - lazyloadAttrName: 设置封面图的属性与属性值, 例
lazyloadAttrName: 'data-src=__image__'
代表为img
元素添加data-src
属性, 其值为图片链接,lazyload
选项为false
时此选项生效 - loading: 图片加载完成前的 loading 图片,需启用图片懒加载
- metaColor: meta 部分(简介上方)字体颜色(十六进制的颜色代码需要添加引号:
metaColor: '#FFFFFF'
) - color: 简介字体颜色
- webp: 番剧封面使用
webp
格式(此格式在safari
浏览器下不显示,但是图片大小可以缩小 100 倍左右,仅支持哔哩哔哩源), 默认true
- progress: 获取番剧数据时是否显示进度条,默认
true
- extraOrder: 手动添加的番剧/追剧数据是否优先显示,
1
为优先,其它为不优先 - showMyComment: 使用
bgm
源时显示自己的评价及评论,默认false
- pagination: 分页优化,只将第一页的数据渲染到
html
文件中,其余数据将通过异步请求加载,避免番剧过多时html文件过大导致页面加载缓慢,建议番剧较多时使用,默认false
- extra_options: 此配置会扩展到Hexo
page
变量中
使用
- 在
hexo generate
或hexo deploy
之前使用hexo bangumi -u
命令更新追番数据,使用hexo cinema -u
命令更新追剧数据! - 删除数据命令:
hexo bangumi -d
/hexo cinema -d
手动添加番剧/追剧数据
因为某些番剧在哔哩哔哩上没有,但是又想在hexo中展示,怎么办呢?现在支持手动添加番剧数据了!
在 sources/_data/
目录下新建文件,命名为 extra_bangumis.json
(追番数据)或extra_cinemas.json
(追剧数据) ,并添加以如下内容:
1 | { |
title
是番剧的标题,cover
是封面图链接, des
是简介,上述字段均根据需要修改。
另外除了 watchedExtra
数组,还可以在后面添加新的数组,可用数组名如下:
可用数组名 | 含义 |
---|---|
wantWatchExtra | 想看 |
watchingExtra | 在看 |
watchedExtra | 看过 |
需要注意,在两个数组之间需要用 ,
分隔。
NexT主题美化
设置建站时间
打开主题配置文件即themes/next下的_config.yml,查找since:
1 | footer: |
文章末尾添加版权说明
查找主题配置文件themes/next/_config.yml中的creative_commons:
1 | creative_commons: |
设置头像
打开主题配置文件即themes/next下的_config.yml,查找avatar,url后是图片的链接地址:
1 | # Sidebar Avatar |
然后将你要的头像图片复制到themes/next/source/images里,重命名为avatar.png。
网站图标设置
使用格式转换器将自己需要的图片压缩
下载16x16和32x32的图标后,打开主题配置文件,查找favicon,只要修改small和medium为你的图标路径:
1 | favicon: |
设置动态背景
JavaScript 3D library风格
在themes/next目录下打开Git Bash,输入:
1 | git clone https://github.com/theme-next/theme-next-three source/lib/three |
打开主题配置文件即themes/next下的_config.yml,找到three,这里有三种风格,可以试一下看看喜欢哪种风格,直接将false改为true就行了。
1 | # JavaScript 3D library. |
设置背景图片
打开主题配置文件即themes/next下的_config.yml,将 style: source/_data/styles.styl 取消注释:
1 | custom_file_path: |
打开根目录Blog/source创建文件_data/styles.styl,添加以下内容:
1 | // 添加背景图片 |
主页文章添加阴影效果
打开themes/next/source/css/_common/conponents/post/post.styl,修改.post-block,如下:
1 | .use-motion { |
还有一种方法打开Blog/source/_date/style.styl文件,添加以下代码:
1 | // 主页文章添加阴影效果 |
设置预览摘要
next(v7.7.1)已经没有如下代码:
1 | auto_excerpt: |
所以不需要设置,只要我们在文章中插入 ,该标签之上的是摘要,之后的内容不可见,需点击全文阅读按钮:
1 | <!-- more --> |
设置侧边栏显示效果
打开主题配置文件即themes/next下的_config.yml,找到Sidebar Settings,设置:
1 | sidebar: |
侧边栏推荐阅读
打开主题配置文件即themes/next下的_config.yml,搜索links(里面写你想要的链接):
1 | links_settings: |
添加社交链接
打开主题配置文件即themes/next下的_config.yml,搜索social:
1 | social: |
“||”前面的是链接,后面的是 FontAwesome图标名称。
设置博文内链接为蓝色
打开themes/next/source/css/_common/components/post/post.styl文件,将下面的代码复制到文件最后:
1 | .post-body p a{ |
设置文章末尾”本文结束”标记
在路径/themes/next/layout/_macro 中新建 passage-end-tag.swig 文件,并添加以下内容:
1 | <div> |
接着打开/themes/next/layout/_macro/post.swig文件,在post-footer前添加代码:
1 | {% if not is_index and theme.passage_end_tag.enabled %} |
然后打开主题配置文件(_config.yml),在末尾添加:
1 | # 文章末尾添加“本文结束”标记 |
添加访问量统计
打开主题配置文件即themes/next下的_config.yml,找到busuanzi_count,改为true:
1 | busuanzi_count: |
打开/themes/next/layout/_partials/footer.swig,在最后添加如下内容:
1 | {% if theme.busuanzi_count.enable %} |
代码块样式自定义
打开根目录Blog/source/_data/styles.styl,添加以下内容:
1 | // Custom styles. |
支持mathjax公式
打开主题配置文件,搜索mathjax:
1 | mathjax: |
腾讯公益404页面
离家的路有千万条,但回家的路只有一条。
在~/hexo/themes/next/source
目录下新建404.html
页面,在新建页面内添加如下内容:
1 | copy<!DOCTYPE HTML> |
其中homePageUrl
与homePageName
可自定义。
修改文章底部#号tag标签
在~hexo/themes/next/layout/_macro
中找到post.swig
文件,在内搜索el="tag">#
,将#
换成<i class="fa fa-tag"></i>
即可,然后hexo s
刷新预览吧。
想使用其他图标可在Fontawesome内自行查找。
给文章添加更新时间
在主题配置文件中找到updated_at
,默认为false,修改成true即可。
添加突破容器宽度限制的图片
当使用此标签引用图片时,图片将自动扩大 26%,并突破文章容器的宽度。 此标签使用于需要突出显示的图片, 图片的扩大与容器的偏差从视觉上提升图片的吸引力。 此标签有两种调用方式(详细参看底下示例):
- HTML方式:使用这种方式时,为 img 添加属性 class=”full-image”即可。
- 标签方式:使用 fullimage 或者 简写 fi, 并传递图片地址、 alt 和 title 属性即可。 属性之间以逗号分隔。
标签方式要求 NexT 的版本在 0.4.5 或以上。 若你正在使用的版本比较低,可以选择使用 HTML 方式。
如果要在图片下显示图片的标题,请使用 标签方式 并给定 title 属性。
1 | copy<!-- HTML方式: 直接在 Markdown 文件中编写 HTML 来调用 --> |
添加折叠项
格式如下,其中内容可以是文字和图片等:
1 | <details><summary>点此打开折叠项</summary><p> |
示例:
点此打开折叠项
内容