以个人博客为例,博客地址
准备工作
安装
$ npm install -g hexo-cli
初始化
$ hexo init <folder>
$ cd <folder>
$ npm install
创建新文章
$ hexo new “My New Post”
运行开发环境
$ hexo server
$ hexo s
构建
$ hexo generate
$ hexo g
部署
$ hexo deploy
$ hexo d
详细准备工作,可以查阅 hexo 官网
安装主题 cactus,一个很程序员的主题,推荐!
克隆仓库,并且将源文件复制到博客项目中 themes 目录下
git clone https://github.com/probberechts/hexo-theme-cactus.git themes/cactus
themes/cactus/_config.yml 相关配置, 详细解释可以看官方文档
# 首页 Projects 的 url
projects_url: https://github.com/xiaobinwu
# 设置页面方向
direction: ltr
# 首页导航
# $ hexo new page about,可以创建 page 页面
nav:
home: /
about: /about/
articles: /archives/
categories: /categories/
search: /search/
# 社交链接
social_links:
github: https://github.com/xiaobinwu
mail: mailto:xiaobin_wu@yahoo.com
# 开启标签快捷方式
tags_overview: true
# 首页 Writing 的展示条数
posts_overview:
show_all_posts: false
post_count: 5
sort_updated: false
# 排列方式
archive:
sort_updated: false
post:
show_updated: false
# logo 设置
logo:
enabled: true
width: 50
height: 50
url: /images/logo.png
gravatar: false
# ico 设置
favicon:
desktop:
url: /images/favicon.ico
gravatar: false
android:
url: /images/favicon-192×192.png
gravatar: false
apple:
url: /images/apple-touch-icon.png
gravatar: false
# 高亮语法
highlight: kimbie.dark
# 博客主题色,dark, light, classic, white
colorscheme: dark
page_width: 48
# rss 设置
rss: atom.xml
open_graph:
fb_app_id:
fb_admins:
twitter_id:
google_plus:
# disqus 评论,默认不开启,需翻墙
disqus:
enabled: false
shortname: cactus-1
# 谷歌统计
google_analytics:
enabled: false
id: UA-86660611-1
# 百度统计
baidu_analytics:
enabled: false
id: 2e6da3c375c8a87f5b664cea6d4cb29c
gravatar:
email: xiaobin_wu@yahoo.com
valine:
enable: true
app_id: xxxxxx
app_key: xxxxxxx
Valine 评论系统
themes/cactus/_config.yml 配置 Valine,需要申请 app_id,app_key
valine:
enable: true
app_id: xxxx
app_key: xxxx
themes/cactus/layout/_partial/comments.ejs, 写入
<% if(theme.valine.enable) {%>
<script src=”//cdn1.lncld.net/static/js/3.0.4/av-min.js”></script>
<script src=’//unpkg.com/valine/dist/Valine.min.js’></script>
<div id=”vcomments” class=”blog-post-comments”></div>
<script>
new Valine({
el: ‘#vcomments’,
visitor: true,
appId: ‘<%=theme.valine.app_id %>’,
appKey: ‘<%=theme.valine.app_key %>’,
placeholder: ‘ ヾノ≧∀≦)o 来啊,快活啊!’,
avatar: ‘robohash’
})
</script>
<% } %>
自动部署 hexo 博客到阿里云服务器
创建仓库 (远端服务器创建 git 仓库), 可以使用 ssh 登入云服务器
mkdir blog.git && cd blog.git
git init –bare
Hexo 配置
deploy:
type: git
message: update
repo: root@xx.xxx.xx.xxx:/www/wwwroot/blog.git,master
插件安装
npm install hexo-deployer-git –save
自动部署
进入到 git 仓库 hooks 目录,并创建钩子 post-receive
cd /www/wwwroot/blog.git/hooks
touch post-receive
vim post-receive
输入下面脚本:
#!/bin/bash -l
GIT_REPO=/www/wwwroot/blog.git
TMP_GIT_CLONE=/www/wwwroot/tmp/blog
PUBLIC_WWW=/www/wwwroot/blog
rm -rf ${TMP_GIT_CLONE}
mkdir ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
更改权限
chmod +x post-receive
chmod 777 -R /www/wwwroot/blog
chmod 777 -R /www/wwwroot/tmp/blog
最后部署
$ hexo g -d