hello github
这是我在github上的第一篇blog,本blog的内容即描述如何在github上完成本篇blog. 所有内容基于如下知识和工具构建:
git
git是一个分布式版本控制系统(VCS),通过完整的阅读一遍pro git这本书可以熟悉git及github的概念和用法.
github
github是一个基于git软件开发社区.阅读got github进一步熟悉github
markdown
markdown是一个简单的基于文本的标记语言,我主要使用markdown和github flavored markdown标记来写文章
hexo
虽然github官方推荐使用jekell来做blog内容,但我对ruby没兴趣,正好最近在了解JavaScript,所以采用基于node.js的hexo来维护blog内容。
do it in Linux
安装git, nodejs, hexo
参考https://hexo.io/docs/1
2
3
4
5$ sudo apt-get install git-core
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
// restart terminal
$ nvm install 4
$ npm install -g hexo-cli
在github创建blog仓库
在github创建新仓库 wangwh0204.github.io,这个仓库就可以直接作为个人blog站点的内容。通过 http://wangwh0204.github.io 即可访问,内容由hexo生成。
使用hexo
初始化hexo
1
2
3
4$ hexo init blog
$ cd blog
$ npm install
$ npm install hexo-deployer-git --save配置_config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15title: 知行合一,敬天爱人
subtitle: just do IT. keep it simple & stupid.
description: steven's thinking
author: steven wang
url: http://wangwh0204.github.io
new_post_name: :year-:month-:day-:title.md
theme: jacman
deploy:
type: git
repo: git@github.com:wangwh0204/wangwh0204.github.io.git
branch: master选择 theme
参考 https://hexo.io/themes/ 和 http://www.zhihu.com/question/24422335 挑选适合自己口味的主题,我选的是jacman,参考http://wuchong.me/jacman/2014/11/20/how-to-use-jacman/ 进行定制
1 | $ git clone https://github.com/wuchong/jacman.git themes/jacman |
修改_config.yml : theme: jacman , 并配置themes/jacman/_config.yml文件
旧文章
旧文章需要做如下改造:- 用符合Markdown格式改写
- 文件名使用:year-:month-:day-:title.md方式命名
- 在文件头部加入称为front-matter的metadata信息,例如:
1
2
3
4
5
6
7
8
9
10
11title: hello github
date: 2015-11-04
updated: 2015-12-08 13:38
categories:
- [others]
tags:
- git
- github
- markdown
- hexo
新文章
1
$ hexo new <title>
或者 直接copy 写好的md文件到source/_post目录
- 预览
1
$ hexo server
打开浏览器输入 http://localhost:4000 查看效果,根据需要做相应的调整。
- 发布
1
$ hexo generate --deploy
hexo会生成静态文件到public目录,并根据_config.yml的配置自动push到github。
blog源文件管理
hexo会将md文件处理成可以静态访问的web页面,并自动推送到github。但通过hexo编写的.md文件本身并没有做版本管理,为了方便在不同的机器上操作,可以再建一个仓库来管理。
- 在github新建仓库 blog
- 本地操作
经过上面的步骤,blog的initial 版本已经就绪,现在直接在之前hexo init的目录进行操作1
2
3
4
5
6
7
8
9
10
11$ git init
$ git remote add origin git@github.com:wangwh0204/blog.git
// 如果是在新机器上使用,需要使用 git clone git@github.com:wangwh0204/blog.git
// 要确保.gitignore里面有node_modules/ public/ .deploy
// 如果每次要求输入密码可能是一开始生成秘钥的时候输入了密码。参考[解决方法](https://blog.timbby.top/2019/06/13/git-need-passphrase/),重置密码为‘’即可
$ git add .
$ git commit -m "initial commit"
$ git push -u origin master
// 既然已经完成此次commit,发布新的内容到blog site
// 部署的时候出现SSH相关问题参考 https://help.github.com/categories/ssh/
$ hexo g -d
如果开启评论
多说 不在运营,使用Gitment作为新的评论系统。Gitment的idea很有创意,复用了github的issue comment。配置参考