注:本文搭建的是静态博客,且托管于 GitHub
一、准备工作
1. 拥有一个 github 账号,没有就注册一个
2. 安装 Node.js、npm,npm 的用处看这里,其实npm已经内置在了 Node.js 中,只需安装 Node.js 即可
3. 安装 git 客户端
ps:查看 Node.js、npm、git 版本。打开 Git Bash,
$ node -v
$ npm -v
$ git --version
这三条命令可查看相应的版本
二、创建仓库
新建一个名为 username.github.io 的仓库,username 是你现今的用户名,以后绑定或不绑定域名,都可通过 username.github.io 来访问博客
三、配置 SSH Key
Why:
我们在本地写博客、编写代码,最终要提交到服务器上去,怎样建立一种本地与服务器的连接呢?可以使用 github 用户名和密码,但这有些繁琐且不安全,所以用到 SSH Key 来建立加密连接。
How:
1. 首先检查本机有没有 SSH Key,
$ cd ~/.ssh
若提示:No such file or directory ,则说明你是第一次使用 git;
2.
$ ssh-keygen -t rsa -C "邮件地址"
然后连续回车 3 次来生成 SSH Key,生成的文件在用户目录下(用户目录在 git 窗口中有提示),找到 .ssh\id_rsa.pub 文件后,用记事本打开并复制里面的所有内容,接着打开你的 github 主页,进入个人设置 -> SSH and GPG keys -> New SSH key,粘贴到 Key 内容框中,Title 框中可写明该 SSH Key 的用处,保存即可;(邮件地址为你的 github 邮箱)
3.
$ ssh -T [email protected]
出现 "Are you sure you want to continue connecting (yes/no)?" 后,输入 yes,当你看到 "Hi 'username'! You've successfully authenticated, but GitHub does not provide shell access." 时,说明你的 SSH 已经配置成功;(username 为你的用户名)
4.
$ git config --global user.name "你的username"
$ git config --global user.email "你的github邮箱"
进行配置。
四、使用hexo写博客
1. hexo 是一种创建静态博客的框架,下载及学习文档请访问官网。
2. 在本机创建一个文件夹作为个人博客的根目录,以后所有的文件都放在该文件夹下,包括 hexo 框架。使用 npm 下载 hexo 时,先 cd 到该文件夹下,再
$ npm install hexo-cli -g
进行下载安装。
3.
$ hexo -v
以查看 hexo 的版本,
$ hexo init
进行初始化。
4.
$ hexo clean
可简写为
$ hexo c
用于清除缓存文件 (db.json) 和已生成的静态文件 (public)。
在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。
5.
$ hexo generate
可简写为
$ hexo g
用于生成静态文件。
6.
$ hexo server
可简写为
$ hexo s
用于启动本地预览服务器。默认情况下,访问网址为 http://localhost:4000/。
7.
$ hexo deploy
可简写为
$ hexo d
用于部署网站,即将代码上传到 github 上。
注意:部署网站之前,须确保 _config.yml 配置文件中有关 deploy 的配置正确:
deploy:
type: git
repository: https://github.com/username/username.github.io.git
branch: master
(username 是你的用户名);
且还需要下载一个插件,
$ npm install hexo-deployer-git --save
8. 更换主题,eg:先
$ git clone https://github.com/giscafer/hexo-theme-cafe.git themes/cafe
然后将 _config.yml 配置文件的 theme: landscape 改为 theme: cafe。所有的主题都将保存在 themes 文件夹下。请看官方主题。
9.
$ hexo new "postname"
新建文章,postname 为文章的名称。所有的文章都将保存在 source 文件夹下的 _posts 中。文章是以 .md 文件形式保存,在 .md 文件的顶部设置 categories 和 tags 字段可将文章分类、添加标签,不过这些都是可选的。
10.
$ hexo new page "pagename"
新建页面,pagename 为页面的名称。新建页面将保存在 source 文件夹下。
11. 组合命令:
$ hexo s -g
生成静态页面并预览,
$ hexo d -g
生成静态页面并上传。
12. 如何让博文不全部显示(默认全部显示),而是显示博文的摘要呢?解决方法是在博文适当的位置加上
13. 创建的个人博客有两种配置文件,一种是根目录下的 _config.yml,还有就是每个主题中的 _config.yml。有关命令和配置详情请参见官方文档。
五、最终效果
可以参见我的个人博客 https://getwang.github.io/,我用的是 NexT.Pisces 主题。
六、参考
1. http://www.cnblogs.com/zhcncn/p/4097881.html
2. http://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html
3. http://www.jianshu.com/p/05289a4bc8b2