用 Hexo + Next + GitHubPages 搭建漂亮的免费博客

GitHubPages + Hexo

花费了 一天半 的时间,终于把我的 个人博客 搭建完成,下面我写下搭建博客的过程,其实挺简单的 🙃

详情,可查阅我的博客 lishaoy.net


博客所用技术 (Hexo + Next + GitHubPages)

在文章的末尾我会 贴出 我基于 Hexo + Next + GitHubPages 搭建博客,所参考的文章链接。

如果,你也想用这些技术搭建漂亮的博客,你就需要了解下 HexoNextGitHubPages 这三个单词,下面会逐个解释。

什么是 Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 -- Hexo

什么是 Next

NexTHexo的一个主题(theme),拥有丰富而简单的配置,结合第三方服务,可以打造属于您自己的博客。 -- Next

什么是 GitHubPages

GitHub Pages is a static site hosting service designed to host your personal, organization, or project pages directly from a GitHub repository. -- GitHubPages

翻译过来大概是: GitHub页面是一个静态的站点托管服务,旨在从GitHub存储库中直接托管您的个人、组织或项目页面。

所以,HexoNextGitHubPages 配合起来就可以免费搭建漂亮的 个人博客 , 是不是很爽 😆


如何基于 Hexo 搭建博客

基于 Hexo 搭建博客,只需简单的几步,就能完成 个人博客 的搭建。

准备工作

下载安装 nodejs

node 会自带 npm 包管理工具,建议安装 yarn 来管理依赖 (因为 hexo 貌似是用 yarn 管理 依赖 的,否则可以回出现 依赖 问题)。

Mac 用户可以用 brew 安装,Windows 可以用 cmder 或去官网下安装包程序。

    brew install node

然后用 npm 安装 yarn

    npm install yarn
安装 git

Mac 用户可用刚安装的 yarn 包管理工具安装 gitWindows 可以 cmder 或去官网下安装包程序。

    yarn add git -g
安装 hexo

进入你的项目目录,比如我的是 myblog

    cd myblog

然后用 yarn 安装 hexo

    yarn add hexo -S

此时,环境都准备好了,就可以开始搭建 hexo 博客了 😜


搭建本地博客

进入你的项目目录

比如:我的是 myblog

    cd myblog
项目初始化

项目初始化,会自动生成博客模板,以后写博客只需用 markdown 语法编写对应的 .md 文件即可 ✍️ 。

    hexo init
安装所有的依赖

建议使用用 yarn ,否则会出现依赖问题(在本文之后有相关介绍)。

    yarn install
最后,启动本地服务

在浏览器输入 localhost:4000 即可预览博客

    hexo server

如图: 🌁 </br>

hexo最初的样子 😂

关联 GitHub

通过 GitHubpages 功能,我们可以把我们的博客托管到 GitHub ,而无需去购买云服务器 😋 ,轻松愉快的构建免费博客。

创建 GitHub 账户

我相信 🤔 大家应该都有 GitHub 账号了,如果没有可去 GitHub 官网按照步骤创建账户即可。

配置关联 GitHub

  • 有了 GitHub 账号之后,登录 GitHub ,创建一个项目,项目名称最好和你本地的项目一致,比如: myblog

项目建好之后,一定要开启 GitHub Pages 功能 ⚠️

  • 点击如图 Settings 开启,GitHub Pages 功能
GitHubPages Settings
  • 选择 master branch , 然后 Save
GitHubPages Source
  • 复制你的项目连接,如图
GitHubPages URL
  • 然后在你本地项目根目录找到 _config.yml 文件,粘贴到以下位置
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repository: https://github.com/persilee/MyBlog.git
  branch: master

完成关联

完成以上步骤之后,就可以把自己本地项目推送到 GitHub 托管,只剩下3步 😋

  1. 安装 hexo-deployer-git 插件(可以通过简单的命令,完成文件生成及推送功能)
    yarn add hexo-deployer-git -S
  1. 运行 hexo g (生成本地文件)
    hexo g
  1. 运行 hexo d (将本地文件推送到 GitHub ,和 git push 功能相同)
    hexo d

此时,GitHub 应该已给你生成了访问连接,连接格式是: 你的账号名称 + .github.io + \项目名称,也可以去刚才 GitHubPages 设置页面查看
例如我的:https:\persilee.github.io\MyBlog

这时,你就可以把连接发给小伙伴们,他们通过连接都可以访问你的 博客 🙃。

这里需要注意的地方是:在执行 hexo g 命令时候,可能会出现以下 error,应该是 yarnnpm 冲突的依赖的问题,所以前面文章建议使用 yarn 管理包依赖

ERROR Plugin load failed: hexo-renderer-marked
Error: EISDIR: illegal operation on a directory, read
ERROR Plugin load failed: hexo-server
Error: EISDIR: illegal operation on a directory, read
ERROR Plugin load failed: hexo-renderer-stylus
Error: EISDIR: illegal operation on a directory, read

解决办法,先用 yarn 分别移除,再重新安装,如下

## 先移除
yarn remove hexo-renderer-marked

yarn remove hexo-renderer-stylus

yarn remove hexo-server

## 再安装
yarn add hexo-renderer-marked -S 

yarn add hexo-renderer-stylus -S

yarn add hexo-server -S

在执行 hexo g ,顺利执行 👌


绑定域名

我们已经可以通过 GitHub 分发给我的地址访问 博客 ,但是,这对于我们这些爱 折腾程序猿👨‍💻‍ 来说,还不够,弄个自己的 域名 才够拉风😂。

于是。。。

开始绑定自己的 域名 lishaoy.net

然而,我们绑定 域名 之后,只支持 http 协议,这样我们在 Google 浏览器访问时,会有不安全标准,而且,很容易被插入广告,于是。。。折腾 走起🌝:搞个 https

转入正题,经过一番 折腾 ,采用第三方服务 Netlify 来提供免费的SSL/TLS证书。

当然,这里我提供2种方式绑定域名,一种是 HTTP (不安全的网络协议)、一种是 HTTPS (安全的网络协议,在 Google 浏览器上回有一把小锁,如图)

Google HTTPS 状态标识

HTTP 绑定域名

设置域名解析规则

首先,我们需要去运行商,新增域名解析规则,如图

域名解析规则
新增 CNAME 文件

配置好域名解析规则之后,还需要在项目的 .\source\ 路径下新增 CNAME 文件,输入内容 你的域名 ,如:lishaoy.net

重新新生成文件,推送到GitHub

重新生成文件,运行 hexo g

    hexo g

推送 GitHub

    hexo d

HTTPS 绑定域名

注册 Netlify 账号

首先,我们需要注册一个 Netlify 账号,地址:Netlify ,可以选择用 GitHub 注册。

Netlity Login
新增站点
  • 点击如图按钮 New site from Git,来新增 站点
New site from Git
  • 然后,点击如图按钮 GitHub
GitHub
  • 选择你的项目,比如我的 MyBlog
Select Site
  • 点击 Deploy site
Deploy site
  • 看到如图页面,表示成功,再点击 Site settings
Getting started
Site details
  • 再点击 Change site name 修改短名称,方便记忆

  • 在自己的域名管理中设置 DNS ,我使用的是 阿里云 ,在管理界面添加如图规则

设置域名规则
  • 在点击 Domain management 下的 HTTPS ,按照步骤完成操作,稍等片刻,即可看到我们的 域名 已经上锁 🔐
lishaoy.net上锁

😝 😜 😄 😆 😂 🤣 ...


更换 next 主题

hexo 的主题很多,你可以选择其他喜欢 ❤️ 的主题,我使用的是 next 主题。

安装 next 主题

执行以下命令,安装 next 主题

    git clone https://github.com/iissnan/hexo-theme-next.git themes/next

更改配置文件

修改根目录下的 ./_config.yml 文件,如下

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: next
重新新生成文件,推送到GitHub

重新生成文件,运行 hexo g

    hexo g

推送 GitHub

    hexo d

也可以运行以下命令,启动一个本地服务,调试确定无问题之后再 推送到 GitHub

    hexo s --debug

本地服务启动后,可以在浏览器输入 http://localhost:4000 预览,如图

next 主题最初的样子🙃

本文到此告一段落,关于 next 主题美化的问题,可以参考以下链接文章 🤗

以下是我搭建 博客 参考的文章链接 👇

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

推荐阅读更多精彩内容