Hexo+Butterfly+Github+Coding搭建个人博客

个人博客:
http://www.milovetingting.cn

Hexo+Butterfly+Github+Coding搭建个人博客

Hexo_mind.png

背景

之前用docsify搭建了一个简单的博客,但是docsify主题较少(也可能本人没有找到正确的设置方法⊙﹏⊙‖∣),没有自己很喜欢的主题。于是,在近期,利用空闲的时间,用Hexo重新搭建了一个博客。关于Hexo的具体介绍,可以在其官方网站查看具体的说明。

搭建Hexo

搭建Hexo比较简单,按照官方文档的步骤操作即可。这里,简单记录如下:

安装前提

安装Hexo需要先安装:

Node.js(Node.js版本不低于8.10,建议使用Node.js 10.0及以上版本)

Git

Node.js和Git的具体安装方法,在Hexo的文档页有详细介绍,此处不再赘述。

安装Hexo

完成以上两个程序安装后,即可使用npm安装Hexo。

npm install -g hexo-cli
hexo_install.png

初始化

以Windows环境为例,打开CMD命令窗口,定位到需要存放md的文件夹路径下,如:C:\Blog,执行以下命令:

hexo init
hexo_init.png

命令执行完成后,将在C:\Blog\下生成相应的文件,目录如下:

hexo_dir.png
    .

    |-- _config.yml

    |-- package.json

    |-- scaffods

    |-- source

        |-- _drafts

        |-- _posts

    |-- themes

主要关注以下目录及文件:

    _config.yml

    网站的配置信息,可以在此配置大部分的参数。
    source--posts

    存放MD文件
    themes

    主题文件夹

生成静态页面

可通过以下命令生成静态页面:

hexo g
hexo_g.png

会在根目录C:\Blog\下生成public文件夹,里面包含相应的html页面。

hexo_public1.png
hexo_public2.png

启动服务器

可通过以下命令启动服务器:

hexo s
hexo_s.png

打开浏览器,输入网址: http://localhost:4000 ,即可看到hexo生成的静态页面。

hexo_preview.png

应用Butterfly主题

默认的主题可能并不是我们想要的效果,那么就可以通过更换主题来实现。可以在官网的主题页面选择想要的主题。这里,选择Butterfly主题来应用。

Butterfly主页的展示页面:https://jerryc.me ,对应的文档页面为:https://jerryc.me/posts/21cfbf15

butterfly_doc.png

根据文档说明直接配置主题即可,这里简单记录如下:

主题安装

可通过以下命令安装主题:

git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/Butterfly
butterfly_install.png

主题应用

修改站点配置文件_config.yml,把主题修改为Butterfly

theme: Butterfly

为便于后续平滑升级,在source目录下创建_data文件夹,将Themes/Butterfly目录下的_config.yml复制一份到source/_data目录下,并改名为butterfly.yml

执行以下指令,以查看应用主题后的效果:

hexo clean #清除旧的内容
hexo_clean.png
hexo g #生成发布用的静态页面

如果第一次操作,可能会报以下的错误

hexo_g_error.png

关于解决方案,文档里已经在最上方列出:

hexo_g_tip.png

按照提示,执行以下命令即可:

npm install cheerio@0.22.0 --save
hexo_cheerio.png

再次执行生成的指令:

hexo g
hexo_g2.png

重新启动服务器:

hexo s

刷新网址:http://localhost:4000

可以看到,会报以下错误:

hexo_localhost_error.png

对应的解决方案可以在Butterfly的Github主页看到:

hexo_localhost_tip.png

安装以下插件即可:

npm install hexo-renderer-pug hexo-renderer-stylus
hexo_renderer.png

再次依次执行:

    hexo clean

    hexo g

    hexo s

刷新http://localhost:4000 ,可以看到更新后的主题:

hexo_butterfly_review.png
hexo_butterfly_preview2.png

其它细节设置可以参考Butterfly的文档来配置。

部署到Github

创建仓库

这里假设已经注册过了Github帐户,如果没有,可以去Github注册。

注册好了后,登录Github,创建仓库:点击右上角的+号,选择new repository:

github_new_repository.png
github_new_repository2.png

在这里,建议将仓库名设置成以下格式:

username.github.io

其中,username请对应换成你的github用户名。

配置Git

如果第一次使用git的话,需要设置用户名和邮箱:

git config --global user.name "your username"
git config --global user.email "your email"

将上述的"your username"换成自己的真实用户名,"your email"换成真实的email。

生成公钥

执行以下命令,然后连续三次回车,生成公钥:

ssh-keygen -t rsa
github_rsa.png

在C盘/用户/用户名/.ssh目录下找到id_rsa.pub文件,用文本编辑工具打开,并复制所有文本内容。在Github页面右上角,点击用户头像-Settings-SSH and GPG keys-New SSH key

github_add_key.png
github_add_key2.png

Title可以随意填写,Key需要填写刚才复制的公钥文本内容。

添加完成后,在控制台输入:

ssh -T git@github.com

如果配置成功,可以看到成功的回复。

上传文件到Github

配置_config.yml中的repo信息:

deploy:
  type: git
  repo: #你的仓库地址,如:https://github.com/milovemengmeng/milovemengmeng.github.io.git
  branch: master

直接通过hexo来发布到github,需要安装以下插件:

npm install hexo-deployer-git --save
hexo_deployer_git.png

安装成功后,执行以下命令:

hexo d
hexo_d.png

刷新github对应的repository页面,即可看到提交的内容:

git_commit.png

配置静态站点

点击Settings,进入GitHub Pages配置,由于之前新建仓库的时候,仓库名为username.github.io,github已经自己为我们发布了静态的页面。如果不是username.github.io的格式,则需要手动配置。

git_static_setting.png
git_static_setting2.png

打开username.github.io网址,可以看到之前的配置已经生效。

请注意,文中所有的"username"请换成自己对应的用户名

hexo_pub.png
hexo_pub2.png

部署到Coding

部署到Coding和部署到Github的过程大同小异,这里不再详细说明。

创建仓库

注册Coding,登录后新建仓库。

配置Git

如果之前已经部署到了Github,那么则不需要再次执行配置Git。

生成公钥

如果之前已经部署到了Github,那么则不需要再次执行生成公钥,但需要在Coding的设置中添加SSH公钥设置,添加完成后,同样可以通过以下命令测试是否配置成功:

ssh -T git@git.coding.net

如果配置成功,会有成功的回复。

上传文件到Coding

配置_config.yml中的repo信息:

deploy:
  type: git
  repo: 
    github: https://github.com/milovemengmeng/milovemengmeng.github.io.git,master
    coding: https://git.dev.tencent.com/milovetingting/milovetingting.coding.me.git,master

执行以下命令:

hexo d

在coding对应的项目页面刷新即可看到新的提交。

配置静态站点

coding_pages.png

在项目所在页面,点击左侧的Pages服务,点击同意协议后,就会配置生成静态应用。

coding_review.png
coding_review2.png

绑定个人域名

配置好Github和Coding的静态页面好,已经可以通过网络访问到对应的页面了。如果需要个性化域名,则需要申请对应的域名并绑定到Github和Coding上。

域名注册

域名申请,有很多的服务商可以提供相应的服务。由于本人是通过阿里云申请的域名,下面以阿里云的域名配置为例,来说明域名的绑定。

域名解析

登录阿里云的控制台,点击左侧菜单-域名,进入域名管理页面。

aliyun.png

在域名列表中,找到需要解析的域名,点击对应的解析按钮

aliyun1.png

点击"添加记录"

aliyun2.png

首先添加对Github的解析:

@解析-Github

在cmd窗口中,ping之前配置的静态页面地址

aliyun3.png

可以获取到对应的ip地址

编辑如下:

aliyun4.png

记录类型选择A

主机记录输入@

解析线路选择境外,因为我们是准备国内访问时访问到Coding,国外访问时访问到Github

记录值输入刚才获取到的ip地址,如:185.199.110.153

点击确定

www解析-Github

点击添加记录按钮,在打开的新的表单中输入:

aliyun5.png

记录类型选择CNME

主机记录输入www

解析线路选择境外

记录值就输入Github的静态页面地址

点击确定。

@解析-Coding

在cmd窗口中,ping之前配置的静态页面地址

aliyun6.png

可以获取到对应的ip地址

编辑如下:

aliyun7.png

记录类型选择A

主机记录输入@

解析线路选择默认

记录值输入刚才获取到的ip地址,如:150.109.19.98

点击确定

www解析-Coding

点击添加记录按钮,在打开的新的表单中输入:

aliyun8.png

记录类型选择CNME

主机记录输入www

解析线路选择默认

记录值就输入Coding的静态页面地址

点击确定。

配置项目CNAME

在项目根目录-source目录下,新建CNAME文件,内容输入前面申请的域名,如:www.milovetingting.cn

cname.png

依次执行

hexo clean
hexo g
hexo d

提交成功后,就可以在Github和Coding对应的项目根目录下发到提交到的CNAME文件。

由于提交了CNAME文件,Github的静态页面服务已经自动绑定了新提交的域名:

cname2.png

由于我之前已经绑定了 www.milovetingting.cn ,所以这里演示时会提示不能重复绑定。如果没有绑定过重复域名,则会立即生效。

Coding的个人域名绑定,在提交CNAME后,还需要再去设置才能生效

cname3.png

在Pages服务,点击右侧的设置图标进行具体的设置:

cname4.png

在绑定新域名中输入申请的域名,点击绑定。

结束

其实,关于Hexo搭建博客的文章,网上还是比较多的。写这篇文章的主要目标,是记录此次搭建博客的过程,便于后续再次部署时查找资料,也希望能帮助到有需要的人。

END

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 虽说“一寸光阴一寸金,寸金难买寸光阴”,虽说“明日复明日,明日何其多。我生待明日,万事成蹉跎”,虽说“时间一去不复...
    幸福女孩_d33a阅读 389评论 0 0
  • 文|Super Sure S市是全国最大、最繁华的都市。这里的人口已经过三千万,人员十分密集。在这座城市里,有充满...
    龙门村夫阅读 648评论 11 28
  • 1. SANTA CLAUS 2. you will need to “BE TOLERANT OF unexpe...
    RoadToGood阅读 54评论 0 0
  • 导 语 离婚男人也可以是抢手货,只要你遇到的是宝不是草。合适自己的,就是最好的。爱情来的时候,就像落花流水…… 网...
    飘雨桐V阅读 410评论 0 0