hexo常见命令
新建文章草稿
Hexo 提供了 draft 机制,草稿里将建立在 source/_drafts 目录下。当执行 hexo generate 时,并不会将其编译到 public 目录下,所以 hexo deploy 发布之后,草稿不会显示在页面中。
新建草稿:(草稿不会显示在页面中)
1 | hexo new draft <title> |
本地预览草稿:
1 | $ hexo S --draft |
Hexo server 提供了 --draft
参数,搭配 hexo-browsersync
这个插件,就可以一边编辑 markdown 文章,一边使用浏览器预览。
新建一篇文章
新建的文章,会自动存放在 source/_posts
目录下。
新建文章:
1 | hexo new "my-article" |
本地预览:
1 | hexo serve |
新建文件夹blog
,然后初始化项目:
1 | cd blog |
Hexo 自动部署和发布
我们可以在本地新建一个 xxx.md
文件放在 blog\source\_posts
目录中。然后在本地的blog
目录下,执行如下命令,就可以将文章发布到服务器端了:
方式1:
1 | hexo clean |
方式2:
1 | hexo cl |
方式3:
1 | hexo cl && hexo g && hexo d |
hexo 文章格式
文章格式是选填的,不是必须的;但最好加上尽可能多的文章格式,让文章的信息更完整。
hexo 文章的简略格式
1 | --- |
hexo 文章的较完整格式
1 | --- |
hexo 文章模板的自定义
每次使用 hexo new "my-article"
新建一篇文章时,默认只有title、date、tags这几个属性。
我们可以修改scaffolds/post.md
文件,自定义文章格式的模板,我修改后的内容如下:
1 | --- |
hexo 文章的全部属性
参考链接:https://www.dazhuanlan.com/2019/11/30/5de154d0810af/
自定义文章的url地址
(1)修改 hexo/_config.yml
文件:
1 | #permalink: :year/:month/:day/:title/ |
(2)然后,我们就可以单独在具体某篇文章里的头部,通过 urlname
字段 自定义这篇文章的url了:
1 | --- |
参考链接:
给hexo博客生成RSS订阅
(1)在 hexo 项目根目录下执行如下命令:
1 | npm install hexo-generator-feed --save |
(2)在 hexo 根目录下的 _config.yml
文件中添加如下配置:
1 | #订阅RSS |
(3)在 theme 目录下的 _config.yml 文件中添加如下配置:
1 | rss: /atom.xml |
添加上面这行之后,就可以确保在网站的菜单栏展示出“RSS”这几个字(也就是说,露出了RSS订阅的入口)。
当然,你也可以把RSS订阅的入口放在“社交图标”的位置。不同的主题,配置方式不同。比如,就拿hexo-theme-melody
主题来说,它的配置方式很简单,在melody主题的 _config.yml 文件中配置如下内容:
1 | social: |
(4)重新编译,生成博客的静态文件:
1 | hexo clean && hexo g |
此时,在 public
文件夹中会自动生成一个 atom.xml
文件。
这个atom.xml
就是的 RSS 订阅文件了,以后只需要访问 qianguyihao.com/atom.xml
就可以实现 RSS 订阅了。
参考链接:
hexo-theme-melody 主题配置
官方文档:https://molunerfinn.com/hexo-theme-melody-doc/zh-Hans/
图片无法自适应的问题
解决办法:https://github.com/Molunerfinn/hexo-theme-melody/issues/285
接入 Google Adsense
配置 melody.yml
文件:
1 | google_adsense: |
常见问题积累
nginx 重启失败
修改nginx后,重启nginx:
1 | # 修改nginx |
结果提示下面这个错误:
1 | [root@iZw9 sbin]# ./nginx -s reload |
进入到logs目录发现确实没有nginx.pid文件。
解决办法:
使用指定nginx.conf文件的方式重启nginx:
1 | /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf |
此时去logs目录下查看发现nginx.pid文件已经生成了,而且也完成了自动重启的事情。