美文网首页
HEXO在Github上搭建个人博客

HEXO在Github上搭建个人博客

作者: 特拉法尔咖 | 来源:发表于2016-05-11 23:15 被阅读93次

    环境配置

    Hexo官网上本就有对Hexo安装及使用的详细介绍,墙裂推荐。这里来讲述自己安装的亲身步骤,或有区别。

    1.Node.js

    用来生成静态页面。移步Node.js官网,下载v5.5.0 Stable 一路安装即可。

    2.Git

    用来将本地Hexo内容提交到Github上。Xcode自带Git,这里不再赘述。如果没有Xcode可以参考Hexo官网上的安装方法。

    安装Hexo

    当Node.js和Git都安装好后就可以正式安装Hexo了,终端执行如下命令:

    $ sudo npminstall-ghexo

    输入管理员密码(Mac登录密码)即开始安装 (sudo:linux系统管理指令-g:全局安装)

    注意坑一:Hexo官网上的安装命令是$ npm install -g hexo-cli,安装时不要忘记前面加上sudo,否则会因为权限问题报错。

    初始化

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

    $ hexoinitblog

    blog是你建立的文件夹名称。cd到blog文件夹下,执行如下命令,安装npm:

    $ npminstall

    执行如下命令,开启hexo服务器:

    $hexo s

    此时,浏览器中打开网址http://localhost:4000,能看到如下页面:

    http://localhost:4000

    本地设置好后,接下来开始关联Github。

    关联Github

    1.添加ssh key到Github

    1.1.检查SSH keys是否存在Github

    执行如下命令,检查SSH keys是否存在。如果有文件id_rsa.pub或id_dsa.pub,则直接进入步骤1.3将SSH key添加到Github中,否则进入下一步生成SSH key。

    $ls -al ~/.ssh

    1.2.生成新的ssh key

    执行如下命令生成public/private rsa key pair,注意将your_email@example.com换成你自己注册Github的邮箱地址。

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

    默认会在相应路径下(~/.ssh/id_rsa.pub)生成id_rsa和id_rsa.pub两个文件。

    1.3.将ssh key添加到Github中

    Find前往文件夹~/.ssh/id_rsa.pub打开id_rsa.pub文件,里面的信息即为SSH key,将这些信息复制到Github的Add SSH key页面即可。

    进入Github --> Settings --> SSH keys --> add SSH key:

    Title里任意添一个标题,将复制的内容粘贴到Key里,点击下方Add key绿色按钮即可。

    需要输入git密码

    2.创建仓库

    登录你的Github帐号,新建仓库,名为用户名.github.io固定写法,如gonghonglou.github.io即下图中1所示:

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

    _config.ymldb.jsonnode_modulespackage.jsonscaffoldssourcethemes

    终端cd到blog文件夹下,vim打开_config.yml,命令如下:

    $vim _config.yml

    打开后往下滑到最后,修改成下边的样子:

    deploy:

      type: git   

      repository: https://github.com/zhumuzhi/zhumuzhi.github.io.git

      branch: master

    修改完成后按esc退出编辑

    输入 :W 保存文件

    输入 :quit 退出 

    你需要将repository后zhumuzhi换成你自己的用户名,地址在上图2位置获取。hero 3.1.1版本后type:值为git。

    注意坑二:在配置所有的_config.yml文件时(包括theme中的),在所有的冒号:后边都要加一个空格,否则执行hexo命令会报错,切记 切记

    在blog文件夹目录下执行生成静态页面命令:

    $hexo generate        或者:hexo g

    此时若出现如下报错:

    ERROR Local hexo not found in ~/blog

    ERROR Try runing: 'npm install hexo --save'

    则执行命令:

    npm install hexo --save

    若无报错,自行忽略此步骤。

    再执行配置命令:

    $hexo deploy            或者:hexo d

    注意坑三:若执行命令hexo deploy仍然报错:无法连接git,则执行如下命令来安装hexo-deployer-git

    $ npminstallhexo-deployer-git--save

    再次执行hexo generate和hexo deploy命令

    此时,浏览器中打开网址http://gonghonglou.github.io(将gonghonglou换成你的用户名)能看到和打开http://localhost:4000时一样的页面。

    3.发布文章

    终端cd到blog文件夹下,执行如下命令新建文章:

    hexo new "postName"

    名为postName.md的文件会建在目录/blog/source/_posts下。你当然可以用vim来编辑文章。我在用Mou编辑器,支持预览,虽然其预览主题并非我喜欢,如果你有好用的markdown编辑器请推荐给我,感激不尽!

    文章编辑完成后,终端cd到blog文件夹下,执行如下命令来发布:

    hexo generate//生成静态页面

    hexo deploy            //将文章部署到Github

    至此,Mac上搭建基于Github的Hexo博客就完成了。下面的内容是介绍安装theme,添加评论功能和绑定个人域名,如果有兴趣且还有耐心的话,请继续吧。

    安装theme

    你可以到Hexo官网主题页去搜寻自己喜欢的theme。这里以hexo-theme-next为例

    终端cd到blog目录下执行如下命令:

    $git clonehttps://github.com/iissnan/hexo-theme-next themes/next

    将blog目录下_config.yml里theme的名称landscape修改为next

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

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

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

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

    至于更改theme内容,比如名称,描述,头像等去修改blog/_config.yml文件和blog/themes/next/_config.yml文件中对应的属性名称即可, 不要忘记冒号:后加空格。NexT 使用文档里有极详细的介绍。

    绑定个人域名

    现在使用的域名是Github提供的二级域名,也可以绑定为自己的个性域名。购买域名,可以到GoDaddy官网,网友亲切称呼为:狗爹,也可以到阿里万网购买。我是在万网买的,可直接在其网站做域名解析。

    1.Github端

    在/blog/themes/landscape/source目录下新建文件名为:CNAME文件,注意没有后缀名!直接将自己的域名如:gonghonglou.com写入。

    终端cd到blog目录下执行如下命令重新部署:

    $hexo clean

    $ hexo g

    $ hexo d

    注意坑四:网上许多都是说在Github上直接新建CNAME文件,如果这样的话,在你下一次执行hexo d部署命令后CNAME文件就消失了,因为本地没有此文件嘛。

    2.域名解析

    如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录。登录万网,在你购买的域名后边点击:解析 --> 添加解析

    记录类型:CNAME

    主机记录:将域名解析为example.com(不带www),填写@或者不填写

    记录值:gonghonglou.github.io.    (不要忘记最后的.,gonghonglou改为你自己的用户名),点击保存即可,如下图:

    域名解析

    此时,点击访问http://gonghonglou.com和访问http://gonghonglou.github.io效果一致,大功告成!

    我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=37g0skvtc76sw

    参考链接

    Hexo官网

    HEXO

    如何生成SSH key

    Mac上搭建基于GitHub的Hexo博客

    使用Github搭建静态博客(Hexo)

    相关文章

      网友评论

          本文标题:HEXO在Github上搭建个人博客

          本文链接:https://www.haomeiwen.com/subject/dhiurttx.html