以个人博客为例,博客地址(http://wushaobin.top/)
准备工作
安装
$ 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的urlprojects_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: falsepost: 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-192x192.png gravatar: false apple: url: /images/apple-touch-icon.png gravatar: false# 高亮语法highlight: kimbie.dark# 博客主题色,dark, light, classic, whitecolorscheme: darkpage_width: 48# rss设置rss: atom.xmlopen_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: 2e6da3c375c8a87f5b664cea6d4cb29cgravatar: email: xiaobin_wu@yahoo.comvaline: 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.gitgit 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/hookstouch post-receivevim post-receive
输入下面脚本:
#!/bin/bash -lGIT_REPO=/www/wwwroot/blog.gitTMP_GIT_CLONE=/www/wwwroot/tmp/blogPUBLIC_WWW=/www/wwwroot/blogrm -rf ${TMP_GIT_CLONE}mkdir ${TMP_GIT_CLONE}git clone $GIT_REPO $TMP_GIT_CLONErm -rf ${PUBLIC_WWW}/*cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
更改权限
chmod +x post-receivechmod 777 -R /www/wwwroot/blogchmod 777 -R /www/wwwroot/tmp/blog
最后部署
$ hexo g -d