快速开始

新建新的日志

1
$ hexo new "My New Post"

More info: Writing

运行本地服务器

1
2
3
$ hexo server
或者
$ hexo s

More info: Server

生成静态文件

1
2
3
$ hexo generate
或者
$ hexo g

More info: Generating

部署到远程

1
2
3
$ hexo deploy
或者
$ hexo d

More info: Deployment

部署到github

1
2
$ hexo g
$ hexo d

遇到的问题

hexo deploy会删除CNAME文件

CNAME文件用于自定义域名,需要将CNAME文件放入source中

插入图片

在source文件夹下新建images文件夹,这样在markdown中可以使用![](images/ss.jpg)
图片除了可以放在统一的images文件夹中,还可以放在文章自己的目录中。文章的目录可以通过配置_config.yml来生成。

1
post_asset_folder: true

将_config.yml文件中的配置项post_asset_folder设为true后,执行命令$ hexo new post_name,在source/_posts中会生成文章post_name.md和同名文件夹post_name。将图片资源放在post_name中,文章就可以使用相对路径引用图片资源了。
_posts/post_name/image.jpg

1
![](image.jpg)

google analyze

需要到链接获取Google Analytics tracking id

字数统计

需要hexo-wordcount

1
npm i --save hexo-wordcount

themes/maupassant/layout/post.pug里用theme变量访问themes的_config.yml来判断是否开启wordcount

增加评论

需要在themes/maupassant/_config.yml里配置gitment
gitment配置
因为用的是github的oauth app,然后gitment会在浏览器里请求callback url,这里涉及到跨域,gitment的作者使用他写的gh-oauth-server服务,但是这个服务停了,会出现gitment无法获得授权,需要修改themes/maupassant/layout/_partial/comments.pug第82行为:

1
script(src='https://cdn.jsdelivr.net/gh/theme-next/theme-next-gitment@1/gitment.browser.js')

每次新的日志需要initialize

自动更新

使用npm install hexo-browsersync --save,之后再使用hexo s会自动更新

增加rss

1
npm install hexo-generator-feed

然后在在_config.yml文件中配置该插件

1
2
3
4
5
6
7
8
feed:
type: atom
path: atom.xml
limit: 20
hub:
content:
content_limit:
content_limit_delim: ' '

参数的含义:

  • type: RSS的类型(atom/rss2)
  • path: 文件路径,默认是atom.xml/rss2.xml
  • limit: 展示文章的数量,使用0或则false代表展示全部
  • hub:
  • content: 在RSS文件中是否包含内容 ,有3个值 true/false默认不填为false
  • content_limit: 指定内容的长度作为摘要,仅仅在上面content设置为false和没有自定义的描述出现
  • content_limit_delim: 上面截取描述的分隔符,截取内容是以指定的这个分隔符作为截取结束的标志.在达到规定的内容长度之前最后出现的这个分隔符之前的内容,,防止从中间截断.

hexo markdown语法

增加分类

1
categories: 🎉hexo

增加标签

1
2
3
tags:
- 123
- 456

参考

maupassant主题参考
Hexo不重新生成也可预览
为hexo博客添加RSS订阅功能
Gitment:使用 GitHub Issues 搭建评论系统
hexo分类
多个 Tags 怎么分割?