前一阵子逛酷安,看到wordpress的app评论下一大堆晒博客的。点开看了下,大致分为动态博客和静态博客两种。动态博客以wordpress和typecho为主,静态博客(严格地说是生成器)以hexo为主。
hexo相比起其他静态博客生成器,有以下特点:
- 基于node.js,环境易配置。
- 生成速度快,处理几百篇文章的静态网页仅需几秒。
- 原稿采用markdown格式,兼容html,因而可以用的编辑器很多。
- 主题多,插件系统完善。
- 可以从wordpress等主流博客导入…=( ̄□ ̄;)⇒
对比动态博客,hexo的特点有:
- 省去php等cgi系统的处理过程,快!
- 省去了后台的资源,仅需一个http服务器即可提供服务。
- 评论功能要自己开发或者依赖第三方。
- 编写后不能立即发布,需要生成。(意味着不能随时随地发博客了哦)
和配置一个动态博客一样,配置还是要的。我也尝试了一下hexo博客的搭建,大概的流程如下:
安装git
git是常用的代码版本控制器。在hexo的使用中要使用到git,同样安装主题也可以使用git便捷地完成。git可以用以下方法安装:
- debian或ubuntu等基于apt包管理器的linux:
sudo apt install git-core
- fedora等基于rpm包管理器的linux:
yum install git
- 安装了Homebrew的OS X:
brew install git
- 安装了Xcode的OS X:
在Preference中选择Install Command Line Tools即可。
配置node(node.js)
hexo是一个基于node.js的应用,相当于是一个本地化的Javascript。要使用hexo,就需要先配置node.js运行环境。
hexo使用的node.js的入口命令为node
。
nvm方法
nvm方法是官方推荐的node环境配置方法。nvm独立存在于一个用户的~/.nvm/
文件夹,配置简单,无需root权限。不想要了删除也很简单,只需把.nvm
文件夹删除即可。
在线安装nvm可以使用官方的自动化脚本,可以使用以下的命令一键完成:
- cURL方法:
$ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
- Wget方法:
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
之后就会进行nvm的在线安装。
由于会从github上git clone
文件下来,所以说对于国内的网络来说(尤其是教育网),速度很疼那是必然的。最后,下载好了之后,命令行会提示你,将以下代码复制到shell的配置文件,如~/.bashrc
、~/.zshrc
,以完成环境变量设置。
export NVM_DIR="<用户目录>/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
配置好nvm之后,重启shell(如重新登录ssh、重新启动终端),就可以用以下命令开始稳定版node.js的安装:
$ nvm install stable
二进制文件方法
此外,由于node是一个单独的二进制文件,我们可以使用社区编译好的版本,或者自己直接从源码编译。编译方法不再叙述,请自行查找代码。
- debian或ubuntu等基于apt包管理器的linux:
sudo apt install node npm
- fedora等基于rpm包管理器的linux:
yum install nodejs npm
- 安装了Homebrew的OS X:
brew install node npm
在最新的ubuntu 16.04系统中,node包不存在,改为了nodejs,安装时候如果提示包不存在,可以尝试替换node为nodejs。
在此种情况下,不存在入口文件/usr/local/bin/node
,需要从nodejs处软链接过来,否则后续操作可能会报错。
ln -s /usr/local/bin/nodejs /usr/local/bin/node
安装hexo
安装hexo比上述操作简单多了,只需要一行命令:
npm install -g hexo-cli
如果没有明显的错误产生,现在就可以执行hexo命令了。我们不妨挑一个目录名,执行以下命令:
hexo init <你要的目录名>
(这个命令也会访问github,需要稳定的网络)
随后,可以通过修改_config.yml
文件来配置自己的站点。
- 新建一篇文章可以用:
hexo new post <你要的文章名>
随后可以在source/_post找到对应的.md文件 - 在这之后,可以运行:
hexo server
即可在http://<你的服务器地址>:4000/
访问。 - 要发布网站了,就要生成静态页面:
hexo generate
后可以在public目录找到静态文件,可以链接到服务器目录发布,也可以用git发布到github.io上。
References:
[1]. hexo.io
这次我也仅仅是体验了一把hexo,暂时没有打算把主站迁移到hexo的打算。
不信?看页脚~
略略略~
alphaxz@SCUT