
Hexo+GitHub博客搭建
[TOC]
简介
1.为什么使用Hexo + GitHub
网上有人基于WordPress搭建博客,但是这个需要数据库,服务器之类的,搭建有点麻烦,后来查阅资料看到hexo配合github也可以用来搭建博客!github
作为服务器解决了租用服务器的问题,Hexo
是一款基于Node.js的静态博客框架。
可以在Hexo上搭建自己的独立博客,然后托管到Github或其他类似平台上,建立自己的独立域名博客非常简单.
- 1.Hexo本身操作也比较的简单,基本常用的操作命令没几个,很容易上手;
- 可以自由定制,任意换成自己喜欢的样式;
- 支持Markdown语法(一种标记语言,上手容易);
- 使用Hexo建立的博客是静态的,比起动态网页更方便被搜索引擎检索出来,这也比WordPress更具有优势
最后选择使用Hexo + GitHub来搭建博客。
2.Hexo
Hexo
是一个简单地、轻量地、基于Node的一个静态博客框架,只是帮你生成静态网页博客的工具, 你可以在本地进行调试,可以方便的生成静态网页托管在github和Heroku上,引用Hexo作者 @tommy351 的话:
快速、简单且功能强大的 Node.js 博客框架。
A fast, simple & powerful blog framework, powered by Node.js.
3.GitHub Pages
GitHub Pages 可以被认为是用户编写的、托管在github上的静态网页。由于它的空间免费稳定, 可以用于介绍托管在github上的Project或者搭建网站。
gp 生成的网站的默认域名是 username.github.io 或者 username.github.io/project-name ,但gp是支持自定义域名的: Custom Domain Name 。购买域名之后,可以和默认的二级域名进行绑定。
4.Hexo安装
由于 Hexo 是基于 Node ,安装前要先安装 Node。Node.js 用来生成静态页面.安装Node.js就可以在官网:https://nodejs.org/en/下载安装.
Git 用来将本地 Hexo 内容提交到Github上。Xcode自带Git。没有Xcode可以参考Hexo官网上的安装方法。
Node和Git都安装好后,开始安装Hexo:
1.安装 Hexo
在终端下输入:
1 | $ sudo npm install -g hexo-cli |
输入管理员密码(Mac登录密码)即开始安装 (sudo:linux系统管理指令 -g:全局安装)
注意坑一:Hexo官网上的安装命令是$ npm install -g hexo-cli,安装时前面要加上sudo,否则会因为权限问题报错。
2.初始化Hexo
终端cd到一个你选定的目录,
1 | $ cd /Users/pazq/Downloads/hexo1 |
执行hexo init命令:
1 | $ hexo init blog |
blog是你建立的文件夹名称。cd到blog文件夹下,执行如下命令,安装npm:
1 | $ npm install |
3. 开启hexo服务:
1 | $ hexo s |
4. 生成静态页面:
1 | $ hexo g |
安装成功后,在浏览器中访问 http://localhost:4000,如果能正常访问说明hexo 安装成功.
5.关联GitHub
需要先创建好仓库,名为username.github.io固定写法,
本地的blog文件夹下内容为:
1 | _config.yml |
在终端cd到本地 blog 文件夹下,打开根目录下 _config.yml 文件。可以用软件打开修改, 也可以直接在终端输入:
1 | $ vim _config.yml |
下滑到最后,修改成下边的样子:
1 | deploy: |
注意坑二:在编辑所有的 _config.yml文件时(包括主题theme里的_config.yml文件)所有的冒号:后边都要加一个空格,否则执行hexo命令会报错。
在blog文件夹目录下执行生成静态页面命令:
1 | $ hexo generate 或者:hexo g |
此时若出现如下报错:
1 | ERROR Local hexo not found in ~/blog |
则执行命令:
1 | npm install hexo --save |
若无报错,自行忽略此步骤。
再执行配置命令:
1 | $ hexo deploy 或者:hexo d |
注意坑三:若执行命令hexo deploy仍然报错:无法连接git或找不到git,则执行如下命令来安装hexo-deployer-git:
1 $ npm install hexo-deployer-git --save
再次执行hexo generate和hexo deploy命令。
如果未关联Github,则执行hexo deploy命令时终端会提示你输入Github的用户名和密码,即
1 | Username for 'https://github.com': |
hexo deploy命令执行成功后,浏览器中打开网址https://sghyxp.github.io打开和http://localhost:4000一样的页面。
6.发布文章
终端cd到blog文件夹下(发布文章的操作基本都在blog文件下),执行以下命令新建文章:
1 | hexo new "123" |
名为123.md的文件会建在目录/blog/source/_posts下,123是文件名,为方便链接不建议掺杂汉字。
这里的.md文件可以用支持MarkDown语言的编辑器打开和编辑.(Mou编辑器,Cmd MarkDown,Typora等)
文档编辑完成后,执行命令发布:
1 | hexo generate|g //生成静态页面 |
这里也可以把两句命令连起来写
1 | hexo g -d |
Mac上搭建基于Github的Hexo博客就完成了.
7.安装主题theme
可以到Hexo官网主题页去搜寻自己喜欢的theme。这里以hexo-theme-skapp为例.
将主题 clone 至你的 blog文件夹下的 themes 文件夹下
1 | cd themes && git clone https://github.com/Mrminfive/hexo-theme-skapp.git |
clone 完后将根目录下的 _config.yml 文件中的 theme 字段设置为 hexo-theme-skapp,同时安装对应 node 依赖:
1 | npm install --save hexo-autoprefixer hexo-filter-cleanup hexo-generator-feed hexo-generator-sitemap hexo-renderer-sass hexo-renderer-swig mamboer/lunr.js moment node-sass object-assign |
这里使用npm安装会比较慢, 会遇到安装过程中停止进度不更新,终止安装重新安装时, 需要将之前安装的文件夹清空掉,避免再次安装出错.
npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等),由于该网站服务器位于国外,所以经常下载缓慢或出现异常
因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,淘宝团队的cnpm服务器搭建在国内的.
来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。”
具体差异可以自行查看两者的区别.
npm和cnpm的区别
涉及到配置文件的修改, 一般建议先 hexo clean清除缓存后,再 hexo server,本地预览.