1、Hexo 简介
Hexo 是一款基于 Node.js 的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在 GitHub 和 Coding 上,是搭建博客的首选框架,可以进入 hexo官网 进行详细查看。
2、安装 Hexo
在安装 Hexo 之前,需要确保已经安装了 Git 和 Node.js。
安装 Git
直接在 Git - 安装 Git (git-scm.com) 下载安装,安装好后,用 git --version
来查看一下版本。
安装 Node.js
官网 Node.js 安装,安装完后,执行 node -v
和 npm -v
,检查是否安装成功
git 和 nodejs 安装好后,就可以安装 hexo 了,新建一个文件夹 blog,cd 到这个文件夹下,接下来就就在这个文件夹中创建博客。
输入命令
npm install -g hexo-cli
用 hexo -v
查看版本
接下来初始化 hexo
hexo init myblog
这个 myblog 可以自己取什么名字都行,然后进入这个myblog文件夹
npm install
新建完成后,指定文件夹目录下有:
- node_modules: 依赖包
- public:存放生成的页面
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- _config.yml: 博客的配置文件
接着
hexo g
hexo s
hexo g
是 hexo generate
的缩写,用于生产博客;
hexo s
是 hexo server
的缩写,用于在本地启动服务,调试博客。
启动 hexo 服务后,在浏览器输入 localhost:4000 就可以看到生成的博客了。
3、GitHub 创建个人仓库
在 Github 上新建仓库。注意:须创建和你用户名相同的仓库,后面加 .github.io
,只有这样,将来要部署到GitHub page 的时候,才会被识别,也就是 xxxx.github.io
,其中xxx就是你 GitHub 的用户名。
4、生成 SSH 添加到 GitHub
回到命令行中
git config --global user.name "yourname"
git config --global user.email "youremail"
这里的 yourname 输入 GitHub 用户名,youremail 输入 GitHub 的邮箱。这样 GitHub 才能知道你是不是对应它的账户。
可以用以下两条,检查一下你有没有输对
git config user.name
git config user.email
然后创建 SSH
ssh-keygen -t rsa -C "youremail"
生成了 .ssh
的文件夹,找到这个文件夹,Mac 电脑一般在 ~
目录下,Windows 电脑一般在 c 盘用户目录下。
ssh 就是一对秘钥,其中 id_rsa 是私人秘钥,不能给别人,id_rsa.pub 是公共秘钥,需要给别人。
把这个公钥放在 GitHub 上,这样当链接 GitHub 的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过 git 上传文件到 GitHub 上。
新建 ssh key,把 id_rsa.pub 里面的信息复制进去。查看是否成功
ssh -T git@github.com
5、将 hexo 部署到 GitHub
这一步,我们就可以将 hexo 和 GitHub 关联起来,也就是将 hexo 生成的文章部署到 GitHub 上。
打开站点配置文件 _config.yml,翻到最后,修改为 GitHub 账户,repo 就是上一步新建的仓库链接。
deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master
这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。
npm install hexo-deployer-git --save
然后
hexo clean
hexo generate
hexo deploy
hexo clean 清除了你之前生成的东西.
hexo generate 生成静态文章,可以用 hexo g缩写
hexo deploy 部署文章,可以用 hexo d 缩写
部署成功后,过会儿就可以在 http://yourname.github.io
看到你的博客了。
接下来你就可以正式开始写文章了。
hexo new 文章标题
然后在 source/_post
目录下找到新建的文章,就可以开始编辑了。当`写完的时候,再重新部署,就可以看到更新的文章了。
hexo clean
hexo g
hexo d
6、git分支进行多终端工作
由于 hexo d 上传部署到 GitHub 的是 hexo 编译后的文件,是用来生成网页的,不包含源文。没有源文件,是无法生成页面的。
如果在自己的笔记本上写的博客,部署在了网站上,现在要换电脑了,最后不知道怎么移动文件,怎么办?
在这里我们就可以利用 git 的分支系统进行多终端工作了,这样每次打开不一样的电脑,只需要进行简单的配置和在 GitHub 上把文件同步下来,就可以无缝操作了。
每次执行 hexo d
上传的是在本地目录里自动生成的 .deploy_git 里面。其他文件 ,包括我们写在 source 里面的,和配置文件,主题文件,都没有上传到 GitHub。
所以可以利用 git 的分支管理,将源文件上传到 GitHub 的另一个分支即可。
先在 GitHub 上新建一个 develop 分支,下次 push 代码时,将源代码 push 到 develop 分支,而执行 hexo d
是上传到 master 分支。
当在其他电脑上 clone 项目后,切换到 develop 分支就可以愉快的开发了。
这里需要注意,源文件应该有一个 .gitignore 文件,用来忽略不需要上传到 GitHub 的文件。如果没有的话,自己新建一个,在里面写上如下,表示这些类型文件不需要 git 管理:
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
注意,如果之前克隆过 theme 中的主题文件,那么应该把主题文件中的 .git
文件夹删掉,因为 git
不能嵌套上传,否则上传的时候会出错,导致你的主题文件无法上传,这样你的配置在别的电脑上就用不了了。
更换电脑后,跟之前的环境搭建一样,安装git、nodejs、hexo。设置git全局邮箱和用户名
git config --global user.name "yourgithubname"
git config --global user.email "yourgithubemail"
设置ssh key ssh-keygen -t rsa -C "youremail"
,生成后填到 GitHub,
验证是否成功 ssh -T git@github.com
。
直接在任意文件夹下,clone 项目,然后进入文件夹:
npm install
npm install hexo-deployer-git --save
生成,部署:
hexo g
hexo d
然后就可以开始写你的新博客了 hexo new newpage
。
网友评论