免费博客 | Hexo搭建博客并部署到Github Pages服务

本文实践的操作系统是windows 10,其他OS的可以当做参考用

一、Hexo搭建博客

1. 环境准备

直接上官网看指引即可,如有疑问可以在评论中留言说明

2. Hexo初始化博客

在命令行窗口中执行下列命令

  • 使用npm安装hexo
npm install -g hexo-cli
  • 初始化你的博客项目

执行命令

hexo init <folder>
cd <folder>
npm install

<folder> 是你本地的文件目录,例如:F:\bruce\hexo\bugmakerBlog,如果不写,则会在执行命令的当前目录初始化一个hexo博客项目

初始化的过程中会去github上下载一些东西,比如说默认的主题 landscape 之类的,需要等个几分钟

执行 hexo init 效果图
执行 npm install 效果图

初始化完成后,你会得到一个这样的项目目录结构:

初始项目目录结构 - 可以在idea中打开

_config.yml
网站的主要配置文件,可以配置你网站的大部分信息。【配置参考说明

简单的配置示例

key 说明 示例
title 网站的名字 BuG制造者联盟官方主页
author 网站的作者 Bruce
language 语言设置 zh-CN

package.json
应用数据。

scaffolds目录
模板目录,你新建一篇博客的时候会以这个目录中的模板文件来创建。

source目录
资源目录,你新建的博客都存储在这里。在生成页面的时候,hexo会忽略掉命名为 _ 开头的文件或文件夹, _post 除外,会将 .md.html 后缀的文件按主题生成页面,并复制到public目录下,其他后缀的文件则直接复制过去,不进行额外转换操作。

themes目录
主题目录,你可以为自己的网站挑选好看的主题,然后在 _config.yml 文件中指定主题即可。

  • 写一篇博客
hexo new [layout] <title>

hexo new 会在 source目录 中创建一个以 <title> 命名的 .md 文件
[layout] 是默认布局,在 scaffolds目录 下定义的,默认布局在 _config.yml 中指定,初始化的默认布局是 post
<title> 是博客的标题,博客的标题可以在生成的 .md 文件中修改

示例

hexo new post My First Blog
新写一篇博客的效果图
  • 生成页面并运行你的博客
hexo g
hexo s -p 80

hexo g 是hexo生成页面指令 hexo generate 的缩写
hexo s 是hexo启动本地服务的指令,默认端口是4000
-p 80 是指定端口号80

生成并启动hexo本地服务效果图.png

默认访问地址 http://localhost:4000
指定80端口访问地址 http://localhost

初始化的博客页面

3. 切换博客主题

在上一步中,我们看到的博客使用的主题是默认的 landscape 主题,hexo为我们提供了很多的主题可以选择,访问网站 https://hexo.io/themes/ 挑选自己喜欢的主题

将挑选好的主题 clonetheme目录 下,主题目录下也有一个 _config.yml 配置文件,这个配置文件即主题相关配置,具体根据主题的wiki上的说明来操作

_config.yml 中,设置 theme 属性的值为 theme目录 下的某一款主题即可,直接写目录下的文件夹名字

示例:

  • clone主题到 theme目录
git clone https://github.com/klugjo/hexo-theme-alpha-dust.git
  • 修改根目录下的 _config.yml 配置文件,设置 theme
theme : hexo-theme-alpha-dust
  • 重新生成并启动本地服务
hexo g
hexo s -p 80
  • 效果图


    切换主题测试的效果图.png

二、了解Github Pages服务

GitHub Pages 网站:https://pages.github.com/

1. 有什么用

Websites for you and your projects. 为你和你的项目提供一个网站
Hosted directly from your GitHub repository. 直接托管存储在你的github仓库
Just edit, push, and your changes are live. 只管去编辑提交代码到仓库,你的网站都会即时更新。

2. 怎么玩的

步骤其实很简单,在 Github Pages上都有
如果你还没有github的账号,那需要先注册一个

  • 第一步:在github上创建一个仓库,命名为 username.github.io username就是你的github用户名,注意不是登录账号,我仓库名字是 BuGMakerClub.github.io

  • 第二步:将刚刚创建的仓库 clone 到本地,如 F:\bruce\bruce-private-github\BuGMakerClub.github.io

cd F:\bruce\bruce-private-github\
git clone https://github.com/BuGMakerClub/BuGMakerClub.github.io.git
  • 第三步:在 clone 下来的项目中,创建一个 index.html,内容可以是 Hello World
cd BuGMakerClub.github.io
echo 'Hello World' > index.html
  • 第四步:提交代码,把刚创建的 index.html 文件 commit & push 到你的 github仓库中

  • 第五步:结束,你可以直接访问 https://username.github.io 访问你的网站了,我的网站地址是 https://BuGMakerClub.github.io

    bugmakerclub.github.io.png

  • 第六步:设置自己的个性化域名

如果你有自己的域名,可以在仓库的设置中绑定自己的个性化域名,然后在域名管理中心设置一个域名解析地址,这样就可以用个性化域名来访问github pages服务商的网页了

三、结合Hexo博客和Github Pages服务

参考:https://hexo.io/docs/deployment.html

hexo的配置中,有一个 deploy 指令,可以将生成的博客网站部署到github仓库中,这样就形成两者的结合关系了。

具体操作如下

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

推荐阅读更多精彩内容