利用github搭建自己的博客,详细教程


前言

  • 为什么选择GitHub Pages
    1. GitHub Pages有免费的代码托管空间,资料自己管理,保存可靠;
    2. 学着用 GitHub,享受 GitHub 的便利,上面有很多大牛,眼界会开阔很多;
    3. 顺便理解 GitHub 工作原理,最好的团队协作流程;
    4. GitHub建立私有仓库才会收费,所以会有很多开源代码。

目录

  • 配置运行安装环境
  • 配置github
  • 安装hexo
  • 安装主题

配置环境

  1. 安装nodejs生成静态页面.
  2. 安装Git注意:Xcode自带Git Git用于把本地的Github文件发送到Github仓库.
  3. 申请Github账号.

配置Github

注册Github:

  • 访问:GitHub,注册你的username和邮箱,
    邮箱十分重要,GitHub上很多通知都是通过邮箱的。注册过程比较简单.
    在github建立仓库,仓库名为Github用户.github.io
    更多详情请参考官方文档

配置SSH KEY :

  1. 检查SSH keys的设置:

    首先我们需要检查你电脑上是否有存在的ssh key:

    $ ls -al ~/.ssh

    如果有文件github_rsa.pub或github_dsa.pub,则直接将SSH key添加到Github中,否则进入下一步生成SSH key。

  2. 生成新的ssh key :

    ssh-keygen -t rsa -C "your_email@example.com"

    生成public/private rsa key pair

    1. 注意将your_email@example.com换成你自己注册Github的邮箱地址。
    2. 默认会在相应路径下(~/.ssh/github_rsa.pub)生成github_rsa和github_rsa.pub两个文件
    3. mac 默认不显示隐藏文件需要用到如下命令:

      • 显示文件:

      $ defaults write com.apple.finder AppleShowAllFiles -bool true

      • 隐藏文件:

      $ defaults write com.apple.finder AppleShowAllFiles -bool false

  3. 将ssh key添加到Github中 :

    1. Find前往文件夹~/.ssh/github_rsa.pub打开github_rsa.pub文件
    2. 进入Github ->Settings ->SSH and GPG keys -New SSH key ->

      TUPIAN0

    3. Title内容任意,key为github_rsa.pub内容。

    4. 点击下方Add key绿色按钮即可。

检查SSH KEY:

  1. 可以输入下面的命令,看看设置是否成功,git@github.com的部分不要修改:

    $ ssh -T git@github.com

    如果是下面的反馈:

    The authenticity of host 'github.com (207.97.227.239)' 
        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)?
    
  2. 不要紧张,输入yes就好,然后会看到:
Hi cnfeat! You've successfully authenticated, 
    but GitHub does not provide shell access.
  1. 设置用户信息:
现在你已经可以通过SSH链接到GitHub了,还有一些个人信息需要完善的。
Git会根据用户的名字和邮箱来记录提交。GitHub也是用这些信息来做权限的处理,
输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的,
名字必须是你的真名,而不是GitHub的昵称。
  1. 命令:

    $ git config --global user.name "cnfeat"//用户名

    $ git config --global user.email "cnfeat@gmail.com"//填写自己的邮箱

    SSH Key配置成功,本机已成功连接到github。


安装Hexo

Hexo安装

  1. 安装Hexo (确保Node.js以及Git已经安装)

    $ npm install -g hexo 建议翻墙

  2. 终端cd到一个你选定的目录,执行hexo init命令

    $ hexo init blog//blog是建立的文件夹名称

  3. 安装依赖包

    $ cd blog

    $ npm install//安装npm

  4. Hexo随后会自动在目标文件夹建立网站所需要的所有文件。
  1. 现在我们已经搭建起本地的hexo博客了,执行以下命令。

    $ hexo generate 生成静态页面至public目录(最终上传这个文件到GitHub)

    $ hexo server 开启预览访问端口(默认端口4000,ctrl + c关闭server

  2. 本地浏览器浏览地址:

    http://localhost:4000

Hexo部署

  1. 创建仓库

    1. 登录你的Github帐号,新建仓库,名为用户名.github.io固定写法。

    2. 本地的blog文件夹下内容为:

      • _config.yml
      • db.json
      • node_modules
      • scaffolds
      • source
      • themes
      • package.json
    3. 终端cd到blog文件夹下,SublimeText打开_config.yml

    4. 在文件最后deplo修改如下:

      • deploy:
      • type: git
      • repository: https://github.com/yourID/yourID.github.io.git
      • branch: master
      • yourID请换成自己的用户名
      • hexo 3.1.1版本后type:值为git

        注意:    在配置所有的_config.yml文件时(包括theme中的),
        在所有的冒号:后边都要加一个空格,否则执行hexo命令会报错。 
        
5. 执行生成静态页面命令:

    `$ hexo generate`

    * 若出现如下报错:

        ERROR Local hexo not found in ~/blog 

        ERROR Try runing: ‘npm install hexo –save’ 

    * 均执行命令:

        `$ npm install hexo --save`若无报错,自行忽略此步骤。
    * 再执行配置`$ hexo deploy`

        若执行命令hexo deploy仍然报错:无法连接git,则执行此命令来安装hexo-deployer-git: `$ npm install hexo-deployer-git --save`再次执行`$ hexo generate和hexo deploy`命令。
6. 此时,浏览器中打开网址`http://yourID.github.io`(将yourID换成你的用户名)能看到和打开`http://localhost:4000`时一样的页面。
  1. 发布文章

    1. 终端cd到blog文件夹下 $ cd blog

      • $ hexo new "postName"//新建文章,位于目录/blog/source/_posts下。
      • 编辑文章//md结尾文件,可用MackDown工具编辑。
    2. 终端cd到blog文件夹下

      • $ hexo generate //生成静态页面
      • $ hexo deploy //将文章部署到Github
  2. 到此Hexo安装结束

安装Hexo主题

  1. 官方主题请戳Hexo官网主题页。这里以hexo-theme-next为例
  2. 终端cd到 blog 目录
    git clone https://github.com/iissnan/hexo-theme-next themes/next

    将blog目录下_config.ymltheme的名称landscape修改为next

  3. 终端cd到blog目录下执行如下命令(每次部署文章的步骤)

    $ hexo clean//清除缓存文件 (db.json) 和已生成的静态文件 (public)

    $ hexo g//生成缓存和静态文件

    $ hexo d //重新部署到服务器

  4. Next使用文档

    • 更改theme内容,修改blog/_config.yml 文件和blog/themes/next/_config.yml文件中对应的属性名称即可。
    • 不要忘记冒号:后加空格。

教程结束

有什么问题可在下方留言