怎么将Github的Pages做成Blog

为啥?

好记性不如烂笔头.有事儿没事把自己所做所想写一下,不然忘记等于白(mang)活…

pages.github.io 作为blog大致原理:

​ 通过在github上创建[用户名.github.io]的仓库将其中的静态页面(index.html)作为首页,让相同域名[用户名.github.io]将网站(index.html内容)展示出来.

想一想要怎么做?

  1. 申请个github账号.
  2. 开通pages(看说明一般是创建一个[账户名.github.io]的仓库, 说明有helloworld的例子)
  3. 选一种blog(eg:hexo, jekyll等).
  4. 美化主题 上传内容.

实践.

  1. 我选用hexo作为生成静态页面的工具,所以先去下载安装hexo,更换主题(按照hexo官网教程做就可以了)

    简单说一下hexo的理解, 看完应该能让自己的blog跑起来.不过不专业…毕竟刚知道这个没几个小时.

    1. 安装以及初始化项目

      1
      2
      3
      4
      5
      $ npm install hexo-cli -g
      $ hexo init blog
      $ cd blog
      $ npm install
      $ hexo server
    2. 更换主题
      在官网找一个喜欢的主题,点击标题进入主题github,一般有说明告诉你这么做
      大致的意思就是:

      • 把主题文件clone到项目的theme/主题名文件夹,
      • 在项目配置文件_config.yml中指定 theme: 主题名
      • 更改一些主题的配置(1.看主题git hub的说明,2.打开主题文件夹下的_config.yml看一看)
    3. 新建文章 在项目目录运行命令 hexo new post ‘文章名’
      其实就是在项目的 source/_post/下建立 “文章名.md” 文件,hexo应该是会来这里获取并展示文章.

    4. 本地可以跑了 怎么能放到自己的github pages上去?
      上面说github pages,显示的其实是静态文件, 那么我们本地做好的hexo server 可以访问的blog怎么搬到github pages上去呢? 下面两种办法选一个应该就可以了

      1. hexo generate 可以将blog内容生成静态文件 存放在项目的public中,将里面的文件push到[用户名.github.io]仓库.

      2. 配置hexo deploy

        • 在项目目录安装插件 npm install hexo-deployer-git –save

        • 修改项目_config.yml配置(1.注意格式冒号后要有一个空格,否则可能运行命令没有反应.2.github ssh key什么的设置请在搜索引擎搜索)

          1
          2
          3
          4
          5
          deploy:
          type: git
          repo: <repository url> #https://bitbucket.org/JohnSmith/johnsmith.bitbucket.io
          branch: [branch] #published
          message: [message] #leave this blank
        • 项目目录中运行 hexo clean && hexo deploy

        • 运行成功 github仓库提交记录会有显示 如图

    注意: 如果你使用自己的域名做了cname到github的pages, 运行hexo deploy 的时候可能会把设置给冲掉导致blog无法访问,将CNAME文件(内容为域名地址)放在项目的source文件夹下 可以防止每次hexo deploy 被冲掉.

    • 大多数问题看文档都能解决, 那么我们是否每次动手的时候都去扒一扒文档?