Rock's blog

兴趣是最好的老师

0%

再“见”hexo——重新理解hexo

再“见”hexo——重新理解hexo

从两年前初次接触hexo,到工作之后再次拾起hexo并解决了一些坑。我想重新再梳理一下hexo的用法和安装中的坑。

1.Node.js npm hexo他们是什么关系?

(1)Nodejs

官方解释:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。

简单的说 Node.js 就是运行在服务端的 JavaScript。

我目前的理解是,对于hexo来说,Node.js是将hexo的markdown文本编写成html等文件的编译器。

(2)npm

npm 是 JavaScript 世界的包管理工具。

我的理解,npm是用于安装各种第三方JavaScript模块的软件管理器。类似于Ubuntu/Debian系统中的apt包管理器或者是CentOS系统中的yum。

(3)hexo

官方解释:Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

我的简单理解:hexo可以让你用Markdown编写静态博客。

2.如何安装hexo

(1)构建本地博客源码仓库

最佳方案,你需要参考hexo官网的安装教程。我的经验是不同的操作系统安装方法不一样,请务必尽量遵循官网的安装建议,否则不一定哪里会出现问题。

(2)生成远程博客托管仓库

你可以选择托管到github或coding上或者是你自己的主机上,这一点网上的许多教程都有说过,这里不再赘述。

3.一些坑

(1)如果你发现hexo生成文件后无法开启本地模拟服务器,即hexo s无法识别且hexo的帮助中没有server指令。那么你可能没有安装hexo-server。Hexo 3.0 把服务器独立成了个别模块,你必须先安装hexo-server才能使用。

$ npm install hexo-server --save

安装完成后,输入以下命令以启动服务器,你的网站会在http://localhost:4000下启动。

$ hexo server

如果你想要更改端口,或是在执行时遇到了EADDRINUSE错误,可以在执行时使用-p选项指定其他端口,如下:

$ hexo server -p 5000

(2)在输入hexo deploy后,hexo报如下错误:

ERROR Deployer not found: git

这是由于你没有安装hexo-deployer,执行以下命令来进行安装:

$ npm install hexo-deployer-git --save

(3)在在输入hexo deploy后,hexo提示:

You should configure deployment settings in _config.yml first!

查看一下你的hexo根目录下的_config.ymldeploy:的配置是否正确。应类似于以下内容:

deploy:
type: git
repo: git@github.com:Rock718/rock718.github.io.git

注意:这里的type:repo:后面至少应该有一个空格。如果你有多个repo:,样子应该类似这样:

deploy:
type: git
repo:
      github: git@github.com:Rock718/rock718.github.io.git
      coding: git@coding.com:**********

一定要注意缩进的问题

(4)如果你想在hexo中插入图片,建议参考官网的推荐,使用形如:

{% asset_img example.jpg This is an example image %}

当然,在这之前你需要配置hexo根目录下的_config.ymlpost_asset_folder: true