神秘菜鸟

好吧其实一点也不神秘,但菜是真的

利用Hexo和Github Pages搭建个人博客

大纲
  1. 1. 搭建教程
    1. 1.1. 准备工作
      1. 1.1.1. 新建一个Github仓库
      2. 1.1.2. 安装Node.js
      3. 1.1.3. 安装Git
      4. 1.1.4. 配置SSH keys
    2. 1.2. 安装Hexo
      1. 1.2.1. 安装
      2. 1.2.2. 配置_config.yml
      3. 1.2.3. 部署到Github
      4. 1.2.4. 开启Github Pages
  2. 2. 使用教程
    1. 2.1. 新建文章
    2. 2.2. 发布文章
    3. 2.3. 更换主题
  3. 3. 备份设置
    1. 3.1. 新建备份分支并推送到github
    2. 3.2. 还原备份
  4. 4. 可能会遇到的问题
  1. 搭建教程

    • 准备工作

      • 新建一个Github仓库

        仓库命名格式为你的用户名.github.io,如我的github用户名为websyn,那仓库名就为websyn.github.io

      • 安装Node.js

      • 安装Git

      • 配置SSH keys

        鼠标右键 -> Git Bash Here

        1
        2
        3
        git config --global user.email "you@example.com"
        git config --global user.name "Your Name"
        ssh-keygen -t rsa -C "you@example.com"

        注意把you@example.com替换为你的邮箱,Your Name替换为你的用户名,然后一路回车,然后在C:\Users\你的用户名\.ssh目录下找到id_rsa.pub文件,用记事本打开复制里面的内容。

        回到Github,依次点击你的头像 -> Settings -> SSH and GPG keys -> SSH keys -> New SSH key,Title随便写,Key的输入框里粘贴刚才复制的密钥,保存。

    • 安装Hexo

      • 安装

        1
        2
        3
        4
        5
        npm install hexo-cli -g
        hexo init blog
        cd blog
        npm install
        npm install hexo-deployer-git --save

        note: 因为天朝国情可能需要挂代理或换成国内镜像源,文末有

      • 配置_config.yml

        1
        2
        3
        4
        deploy:
        type: git
        repo: git@github.com:yourname/yourname.github.io.git
        branch: master

        repo后面的地址请复制你的github仓库地址替换,注意复制SSH地址,不要复制https地址。

      • 部署到Github

        1
        2
        3
        hexo clean
        hexo g
        hexo d

        如果前面你的配置都正确的话,直接hexo三板斧就可以将你的博客上传到github上面了。

      • 开启Github Pages

        进入你新建的仓库,这时候仓库下应该有一堆你刚才推送上来的网页文件,依次点击上方的Settings -> Pages,进去后选择master分支保存就开启了Pages,点击上方的域名即可访问你的网站。

        如果你有自己的域名也可以在Custom domain下面的输入框里填上你的域名,记得在你的域名商处添加CNAME记录为yourname.github.io

  2. 使用教程

    • 新建文章

      hexo new '文章名称',新建的文章为Markdown文件,在目录blog\source\_posts下,打开即可编辑。

    • 发布文章

      hexo clean为清除缓存文件和已生成的静态文件,hexo g为生成静态文件,hexo d为部署静态文件到你的仓库。

      使用顺序不能错,可合并为hexo clean & hexo g & hexo d

    • 更换主题

      hexo默认加载的主题是landscape,如果不喜欢可去Themes | Hexo挑选自己喜欢的主题。

      找到喜欢的主题下载下来后把主题解压放到目录blog\themes下,然后在_config.yml里找到theme:项更改后面的值为你下载的主题名字,然后hexo三板斧后就能看到你更换后的主题了。

      某些主题带有自己的config配置,请自行研究。

  3. 备份设置

    • 新建备份分支并推送到github

      1
      2
      3
      4
      5
      6
      git init
      git remote add origin git@github.com:yourname/yourname.github.io.git
      git checkout -b blog
      git add .
      git commit -m '博客源文件'
      git push origin blog

      请注意把git@github.com:yourname/yourname.github.io.git替换为你自己的仓库SSH地址。

      以后每次有更新执行一下git add . -> git commit -m '博客源文件' -> git push origin blog就能把文件备份到github了。

    • 还原备份

      如果换了电脑操作,首先在新电脑上安装Node.js,安装Git,配置SSH keys,然后克隆github仓库:

      1
      git clone -b blog git@github.com:yourname/yourname.github.io.git

      请注意把git@github.com:yourname/yourname.github.io.git替换为你自己的仓库SSH地址。

      然后会在本地出现一个yourname.github.io的文件夹,进去文件夹就可以看到你备份的hexo文件,接着在该文件夹里Git Bash Here或者在原git窗口输入cd yourname.github.io.git进入该文件夹,安装一下Hexo:

      1
      2
      3
      npm install hexo-cli -g
      npm install
      npm install hexo-deployer-git --save

      注意并不需要hexo init这条命令,它的作用是初始化hexo,相当于把你的博客“恢复出厂设置”,所以不需要这步操作。

      之后你就可以正常的hexo三板斧操作你的博客了。

  4. 可能会遇到的问题

    • 如果遇到安装不上hexo的情况可以考虑换成国内淘宝镜像:

      1
      npm config set registry https://registry.npm.taobao.org
    • 文中出现的blog只是一个文件夹名,可替换为任意你喜欢的。

    • 文中出现的Git Bash Here默认都是在D盘操作,因为为了方便把博客文件放在自己指定的位置。

    • 想到再说。