博客搭建
1. 环境需求
- windows操作系统
- github账号
- node.js npm 等相关内容
- gitbase or 其他git客户端
2. 搭建GitHub博客
2.1 创建仓库
新建一个仓库,名字为 你的名字.github.io 。将来你的网站访问地址就是http://你的名字.github.io
所以每个github账户最多只能创建一个这样的仓库
note:
账号邮箱一点要验证,否则不会成功;
仓库名字必须是:username.github.io ,其中username是你的用户名;
仓库创建成功不一定会立即生效
创建成功后,以后你网站所有代码都是放在这个仓库里面。
2.2 绑定域名
- 本地创建一个CNAME文件,注意不含任何后缀,然后编辑,把你认证好的域名写进去。然后将文件上传到你的仓库根目录,就可以通过域名访问你的xxxx.github.io了,但是每次提交都会删除掉CNAME文件。
- 把CNAME文件复制到/themes/yilia/source/ 目录里面,这样每次提交都会把CNAME文件覆盖github仓库根目录。
2.3 配置SSH key
提交代码肯定需要你的github权限,用ssh key解决本地和服务器的连接问题。
$ cd ~/.ssh
#检查本机已经存在的ssh密钥
如果提示No such file or directory 说明是第一次使用git
ssh-keygen -t rsa -C "邮件地址"
然后一直回车,最终它会生成一个名为.ssh的文件夹在用户目录下,
打开.ssh/id_rsa.pub 文件,复制里面的文件,打开你的github主页,进入个人设置->settings ->
SSH and GPG keys -> New ssh key:
title随便填,把刚才复制的粘贴到key里面,然后Add SSH key
然后本地配置下信息
$ git config --global user.name "xxx" //你的github用户名
$ git config --global user.email "xxx@qq.com" //填写你的github邮箱
3. hexo
3.1 hexo…
hexo 基于GitHub pages的博客发布工具。
官网:http://hexo.io
github: https://github.com/hexojs/hexo
本地写好直接使用命令完成相关页面的生成,然后将改动提交到github。
3.2 安装
$ npm install -g hexo
3.3 init
找个目录新建一个文件夹,这个文件夹作为以后放文件的地方。比如D:\githubcode\Blog
$ cd /d/githubcode/Blog
$ hexo init
下载好之后:
$ hexo g #public生成相关html文件
$ hexo s #本地预览
本地预览可以浏览器 访问 http://localhost:4000 既可以看到
预览效果:
3.4主题
个人感觉这个比较丑,比较喜欢hexo-theme-yilia
主题下载的话
$ git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia
下载好的主题在themes目录里面
修改_config.yml 中的theme: landscape
为 theme: yilia
然后重新 hexo g
发布。
如果出现一些问题,可以hexo clean
清理下public里面的内容,然后重新生成发布。
3.5 上传到github
前期配置: ssh key配置
配置_config.yml
deploy:
type: git
repository: git@github.com:netlogs/netlogs.github.io.git
branch: master
netlogs 填自己github用户名。
然后hexo d
生成静态文件提交到远程仓库。
会报错。。
Deployer not found: git
原因是还需要安装一个插件
npm install hexo-deployer-git --save
打开你的git bash
$ hexo d
即可将你的本次改动提交到github。
4 写博客
4.1通过hexo
hexo new "blog" #新建文章
hexo new page "pagename" #新建页面
定位到我们的根目录
hexo new "first_blog"
hexo 会在source/_ports 目录下新建一个first_blog.md的文件,文件会自动生成默认内容
4.2 本地
个人使用markdown编辑器在本地写博客,然后拷贝到source/_ports 目录,然后直接
$ hexo g
$ hexo d
最终效果
遇到的问题等
- 所有的命令环境均在git bash环境下进行。
- 关于博客的一些配置在根目录下的_config.yml 和 /themes/yilia/_config.yml 内进行配置,自行研究。
- 每次发布都会需要你输入你的密码,即本地sshkey密钥对应的密码。