Percy

搭建Hexo注意事项

前言

关于怎么利用Git PageHexo搭建一个博客,网上已经有比较多详细的教程了,在此不再累述,只此推荐教程: Hexo搭建教程 .

注意事项:

  • 第一点要注意的,在 github.com上创建完 yourname.github.io 之后 ,记得找到仓库右侧的 Settings->GitHub Pages选项,然后点击 Automatic page generator ,然后一路确定,生成你的Github Page 单页,如图所示:
    1
    至此,等待数分钟,你就可以通过yourname.github.io访问到你的GitHub Pages了.
  • 第二点要注意的,上传到github的时候,_config.yml中deploy下方配置github账号的时候,type:和git、repository: 和对应的字段之间记得有空格,如下:

    1
    2
    3
    4
    5
    #Deployment
    deploy:
    type: git
    repo: [email protected]:yourname/yourname.github.io.git
    branch: master
  • 第三点要注意的当你以上两个易错的细节注意之后,执行hexo deploy的时候,输入git用户名和密码就应该自动给你push了,而不用自己手动去git add,git push等操作.

  • 最后一点是关于独立域名的.
    github.com/youname/yourname.github.io这个仓库添加CNAME文件和内容即可实现域名绑定.
    但是每次本地执行hexo clean hexo generate 最后hexo deploy提交到github的时候你会发现CNAME被本地没有CNAME的版本覆盖了.
    在此提供一个解决办法,hexo deploy的实现机制是将nodejs工具生成在public目录下的文件copy一份到.deploy_git这里,然后再从.deploy_git这个文件夹push到github,为解决CNAME被覆盖的问题,你要做的是:

    1. .deploy_git目录里新建CNAME文件(内容是你的域名如stayhungry.me),并执行git add CNAME.

    2. 在执行hexo generate之后,hexo deploy之前,复制1步骤中的CNAME文件到public目录下,紧接着再去hexo
    3. deploy的时候就可以将CNAME上传到你的仓库了.

    当然这个问题还有一个更彻底的根治方法,就是找到nodejs生成模板文件的那一段代码,然后将CNAME文件也改成每次hexo generate都自动生成.如果你已经发现了,或者有更好的方法,欢迎您将你的研究成果发送到我的邮箱[email protected],以供我学习一下,我将不甚感激.当然我也会将您的方法同步到我的Blog,并署上你的大名.

####7月26日补充:
关于CNAME文件更好的解决方案:可以将CNAME文件放在hexo/source文件夹下,这样生成的时候,nodejs就会自动将CNAME文件同步到public目录下,而省去了手动添加的麻烦。
[本篇·完]