Author: haoransun
Wechat: SHR—97
0 字体乱码问题
Windows 上新建的文件一般都是 gb2312或iso-8859-1,这样windows下的文件传递到Linux可能会出乱码问题
用 Git进去文件使用命令查看文件是否是utf-8 格式
1 | file -i word.ejs |
第一种
最简单的办法就是 vim word.ejs
设置 set fileencoding=utf-8,强制保存,此时中文会乱码,再次输入即可
第二种
找一个 是 utf-8文件的 直接粘贴到需要位置,改名删除内容,写上自己的内容即可。
1 图片无法加载
在 Hexo中 插入图片时,请按照以下的步骤进行设置
1 将 站点配置文件 中的 post_asset_folder
选项的值设置为 true
2.在站点文件夹中打开 git bash,输入命令 npm install hexo-asset-image --save
安装插件
ps:如果上述 安装包不能正确加载图片,建议下述低版本安装包:
使用 npm install https://github.com/CodeFalling/hexo-asset-image –save 安装0.0.5版本的hexo-asset-image插件。
使用 npm install hexo-asset-image –save 安装的是1.0.0版本的hexo-asset-image插件。
3 这样,当使用 hexo new title
创建文章时,将同时在 source/_post
文件夹中生成一个与 title 同名的文件夹,我们只需将图片放进此文件夹中,然后在文章中通过 Markdown 语法进行引用即可
例如,在资源文件夹(就是那个与 title 同名的文件夹)中添加图片 example.PNG,则可以在对应的文章中使用语句 ![图片文字说明,可用于图片加载不出来时](title/example.PNG)
即可成功添加图片
效果如下图:
2 点击所有文章 缺失模块
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content –save
3、在根目录_config.yml里添加配置:直接粘贴复制即可。(自己手打可能出错)
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true
3 个人头像及网站图标
3.1 存放位置
头像/图标图片的存放位置是/themes/yilia/source/
下任意位置,可以自己新建一个文件夹存放,我存放在assets
文件夹下。
3.2 配置设置
配置文件为/themes/yilia/_config.yml
。设置头像为配置文件中avatar
一项,设置图标为配置文件中favicon
一项,设置路径的根目录为/themes/yilia/source/
。例如,我的头像存放的地址是/themes/yilia/source/assets/avatar.png
,设置则为avatar: /assets/avatar.png
。(图标同理)
4 文章摘要
目前主要是两种方式在首页显示文章摘要而不是全文
4.1 方法1
ps: 之前最好不要有空格
4.2 方法2 description in Front-matter
1 | title: Hello World |
通过 description
添加的摘要只能为纯文本
description
中的内容加引号,可以避免一些程序错误,例如当内容里包含英文冒号时。
5 主菜单
按下面格式添加侧边栏,菜单前的#表示隐藏该条目themes/yilia/_config.yml参数:
1 | 按需求更改 |
6 标签云
使用 Hexo 命令新建一个tags的页面即可
1 | hexo new page tags |
该页面标题可以在 /hexo/source/tags/index.md 中修改
同一片文章设置多个分类后的问题 issue#4
7 关于我
使用 Hexo 命令新建一个名为 about
的页面即可
1 | hexo new page about |
该页面内容在文件 \hexo\source\about\index.md
中修改
8 本地搜索
使用搜索需先安装对应插件,用于生成索引数据
插件主页: hexo-generator-search
1 | npm install hexo-generator-search --save |
配置插件启用为true 到根目录下的_config.yml中
1 | search: |
onload: true: 索引数据search.xml随页面一起加载(效率优先)
onload:false: 当激活搜索框时在下载索引数据(按需加载)
9 社交图标
去掉前面的 # 再填写链接即可
themes/yilia/_config.yml
1 | subnav: |
设置 Email 时保留 mailto:
可考虑加密邮件地址 http://ctrlq.org/encode/
使用 RSS 需先安装对应插件 https://github.com/hexojs/hexo-generator-feed
10 网站运行时间(暂时没有配置)
10.1 修改 \themes\yilia_config.yml 添加如下内容
网站运行时间,格式形如:“本站已安全运行 50 天 12 小时 13 分 41 秒”
Runing Time
running_time:
enable: true
create_time: ‘07/25/2019 12:00:00’ #此处修改你的建站时间或者网站上线时间
10.2 修改\themes\yilia\layout\_partial\footer.ejs
,在</footer>
上面添加如下内容:
<% if (theme.running_time && theme.running_time.enable && theme.running_time.create_time){ %>
载入天数…载入时分秒…
<% } %>
11 背景图片
*推荐大小:700 x 1200 *
11.1 找到 themes\lilia\目录下的 _config.yml,修改配置如下:
11.2 将选好的背景图片放入 themes\yilia\source\assets 目录下
11.3 打开 yilia\source 目录下的 main.xxx.css,进行修改(xxx 因人而异)
ctrl + f 搜索:.left-col{ 、.left-col .overlay{ 、#mobile-nav .overlay
里面添加 background-image:url(“图片地址”)即可
字体颜色需要自己根据背景图片来调配
搜索
1 | .left-col #header a{ |
11.4 打开 yilia\layout_partial\left-col,ejs
重新部署即可看到效果
12 文章目录
12.1 添加 CSS 样式
打开 themes\yilia\source
下的 main.234bc0.css
文件,直接在后面添加如下代码:
/新添加的/
1 | #container .show-toc-btn,#container .toc-article{display:block} |
12.2 修改 article.ejs 文件
打开 themes\yilia\layout\_partial
文件夹下的 article.ejs
文件, 在 </header> <% } %>
下面加入如下内容(注意位置)
1 | <!-- 目录内容 --> |
想要温江显示目录,在每篇文章开头加入:toc: true 即可。
13 版权
待定
14 友情链接
1 | ## 编辑友链 |
15 关于我
1 | # 是否开启“关于我”。 |
16 评论
GitHub OAuth授权:Settings/Developer settings/OAuth Apps
https://github.com/settings/applications/1265561
16.1 在layout/_partial/post
目录下新增gitalk.ejs
文件
1 | <div id="gitalk-container" style="padding: 0px 30px 0px 30px;"></div> |
16.2 修改source-src/css
/目录下comment.scss
文件
注意第一行最后添加了 #gitalk-container
1 | #disqus_thread, .duoshuo, .cloud-tie-wrapper, #SOHUCS, #gitment-ctn, #gitalk-container { |
16.3 在layout/_partial
目录下的article.ejs
文件内新增gitalk
相关的配置代码:
在最后一行 <% } %> 前加入,如下图所示
1 | <% if(theme.gitalk.enable){ %> |
16.4 最后在yilia
主题配置文件中新增gitalk
相关的配置:
属性名要与 配置文件中保持一致 ,如:
theme.gitalk.client_id 要与配置文件中 client_id 这几个字母一致
githubID:是自己的GitHub账户名称,如我的是JavaSsun
repo:是新建的评论仓库名称
adminuser:是自己的账户名称JavaSsun
更新一下即可。
基本完成,现在解决常见问题.
17 文章字数及统计阅读时长(注意乱码)
17.1 安装 hexo-wordcount
1 | npm i --save hexo-wordcount |
17.2 文件配置
在theme\yilia\layout_partial\post下创建word.ejs文件:
1 | <div style="margin-top:10px;"> |
然后在 themes/yilia/layout/_partial/article.ejs中添加(在 /header 之前)
1 | <div class="article-inner"> |
17.3 开启功能
效果如图所示:
18 添加背景音乐
18.1 打开网易云音乐首页,然后搜索要添加的背景音乐
1 | http://music.163.com/ |
18.2 搜索到歌曲点击生成外链播放器,进去下一个界面
18.3 复制外链播放器的代码
打开 /yilia/layout/_partia/left-col.ejs 文件 nav标签中添加代码
注:放在<nav>
和</nav>
之内
[========]
19 鼠标点击桃心效果
在 themes/yilia/source文件夹下,建立resources文件夹,再新建click.js文件,代码如下
1 | ! function(e, t, a) { |
然后在themes/yilia/layout/_partial文件夹下的after-footer.ejs中加入
1 | </script> |
重新部署即可
20 添加网站运行时间
21 Hexo博客添加 helper-live2d动态模型插件
前导
- yilia主题
- 插件地址 hexo-helper-live2d
- live2d模型仓库
21.1 安装模块
在hexo根目录执行命令
1 | # npm install --save hexo-helper-live2d |
21.2 下载模型
作者各种模型包展示 ➡️ hexo live2d插件 2.0 !
live2d-widget-model-chitose
live2d-widget-model-epsilon2_1
live2d-widget-model-gf
live2d-widget-model-haru/01
(usenpm install --save live2d-widget-model-haru
)live2d-widget-model-haru/02
(usenpm install --save live2d-widget-model-haru
)live2d-widget-model-haruto
live2d-widget-model-hibiki
黑猫live2d-widget-model-hijiki
live2d-widget-model-izumi
live2d-widget-model-koharu
live2d-widget-model-miku
live2d-widget-model-ni-j
live2d-widget-model-nico
live2d-widget-model-nietzsche
live2d-widget-model-nipsilon
live2d-widget-model-nito
live2d-widget-model-shizuku
live2d-widget-model-tororo
白猫live2d-widget-model-tsumiki
live2d-widget-model-unitychan
live2d-widget-model-wanko
live2d-widget-model-z16
使用npm install {packagename}
安装模型
1 | # npm install live2d-widget-model-hibiki |
21.3 详细配置
在Hexo的 _config.yml
文件中添加配置
1 | # Live2D |
hexo g | hexo s即可
22 Hexo添加访问量统计
- 主题 yilia
- 访问统计量使用 不蒜子
22.1 配置是否开启不蒜子访问量统计功能
在 themes/yilia/_config.yml 添加属性
1 | # 是否开启访问量统计功能(不蒜子) |
22.2 引入不蒜子并添加站点访问量
在themes/yilia/layout/_partial/footer.ejs
末尾添加如下代码
1 | <% if (theme.busuanzi && theme.busuanzi.enable){ %> |
22.3 添加文章访问量
在themes/yilia/layout/_partial/post/date.ejs
开头添加如下代码
1 | <% if (theme.busuanzi && theme.busuanzi.enable && !index){ %> |
如图所示:
22.4 注意事项
两种方法选择一种使用即可,都使用可能会出现无法显示的问题
使用
hexo s
部署在本地预览效果的时候,uv数和pv数会过大,这是由于不蒜子用户使用一个存储空间,所以使用localhost:4000
进行本地预览的时候会导致数字异常,这是正常现象,只需要将博客部署至云端即可恢复正常。
23 RSS
1 | npm install hexo-generator-feed --save |
24 Hexo设置 标签 分类 归档
举例:
24.1 添加 分类页面
使用:hexo new page categories
新建一个 分类 页面。
添加 type: “categories”
tags类似:
主题的 _config.yml
文件中的 menu
中进行匹配
25 Hexo博客优化之文章置顶+置顶标签
25.1 博文置顶
一种方法是手动对相关文件进行修改,具体可参考这篇文章。
另一种方法就是,目前已经有修改后支持置顶的仓库,可以直接用以下命令安装。
1 | $ npm uninstall hexo-generator-index --save |
然后在需要置顶的文章的Front-matter
中加上top: true
即可。比如下面这篇文章:
注意有 空格
25.2 配置置顶标准
打开:/themes/*/layout(/_macro)/post.ejs
直接在最前面加入以下代码即可
1 | <% if (page.top) { %> |
25.3 配置文章
然后在需要置顶的文章的Front-matter中加上top选项即可
top后面的数字越大,优先级越高
1 | --- |
25.4 优先级配置
修改根目录配置文件/_config.yml,top值-1标示根据top值倒序(正序设置为1即可),同样date也是根据创建日期倒序。
1 | index_generator: |
25.5 设置置顶标志
暂时用默认的
26 去掉配置文件中的 more
27 在左侧显示总文章数
将themes\yilia\layout_partial\left-col.ejs文件的
1 | <nav class="header-menu"> |
后面加上
1 | nav style="color: #7FFFD4;">总文章数 <%=site.posts.length%></nav> |
28 Hexo博客绑定个人域名
28.1 购买域名
阿里云或者腾讯云购买,步骤省略。
28.2 域名解析
28.2.1 方法1(不推荐)
首先获取自己 github 的二级域名的 IP地址,windows 下直接在 cmd 里 Ping 一下自己的博客就会得到 IP 地址:
本人Ip是: xxx.xxx.xxx.xxx
通过域名解析将购买的域名指向 github的二级域名:
之后如图所示记为成功:
28.2.2 方法2(推荐)
直接解析域名的CNAME记录到你的Git二级域名,不要使用方法一中的A记录,因为ip地址可能会一段时间之后会改变,所以建议记录类型选择CNAME进行解析,记录值填的就是username.github.io,比如:
28.3 设置CNAME
在 hexo 项目下,source 文件夹下面创建 CNAME 文件(没有后缀名的),在里面写上购买的域名。比如:
blog.enjoytoshare.club
在 github 上面,打开 username.github.io 项目的(Settings)设置,然后在 GitHub Pages的 Custom domain设置里填上购买的域名。比如:
好了,新域名配置完成,可以访问了。
29 Hexo d 部署后重新修改域名?
- 在source目录下(不是hexo根目录下),创建一个CNAME文件,可以用sublime创建,然后保存成(All files格式)
CNAME文件里写自己新的域名
如:
1 | haoran.tech |
hexo g 重新生成一下
hexo d 部署到github上
此时可以通过域名访问了。