安装 hexo 以及初始化 博客项目
由于我是在MacBook Pro上进行搭建操作,所以其他平台的搭建请自行搜索。
安装 hexo
使用 npm 工具进行安装,如果在国内进行操作,建议使用淘宝npm镜像。
-
切换淘宝镜像
$ npm install -g cnpm --registry=https://registry.npm.taobao.org -
安装
hexo$ cnpm install -g hexo-cli
初始化博客
-
进入到 ~/Documents 文件夹初始化博客
$ hexo init <document> #document 为博客的文件夹 $ cd <document> #进入创建的博客文件夹 -
对博客进行基本配置
使用 atom/sublime 等文本编辑对文件夹下的_config.yml文件中的title,subtitle等字段进行自定义设置。其他具体的设置请参照hexo文档
在github和coding上建立代码仓库
注册github账号和coding账号之类操作不再赘述。
github.com
在github上创建代码仓库,需要注意将仓库名取为 username.github.io。其中 username 为你的用户名。
coding.net
coding创建空项目,仓库名称可以任取。初始化仓库之后,在项目上方的选项栏中会有pages服务。可以在里面设置相关的内容。
设置 git
保证操作系统中有git。
在本地生成 ssh_key
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"#填上你的邮箱
之后可以一直回车,或者填写相关的信息。
$ eval "$(ssh-agent -s)"#Start the ssh-agent in the background.
$ ssh-add -K ~/.ssh/id_rsa #Add your SSH private key to the ssh-agent and store your passphrase in the keychain.
#如果在第一步设置了sshkey文件名,替换 id_rsa
$ pbcopy < ~/.ssh/id_rsa.pub #复制ssh_key到粘贴板,这样cmd+v就可以粘贴ssh_key
将 ssh_key 添加到 github 和 coding 中
在github和coding的设置中,将ssh_key绑定好,这样git可以将将代码push到该账号下的指定仓库中。
是否绑定成功可以新建一个仓库使用ssh通道,进行基本git操作。
安装 hexo-depolyer-git 插件
$ cnpm install hexo-deployer-git --save
设置 hexo deploy
在 _config.yml文件中找到 deploy 配置,将github和coding中仓库的ssh地址填写到 repo 中。正确的配置应该如下
deploy:
type: git
repo:
github: git@github.com:username/username.github.io.git,master
coding: git@git.coding.net:user/user.git,master
注意:后的空格。
编写文章
使用MarkDown进行写作,需要了解学习相关语法。使用MarkDown编辑器或者Atom等编辑器相关插件进行编辑。我使用的是 MarkEditor 编辑器。
文章在/source/_posts目录下,新建 .md 文件,使用MarkDown语法进行编辑。文章的一些Front-matter设置可以在 hexo文档中查找。
-
生成文章
$ hexo g #generator -
上传文章
$ hexo d #deploy
都成功之后,会在github和coding的相关仓库中看到相关代码。访问 http://username.github.io和http://username.coding.me/reponame可以看见最原始的博客页面。
github 的页面路由固定,coding的页面路由可以在pages服务里查看。
自定义域名
github和coding的自定义域名大同小异,都需要对域名进行CNAME解析。可以选择二域名来进行解析。
实现coding的自定义域名
将coding.your_domain.com二级域名CNAME记录绑定到到pages.coding.me。并且在项目后台 pages 服务中设置自定义域名
实现github的自定义域名
将github.your_domain.com二级域名CNAME记录绑定到username.github.io。同样在仓库中寻找setting,可以设置custom_domain。
但是 hexo 每次在提交代码之后,仓库后台的设置都会消失,所以好的解决办法是在/source目录下新建文件 CNAME,并在之中输入github.your_domain.com。这样可以使用自定义域名访问github
page了。
自定义主题
找到自己喜欢的hexo主题,把项目的master分支clone到/themes, 然后在根目录下的_config.yml中的theme字段值设置为clone的主题名字。
在/themes/your_theme/layout/_partial/_footer.ejs中可以添加自己域名的备案号。同理其他的页面也可以进行自定义的修改。
建议保留主题和作者链接,尊重开源。
取消Coding Pages
将项目托管在coding上,进入博客前会有Coding Pages出现,取消Coding Pages官方提供了两种方案,推荐使用文字版,将标签放在上文提到的footer中。
设置评论
评论系统有很多,我使用的是友言。进入官网无脑注册,然后获取账号对应代码,类似下面代码
<!-- UY BEGIN -->
<div id="uyan_frame"></div>
<script type="text/javascript" src="http://v2.uyan.cc/code/uyan.js?uid=xxxxxxx"></script>
<!-- UY END -->
将以上代码放入主题对应的文章页面的结尾。具体放在哪个div中,需要一点点前端知识去识别。
有很多主题支持设置评论系统,注意查看主题的文档。