Hexo 是一个快速、简洁且高效的博客框架,使用 Markdown 解析文章,还可以发布到 GitHub.io 上。 最好自备翻墙环境。

  • 时间:2017年

  • 设备:Windows电脑

  • 环境:需翻墙

搭建Hexo环境

绝大部分操作都是命令行/终端中进行,Hexo基于 Node.js ,首先我们安装Node.js,再通过Node.js的包管理工具 npm 安装Hexo即可。

步骤1:安装Node.js和npm

如果电脑上已经有nodejs环境,则可以跳过步骤1。

直接从官网下载安装包,Windows系统是msi格式,Mac OS X是一个pkg格式,点击安装即可,可以看到路径自动添加到环境变量中。npm随Node.js附带安装的。可以通过命令行敲入node -vnpm -v查看版本号,成功返回的说明安装成功。

步骤2:安装Hexo

通过npm安装Hexo(如果npm速度太慢,用淘宝镜像的 cnpm 代替)。敲入npm install -g hexo-cli 安装hexo命令行工具,-g代表全局安装。敲入hexo -v查看是否安装成功。mkdir demo 创建名为demo的目录,cd demo进入demo目录。接下来hexo init ,demo目录下多出很多文件,文章在/ source/_posts目录下,为markdown文档,使用 Typora 或其他Markdown软件修改。

接下来添加 敲入hexo server并回车,服务在本地启动。浏览器访问 http://localhost:4000/ 至此,Hexo已经全部搭建完成,只要在本地启动服务并访问。如果想发布到Github.io,请继续阅读下一章节。

搭建GitHub.io

  1. 注册Github.com账号,新建一个名为HelloW的Repository公开仓库。

  1. 在HelloW的Respository页面点击”Setting“,进入设置页面。在GitHub Pages栏选择master branch,点击”Choose a theme“选择一个主题,点击”Save“保存。

  1. 进入 This4me.github.io/HelloW ,可以看到一个Demo页面。到此GitHub.io就已经搭建成功。接下来的操作就是把本地Hexo制作的页面发布上去。

发布到Github.io

电脑上需要安装 Git工具 ,并把Git和Github账号关联。安装完之后,打开Git Bash,敲入ssh-keygen -t rsa -C "[email protected]",[email protected]替换成自己的注册邮箱。如图

提示请输入文件名,不用输入直接回车,接下请输入密码,也一路回车即可。在用户目录下有个.ssh文件,打开idrsa.pub文件,复制拷贝到Github中的Setting–SSH and GPS keys –New SSH key,title任意填写。接下来在Git Bash中敲入git config --global user.name "your name"git config --global user.email "[email protected]设置,name,email分别是Github中的用户名和注册邮箱。

Hexo这边也需要设置,在项目目录下,敲入npm install hexo-deployer-git --save安装组件,接着修改目录下的_config.yml文件,记得替换成自己的用户名和项目名。

敲入hexo generatehexo g生成静态页面到public目录下。最后敲入hexo deploy发布到Github上。浏览器输入 xxxx.github.io/HelloW 即可看到最新的博客页面。

问题

ERROR Deployer not found: git Hexo没有安装hexo-deployer-git组件,或者安装命令没有在项目目录下执行

官网

  1. Hexo https://hexo.io/docs/server.html
  2. MarkDown https://zh.wikipedia.org/wiki/Markdown
  3. GitHub.io https://pages.github.com/
  4. Node.js https://nodejs.org
  5. npm https://www.npmjs.com/
  6. Typora https://www.typora.io/
  7. Git工具 https://git-scm.com/

参考

[1] github提示Permission denied (publickey),如何才能解决? - 段海宁的回答 - 知乎 https://www.zhihu.com/question/21402411/answer/42836492