HEXO与Github.io搭建个人博客
HEXO搭建
HEXO是基于Node.JS的一款简单快速的博客框架,能够支持多线程,支持markdown,可以将生成的静态网页发布到github.io以及coding上。
要使用搭建HEXO博客,先安装hexo
1.安装node.js
sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
2.安装npm
npm全名:Node Package Manager,是Nodejs的包管理器。
ubuntu16.04LTS自带nodejs和npm,但是版本较低,假如要安装最新的,先移除自带的。
sudo apt-get remove nodejs && sudo apt-get remove npm
再清理依赖包:
sudo apt-get autoremove
官网上下载nodejs:
cd /opt && wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz
xz -d node-v4.4.5-linux-x64.tar.xz && tar vxf node-v4.4.5-linux-x64.tar
让任意目录可以访问,先配置环境变量
sudo vim /etc/profile
文件最后加上
export PATH=$PATH:/opt/node-v4.4.5-linux-x64/bin
也可以通过软链接,使得任意目录可访问
将node和npm链接到系统默认的PATH目录下的一个,软链接方式如下
ln -s /home/simon/node-v4.4.5-linux-x64/bin/node /usr/local/bin/node
ln -s /home/simon/node-v4.4.5-linux-x64/bin/npm /usr/local/bin/npm
同步文件配置:
source /etc/profile
查看版本:
node –version && npm –version
3.安装hexo
国外站点网速较慢,建议换成淘宝站点
npm install -g npm –registry=https://registry.npm.taobao.org
npm –version
接下来安装hexo-cli
切换到一个合适的目录下
npm install -g hexo-cli
下载完毕之后可以检测一下:
hexo –version
4.配置
hexo本地文件在安装插件的时候,最好都是用root身份执行,不然经常遇到一些问题
初始化本地路径
cd /home/simon/hexo && hexo init
生成node_modules
npm install
生成本地博客
hexo g
hexo server
在浏览器下输入http://localhost:4000,成功的话就生成hexo的标准界面
###部署到github
新建一个repository,例如web(网上说要把名字设置成your_github_name.github.io这种格式,否则会404,但是我没有采用,也能生成)
修改hexo根目录下的_config.yml,新增关联仓库
deploy:
type: git
repository: https://github.com/yourID/web.git
branch: master
注意了,变量名之前要有两个空格,参数值前要有一个空格,通过:分割
假如格式不对,不能被识别,比如:
You should configure deployment settings in _config.yml first!
Available deployer plugins:
git
这样的错误
或者:FATAL remote: Repository not found.
完成之后,到github上完成部署
在项目的setting项找到Github Pages,生成项目
回到终端部署
hexo deploy
如果报错说缺少deployer:npm install hexo-deployer-git –save
打开 https://yourID.github.io/web/ 就可以看到效果,同时自己的github项目也会有文件更新
注:中途可能遇到github的配置问题,请尝试用ssh
ssh-keygen -C “username@email.com” -t rsa
Note: “username@email.com”需要更换成你在Github上注册的Email地址或者是Username
这样会在家目录生成一个公钥文件夹.ssh,其中id_rsa.pub是Github需要的SSH公钥文件。复制后粘贴到github上
hexo简写命令格式:
hexo g == hexo generate(生成静态网页)
hexo d == hexo deploy(部署)
hexo s == hexo server(测试)
hexo n xxx (new article)
hexo clean
hexo help
还有其他选项:
init 创建一个hexo项目
migrate 从其他系统向hexo迁移
version 查看hexo的版本
–config参数,指定配置文件,代替默认的_config.yml
–debug参数,调试模式,输出所有日志信息
–safe参数,安全模式,禁用所有的插件和脚本
–silent参数,无日志输出模式
hexo有许多的主题和插件,可以通过npm、git工具来进行下载,放在theme下
hexo根目录的目录及文件说明:
scaffolds 脚手架,也就是一个工具模板
scripts 写文件的js,扩展hexo的功能
source 存放博客正文内容
source/_drafts 草稿箱
source/_posts 文件箱
themes 存放皮肤的目录
themes/landscape 默认的皮肤
_config.yml 全局的配置文件
db.json 静态常量
_posts目录:Hexo是一个静态博客框架,因此没有数据库。文章内容都是以文本文件方式进行存储的,直接存储在_posts的目录。Hexo天生集成了markdown,我们可以直接使用markdown语法格式写博客,例如:hello-world.md。新增加一篇文章,就在_posts目录,新建一个xxx.md的文件。
themes目录:是存放皮肤的,包括一套Javascript+CSS样式和基于EJS的模板设置。通过在themes目录下,新建一个子目录,就可以创建一套新的皮肤,当然我们也可以直接在landscape上面修改。
###全局配置
_config.yml是全局的配置文件:很多的网站配置都在这个文件中定义。
站点信息: 定义标题,作者,语言
URL: URL访问路径
文件目录: 正文的存储目录
写博客配置:文章标题,文章类型,外部链接等
目录和标签:默认分类,分类图,标签图
归档设置:归档的类型
服务器设置:IP,访问端口,日志输出
时间和日期格式: 时间显示格式,日期显示格式
分页设置:每页显示数量
评论:外挂的Disqus评论系统
插件和皮肤:换皮肤,安装插件
Markdown语言:markdown的标准
CSS的stylus格式:是否允许压缩
部署配置:github发布
参考:http://www.tuicool.com/articles/y6JJV3Z(最详细)
http://www.cnblogs.com/purediy/archive/2013/03/07/2948892.html
http://www.aichengxu.com/other/10706481.htm