在Termux上部署Hexo

安装

首先要在Termux上安装Hexo,Hexo依赖于node.js。

1
2
$ apt install nodejs
$ npm install hexo-cli -g

初始化

直接初始化博客文件夹

1
2
3
$ hexo init hexo
$ cd hexo
$ npm install

然后会生成一堆文件,内容如下

1
2
3
4
5
6
7
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| └── _posts
└── themes

写作

首先,在hexo目录下使用 hexo new [layout] <title> 来创建一个新文章。

文件生成的位置在下面会写出来。

内容

Hexo使用的写作方式为markdown,生成的文件也是.md格式。

简而言之,markdown写出来是什么样,hexo显示出来就是什么样

布局(Layout)

Hexo 有三种默认布局:postpagedraft,它们分别对应不同的路径,而您自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。

布局 路径
post source/_posts
page source
draft source/_drafts

草稿

刚刚提到了 Hexo 的一种特殊布局:draft,这种布局在建立时会被保存到 source/_drafts 文件夹,您可通过 publish 命令将草稿移动到 source/_posts 文件夹,该命令的使用方式与 new 十分类似,您也可在命令中指定 layout 来指定布局。

1
$ hexo publish [layout] <title>

草稿默认不会显示在页面中,您可在执行时加上 --draft 参数,或是把 render_drafts 参数设为 true 来预览草稿。

主题

找一个你喜欢的,直接丢进 theme 文件夹里。

1
2
3
4
5
.
└── themes
└── Theme
└── config.yml
└── 其他文件等

然后在hexo的 config.yml 中修改 theme 的内容为主题文件夹名即可。

预览

使用 hexo s 命令即可启动hexo服务器,直接访问提供的链接就可以预览了。

这个是实时预览,可以在编辑的过程中保存后直接查看

部署

部署方式分为很多种,可以在这里自行选择所需要的方式

问题解决

hexo安装出现错误

如果在执行 npm install hexo-cli -g 时出现这个错误

1
2
3
npm ERR! Cannot read property 'length' of undefined
npm ERR! A complete log of this run can be found in:
npm ERR! /data/data/com.termux/files/home/.npm/_logs/2018-01-30T14_19_17_572Z-debug.log

打开 /data/data/com.termux/files/usr/lib/node_modules/npm/node_modules/worker-farm/lib 文件夹 ,把farm.js 文件的

1
2
3
4
5
use strict'

const DEFAULT_OPTIONS = {
maxCallsPerWorker : Infinity
, maxConcurrentWorkers : require('os').cpus().length

改成

1
2
3
4
5
use strict'

const DEFAULT_OPTIONS = {
maxCallsPerWorker : Infinity
, maxConcurrentWorkers : (require('os').cpus()||{ length:1}).length

就可以正常安装了

本段解决方案来自 http://sukanka.xyz/2018/01/30/termux/

有关Hexo写作的问题

可以自行到 https://hexo.io/zh-cn/docs/ 寻找你想要的问题