现在博客平台很多,不过界面风格都会受到限制,不能随心所欲
无意中发现了自搭博客Hexo的简洁风格,一下子就被迷住了,于是也着手搭建一个
安装环境
-
安装git
➜ ~ brew cask install git
查看git版本
➜ ~ git --version git version 2.7.1
配置参数
$ git config --global user.name guidongyuan $ git config --global user.email guidongyuan@163.com
删除配置参数
$ git config --global --unset user.name guidongyuan
-
安装node
➜ ~ brew install node
查看node版本
➜ ~ node -v v7.2.1
-
安装hexo
国内网络下,安装有点慢,耐心等待
➜ ~ npm install -g hexo-cli
查看hexo版本
➜ ~ hexo -v hexo-cli: 1.0.2 os: Darwin 16.1.0 darwin x64 http_parser: 2.7.0 node: 7.2.1 v8: 5.4.500.44 uv: 1.10.1 zlib: 1.2.8 ares: 1.10.1-DEV modules: 51 openssl: 1.0.2j icu: 58.1 unicode: 9.0 cldr: 30.0.2 tz: 2016g
本地部署hexo
-
初始化hexo
我在原有的code文件下,新建一个文件夹,命名为hexo
➜ code mkdir hexo
进入hexo文件下初始化站点
➜ code cd hexo ➜ hexo hexo init
安装成功后最后会提示
INFO Start blogging with Hexo!
-
本地部署测试
➜ hexo hexo server INFO Start processing INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
服务运行后,打开浏览器,输入 http://localhost:4000/ 则可以看到hexo的默认页面
image
部署到Github Pages
-
创建Github账号,自行到[github][https://github.com]注册账号
-
创建一个repository,名称必须为 用户名.github.io
image -
创建成功后出现该页面
image
-
创建SSH Key 进行身份验证
本地Git仓库与Git远端进行通信时,需要通过SSH进行身份验证
查看电脑是否存在SSH Key,如果存在.ssh 文件,则电脑已经存在,如果第一次使用,则需要生成SSH Key
➜ ~ ls -al
生成SSH Key,出现Enter file 和 passphrase 直接Enter保持默认设置
➜ ~ ssh-keygen -t rsa -C "guidongyuan@163.com"
参数含义:
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。此时在.ssh文件夹中会生成id_rsa id_rsa.pub两个文件
-
在Github中添加SSH Key
imageTitle可以自定义,key为id_rsa.pub 文件中的内容
-
修改hexo的配置文件,部署到服务器
打开_config.yml配置文件,修改最下面的# Deployment,修改后如下
# Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repository: git@github.com:guidongyuan/guidongyuan.github.io.git branch: master
注意: :后面必须要加空格
发布博客
-
新建博客
➜ hexo hexo new testBlog INFO Created: ~/code/hexo/source/_posts/testBlog.md
新建的博客会自动保存在_posts文件下,也可以自己创建一个md文件放在该目录下,不过要注意加上hexo的头部信息,头部信息可以拷贝用命令行自动生成的文档模板.
打开testBlog.md可以看到头部信息如下
title: testBlog date: 2016-12-17 14:58:13 tags:
-
生成静态Html文件
➜ hexo hexo generate
简便输入为
➜ hexo hexo g
这个时候会发现在hexo文件夹内多了一个public文件夹,该文件保存生成的静态Html文件
-
发布博客
➜ hexo hexo deploy
简便输入为
➜ hexo hexo d
如果提示如下,则需要安装Deployer
➜ hexo hexo deploy ERROR Deployer not found: git
➜ hexo npm install hexo-deployer-git --save
安装成功后,再次执行hexo deploy
验证效果
-
在浏览器中输入 用户名.github.io (如guidongyuan.github.io)可以看到和本地部署测试一样的效果
image
其他
草稿
在新建文件的时候,可以先写草稿,等到写好之后,再发布出去。那么,就需要草稿的功能。
➜ hexo hexo new draft "新建草稿文件"
这样,文件就会创建在会在source/_drafts目录下,如果想在本地部署预览草稿,则可以使用
➜ hexo hexo server --drafts
当文章写好之后,想发布出去,就要移出草稿
➜ ➜ hexo hexo publish "新建草稿文件"
错误
-
后来更新了Node.js的版本到8.0,使用hexo的时候,提示如下
rror: The module '/usr/local/lib/node_modules/hexo-cli/node_modules/dtrace-provider/build/Release/DTraceProviderBindings.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 51. This version of Node.js requires NODE_MODULE_VERSION 57. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`).
解决办法
# 重新安装hexo ➜ hexo npm install hexo --no--optional # 如果执行上面命名后,还是提示错误,则先卸载再安装 ➜ hexo npm uninstall hexo-cli -g ➜ hexo npm install hexo-cli -g
参考链接
-
应该是相对应的库没有或者版本比较老导致的错误,提示如下
➜ hexo hexo g (node:6410) [DEP0061] DeprecationWarning: fs.SyncWriteStream is deprecated. INFO Start processing FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html Error: Cannot find module 'highlight.js/lib/languages/hy'
解决办法
➜ hexo npm install highlight.js --save highlight.js@9.12.0 updated 1 package in 2.851s
网友评论