py's blog

sh∅ut

Hexo 常见问题

1. GitHub 项目添加 README.md
2. 添加 favicon.ico
3. 在主页中只显示摘要
4. 自定义部署到 GitHub 的 commit 信息
5. 添加文章 tags
6. 添加图片
7. 博客站内链接跳转
8. Hexo 大小写问题

0. 前置

1. GitHub 项目添加 README.md

问题:
在将本地的站点部署到 Github 时会删除原项目下的 README.md。

解决:

  1. 将 README.md 置于 blog/source 目录下
  2. 修改 blog/_config.yml,找到 skip_render 字段,更改为:
    1
    skip_render: README.md

参考:
Hexo渲染时排除部分文件或目录

2. 添加 favicon.ico

问题:
默认情况下,在网页的标签栏显示的 favicon.ico 为空白。

解决:

  1. 制作 ico 图标,建议尺寸 48*48,命名为 favicon.icon
  2. 将图标置于 blog/source 目录下,修改 blog/_config.yml

    1
    favicon: /favicon.ico
  3. 在本地应该是可以马上呈现,在 GitHub 网址上比较慢,耐心等待

参考:

  1. Hexo搭建的个人博客,怎么显示网站的 favicon.ico?
  2. 在线生成透明 ICO 图标

3. 在主页中只显示摘要

问题:
默认情况下,会在主页显示很多信息。

解决:
在摘要和正文间添加: <!-- more -->

参考:
Hexo主页显示摘要

4. 自定义部署到 GitHub 的 commit 信息

问题:
在使用 hexo d 部署到 GitHub 上时,默认的 commit 信息只带有时间。

解决:
hexo d 时,添加 --message,即:

1
$ hexo d --message "your message"

参考:
hexo 部署到 github 的时候可以动态添加 commit 的 message 吗

5. 添加文章 tags

问题:
在部署文件时添加 tags,便于查找。

解决:
在目标文章的 md 文件中添加:tags: [tag1, tag2, tag3]

参考:
hexo 分类与 tags 配置

6. 添加图片

问题:
在文章中添加图片

解决:

  1. 少量图片
    • 将图片置于 source/images 目录下
    • 通过 ![sample](images/sample.jpg) 访问
  2. 文章资源文件夹

    • 修改 _config.yml,设置 post_asset_folder 为 true,会在 _posts 目录下生成与 md 文件同名的文件夹
    • 执行:

      1
      $ npm install https://github.com/CodeFalling/hexo-asset-image --save
    • 在上述生成的文件夹中添加图片,通过 ![sample](sample.jpg) 访问

参考:

  1. Hexo 资源文件夹
  2. hexo 博客图片问题
  3. https://github.com/CodeFalling/hexo-asset-image

7. 博客站内链接跳转

问题:
以相对路径访问站内的其他文章

解决:

1
{% post_link 文件名(不要后缀) "标题(可选)" %}

如果想跳转的文件名为 hello-world.md,则可以写为:

1
{% post_link hello-world "你好世界" %}

参考:
markdown 编写的 hexo 博客文章内部怎么跳转?

8. Hexo 大小写问题

问题:
当在本地改变 md 文件的大小写时,部署到 GitHub 上后,改变了文件名的博客不能被访问。

原因:
Hexo 默认的 git 操作会忽略大小写。

解决:

  1. 修改根目录下 .deploy_git/.git/config 文件,将 ignorecase 的值由 true 改为 false
  2. 删除 .deploy_git 目录下除 .git 目录外的其他文件
  3. cd 到 .deploy_git 目录下,手动做一次推送

    1
    2
    3
    git add .
    git commit -m "delete all hexo generated files"
    git push
  4. 重新生成并部署

    1
    2
    hexo g
    hexo d

参考:
Hexo大小写引起的404问题

9. 未完待续