Deploy private blog using Github and Hexo
文章目录
Install nodejs
Download and Install nodejs
先找个地方,用于存放你的node程序
一般会使用固定的目录,如:/data/daen-bin
1 2 |
mkdir -p /data/dean-bin cd /data/dean-bin |
下载并解压程序文件到dean-bin目录
1 2 3 4 |
wget https://nodejs.org/dist/v4.7.2/node-v4.7.2-linux-x64.tar.xz xz -d node-v4.7.2-linux-x64.tar.xz tar -xf node-v4.7.2-linux-x64.tar rm -f node-v4.7.2-linux-x64.tar |
创建node链接,方便后续更新版本不需要更新配置
1
|
ln -s node-v4.7.2-linux-x64 node |
修改profile文件,让其可以读取到node和npm两个命令
1 2 3 4 5 |
cat << EOF >> ~/.bash_profile export MY_BIN=/data/dean-bin export NODEROOT=\$MY_BIN/node export PATH=\$PATH:\$NODEROOT/bin EOF |
Install hexo
创建hexo文件夹,并安装hexo,同时进行初始化
1 2 3 4 |
mkdir hexo cd hexo npm install -g hexo-cli hexo init |
安装hexo插件
1 2 3 4 5 6 7 8 9 10 11 12 13 |
npm install hexo-generator-index --save npm install hexo-generator-archive --save npm install hexo-generator-category --save npm install hexo-generator-tag --save npm install hexo-server --save npm install hexo-deployer-git --save npm install hexo-deployer-heroku --save npm install hexo-deployer-rsync --save npm install hexo-deployer-openshift --save npm install hexo-renderer-marked --save npm install hexo-renderer-stylus --save npm install hexo-generator-feed --save npm install hexo-generator-sitemap --save |
启动hexo服务进行本地测试
1 2 3 |
$ hexo s INFO Start processing INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop. |
如果出现上面提示,你就可以通过本地的4000端口访问页面,访问成功说明hexo可正常使用
创建github仓库(注册自行解决,并确定已经将自己的私有key放在github上。也就是可以免密码使用git)
在github上创建仓库:xxx.github.io.git
其中xxx为你的git用户名,如:git@github.com:dean/dean.github.io.git
修改hexo配置
其中title, subtitle, description, author根据按字面理解进行修改 language设置成zh_CN url设置成你自己的域名,如果不进行域名执行可不修改 其中deploy参照下列进行修改
最终的配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# Hexo Configuration ## Docs: https://hexo.io/docs/configuration.html ## Source: https://github.com/hexojs/hexo/ # Site title: Dean's Blog subtitle: to going... description: author: Dean.wu language: zh_CN timezone: # URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://yoursite.com root: / permalink: :year/:month/:day/:title/ permalink_defaults: # Directory source_dir: source public_dir: public tag_dir: tags archive_dir: archives category_dir: categories code_dir: downloads/code i18n_dir: :lang skip_render: # Writing new_post_name: :title.md # File name of new posts default_layout: post titlecase: false # Transform title into titlecase external_link: true # Open external links in new tab filename_case: 0 render_drafts: false post_asset_folder: false relative_link: false future: true highlight: enable: true line_number: true auto_detect: false tab_replace: # Category & Tag default_category: uncategorized category_map: tag_map: # Date / Time format ## Hexo uses Moment.js to parse and display date ## You can customize the date format as defined in ## http://momentjs.com/docs/#/displaying/format/ date_format: YYYY-MM-DD time_format: HH:mm:ss # Pagination ## Set per_page to 0 to disable pagination per_page: 10 pagination_dir: page # Extensions ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ theme: landscape # Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repo: git@github.com:xxx/xxx.github.io.git branch: master message: update :{{now("YYYY-MM-DD HH/mm/ss")}} |
测试hexo部署
1 2 |
hexo g hexo d |
如果上述命令执行正常,你将可以打开你的博客页面:https://xxx.github.io/
Done
文章作者 今何安
上次更新 2017-01-18