本文记录了我搭建博客的全过程
欢迎来我的博客参观
我采用hexo+github的方法搭建
什么是hexo+github?
Hexo(?) 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
Github Pages 是Github(?)提供的一项免费的静态页面托管服务,域名为your_name.github.io,your_name 为你的 Github 用户名。
于是,借助上文两个工具,我们就能搭建一个自己的个人博客网站,而且,通过对上述两个工具的介绍,相信你也猜到了,
我们的搭建过程主要分为两步:
生成本地网站文件
部署到github仓库
1 生成本地网站文件
1.1 安装
我们需要安装以下软件:
- git (如果已经安装github for windows则忽略此步)
- Node.js
安装git之后需要配置系统环境变量,不然后面的操作会出错,参考:windows安装git和环境变量配置。以上
步骤完成之后,使用npm命令安装hexo。
$ npm install -g hexo-cli
1.2 建立本地网站
在本地某一位置新建your_name.github.io
文件夹,
该文件夹如果与guihub for windows 的 clone path 位于同一个分区,那么此文件夹最好是clone path 的子文件夹,
否则在个git shell 无法通过 命令行 中进入该目录,所以最好是不要位于同一个分区。
通过 命令行进入该目录,键入:
npm config set registry "https://registry.npm.taobao.org"
该命令将源镜像切换到淘宝,因为从默认的npm镜像下载实在太慢。
还是在your_name.github.io
目录下,执行:
hexo init
npm install
完成后,该目录下为:
├── _config.yml
├── package.json
├── scaffolds
├── node_modules
├── source
| ├── _drafts
| └── _posts
└── themes
_config.yml
文件存放着网站的配置信息,可以在这里配置大部分的参数。package.json
文件存放着插件信息,从中可以查看那些插件已经安装。scaffolds
是模板文件夹,新建文章时,Hexo 会根据 scaffold 来建立文件,不过这个模板和后面的主题里指的模板不一样。source
是存放用户资源的地方的文件夹,除 posts 文件夹之外,开头命名为 (下划线) 的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹(别急,等下会生成的),而其他文件会被拷贝过去。themes
主题文件夹,Hexo 会根据主题来生成静态页面,我们以后自己安装的主题也都会放在这个文件夹下面,默认的 landscape 主题已经在里面了。
1.3 自定义(可选)
- 在
_config.yml
中可以修改一些网站配置信息,具体依据主题不同而不同。 source\_posts
中新建.md
文件,用markdown语言书写博文。- 从Themes | Hexo 下载更漂亮的主题。(如何操作?)
1.3 启动本地服务预览
hexo generate
hexo server
### 2 部署到github仓库
2.1 准备工作
以上命令我们都是在CMD中键入的,接下来部署部分的所示命令都在Git Bash
中键入。
在
your_name.github.io
根目录下右键-> git Bash here如果已经安装github则直接在git shell进入此目录
在 你的github网页 以your_name.github.io
新建仓库。
#### 2.2 连接到github
如果你之前安装了github for windows 并已登录,则跳过此步前往 2.3 部署。
2.2.1 生成本地密钥
在 Git Bash 下执行:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
此命令在本地生成 SSH key (?) ,SSH key相当于一个信任凭证,用以和
github建立连接,其中,your_email@example.com
是你的 Github 注册邮箱,随后git Bash 出现:
Generating public/private rsa key pair.
Enter a file in which to save the key
(/Users/you/.ssh/id_rsa): [Press enter]
这表示 SSH key生成好了,一般在本地C:\Users\foobar\.ssh\id_rsa
,回车后
又出现:
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
表示让你来设置密码(可选),不设置就直接回车。
有了信任凭证,接下来开启 ssh-agent(?) 程序,
它是一个在本地登录会话持续时间内,将未加密的密钥存储在内存中,并使用 Unix 域套接字与 SSH 客户端进行通信的程序
eval "$(ssh-agent -s)"
将这个 SSH key 添加到 ssh-agent 里去,键入:
ssh-add ~/.ssh/id_rsa
2.2.2 将密钥添加到github
复制 SSH Key ,有两种方法:
- 直接在本地用记事本C:\Users\foobar\.ssh\id_rsa.pub
文件,ctrl+A全选,ctrl+C复制。
- 键入:
$ clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
然后登录github,点击头像-> setting -> SSH and GPG keys -> New SSH key 或者 Add SSH key,
在 Title 这里输入任意值,比如 your_name - PC,然后在 Key 里面把 SSH Key 粘贴进去。
2.2.3 测试 SSH 连接
键入:
ssh -T git@github.com
若显示如下信息:
The authenticity of host 'github.com (192.30.252.1)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
键入yes,回车,若输出如下则表示连接好了
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
2.3 部署
键入如下命令安装 hexo-deployer-git
插件::
npm install hexo-deployer-git --save
在 _config.yml
中修改参数:
deploy:
type: git
repo: https://github.com/your_name/your_name.github.io.git
branch: master
此处repo:
后的参数还可改为
ssh://git@github.com/your_name/your_name.github.io
在此要强调的是:所有冒号后面都必须有一个空格,必须!如果
你用了支持markdown语言的文本编辑器,就能看到代码高亮区分效果。
最后,键入如下命令将网站部署到github:
hexo d
第一次部署github会弹出窗口验证账号,以后每次修改本地文件后,再次部署前,
都最好先键入:
hexo clean
来清理缓存。
现在,所有步骤都完成了,试试在浏览器访问你的网站your_name.github.io