Win10:Hexo+github搭建个人博客

2021-06-11 10:04:15 浏览数 (1)

写在最前

无聊的碎碎念不看也罢

最开始接触博客的契机是我第一次重装Ubuntu的时候。看的是楠皮的博客,之后又重装了7次Ubuntu,每次都去看楠皮的博客,一个人撑起了他的博客访问量。自此,我终于意识到我也该写个博客了,一开始用到的是csdn,虽然csdn自带的网页markdown非常方便,还有快捷键支持,但是实在是架不住那边烦人的站点广告,之后也试过简书,虽然好看了许多,但是还是没有我当初浏览楠皮博客时那种丝般顺滑的感觉。

最后,在无数个下定决心的双休日,我终于在前天,也即是20190407,记牢这个历史性的时刻,搭建成功了我的第一个个人博客,虽然还很简略,没什么文章,但是不急,把我那200多篇个人日记慢慢搬过来就好了。

准备工作

安装必要的软件

首先要安装必要的软件

如果下载速度过慢可以参考这篇教程:基于NDM和TamperMonkey脚本实现高速下载

以下五个软件中,Node.jsgit为必要软件,后三者作为之后编写博客的Markdown编辑器,挑选一个使用即可。

  • Node.js
  • git
  • Atom
  • Typora
  • Hexo-editor

Node.js

我下载的是的11.13.0版本。(建议选择左边的稳定版本,右边的最新版本可能会出现莫名bug)

Node.js是基于Chrome的V8 JavaScript引擎构建的运行在服务端的JavaScript开发平台,知道这些就够了。

反正作为一个包管理器,安装以后再也不用去打扰它的具体配置。默默运行就是了。

git

我下载的是2.21.0版本,可以选择安装版,也可以选择绿色版。

绿色版需要加上Git_HOME%Git_HOME%bin之类的环境变量,建议下载安装版一路默认安装,安装包会自动添加相应的环境变量。

Atom

Atom自带markdown渲染,Shift Ctrl M即可。而且安装简单。

界面美观,怎么吹都不过分啊。要是没有特殊需求的话这个就足够了。

事实上如果Atom安装了插件之后会很酷炫

插件安装教程和推荐可以参考这篇教程:Atom插件安装和推荐。

Typora

typora是一个专业的markdown编辑器,比之atom的最大优势就是同步渲染速度,缺点是对于代码高亮的支持并不是很方便,自带源代码模式 ,拿来看看代码也不错

HexoEditor

HexoEditor是我目前一直最喜爱的一款Markdown编辑器,自带图片复制转Markdown链接,同时支持三种图床。具备各种快捷键,还能拖动文本,自带预览,对一些主题渲染有适配,没适配的也能通过导入相应的tags配置进行渲染。

有兴趣的可以看一下我专门为它写的配置教程:Hexo-editor——Hexo专用的编辑器

安装Hexo

点击查看Hexo安装教程

首先给出官方网址:Hexo官网

内容仅供参考,具体搭建可以直接看下面的教程。放官网的目的是在这里可以找到全套的使用文档,而且hexo的作者是个台湾人,对中文的支持很不错。

首先需要建立博客文件夹,建议建在非系统盘,例如,那么这个目录就是我们博客的根目录了。因为每个人的命名习惯不同,本帖之后会以指代博客根目录。

使用安装,在路径下->,输入

安装插件,依然是在路径下->,使用指令挑选需要的插件安装。(请仔细阅读注释,确定你是否需要安装这个插件)。

常用命令

常用命令在这篇文章中有详细总结:双系统-Hexo和github的常用命令行归纳

本地预览:在路径下->,输入

然后在浏览器中打开 ,就能看到

如果你安装了插件,就可以通过访问来管理你的文章了。并且在可视化界面中操作文章内容。恭喜你,博客的本地部署到这里算是告一段落了。

添加分类页面和标签页面

部署到GitHub

点击查看部署至github的教程

访问官网按照指示注册github账号:

注册过程中可能遇到的bug

有些用户注册github账号时可能会遇到Unable to verify your captcha response报错。解决方案:

  • 升级浏览器内核:直接下载安装最新版chrome或者Microsoft edge浏览器即可。
  • 把github域名添加到hosts文件中,可以自行百度,也可以参考这篇教程:访问github或部署在gitpage上的网站过慢的解决方案

新建仓库:注册成功后,在github首页单击->

username.github.io

科普:为什么要命名为username.github.io?

专门写给老实孩子看的,这段主要是为了解释为啥要按照username.github.io这个要求来新建仓库名,不感兴趣的话跳过这段看后面的配置Git 与 GitHub就好,不用追根究底。

在这里,要知道,GitHub Pages有两种类型:User/Organization PagesProject Pages,而我所使用的是 User Pages

简单来说,User PagesProject Pages 的区别是:

  • User Pages 是用来展示用户的,而 Project Pages 是用来展示项目的。
  • 用于存放User Pages的仓库必须使用 username.github.io 的命名规则,而 Project Pages则没有特殊的要求。
  • User Pages通过https://username.github.io进行访问,而Projects Pages通过https://username.github.io/projectname进行访问。

相关资料:GitHub Pages Basics / User, Organization, and Project Pages

配置GitGitHub:

配置hexo部署插件内容:

把本地博客内容提交到仓库

域名配置

点击查看域名配置

最后还是屈服于境泽定律,实在是top域名价格太美丽,首年只要1元/年,之后续费也是25元/年,折算下来比我买v2ray服务还便宜。

购买域名

我使用了腾讯云的对象存储功能作为图床存储,考虑到续费便利性,就在腾讯云购买的top域名,其他的像阿里云的万网也是可行的。但是我个人推荐还是腾讯云比较好。腾讯云社区会时不时的发放代金券,可以抵扣腾讯云服务费用。

记得留意域名注册页面的活动优惠,直接购买域名是首年9元起步的,在活动里才能找到首年1元的选项,买的时候也要记得看之后的续费内容,不要花费多余的精力和金钱。

绑定域名为了能够使用自己的域名访问我们的博客,需要再进行域名绑定:

进入解析页面后需要添加两条记录。

在目录下新建文件(注意不要有后缀名,就叫即可,什么、之类的后缀都不能有),在文件中添加上你购买的域名。

配置仓库。打开,点击仓库页面右上角的

Github PagesCustom domain

最后,重新部署一下即可通过你的域名来访问博客了。

主题配置

本博客主题现已改用Butterfly,相比NexT,Butterfly的功能高度集成化,仅仅只需在配置文件中修改true或false即可。本站效果美化方案参考基于Butterfly主题的美化日记

NexT内容已经过于陈旧,不建议参考

安装NexT

我是用的git clone的方法,文档中还有其他方法。

在Hexo根目录文件夹中,打开git bash输入

代码语言:javascript复制
git clone https://github.com/theme-next/hexo-theme-next themes/next
# 这个指令就是把NexT主题的项目文件拷贝到了[Blogroot]/themes/next 路径下。
# 建议找到[Blogroot]/themes/next文件夹,删除里面的.git文件夹。以免在提交到Git仓库时,因为有多个.git文件夹,导致提交出错。

设置主题为NexT

配置NexT主题

站点 site

官方文档里写的是有些配置需要将一部分代码添加到配置文件中,但其实不用,我们逐行看配置文件就会发现,有很多功能都已经放在配置文件里了,只是注释掉了,我们只需要取消注释,把需要的相关信息补全即可使用。

菜单栏 menu

注意点:如果事先没有通过hexo new page “pageName”来创建页面的话,

即使在配置文件中取消注释,页面也没法显示

我们也可以添加自己想要添加的页面,不用局限在配置文件里提供的选择里

||后面是fontAwesome里的文件对应的名称

menu_icons记得选enable: true(默认应该是true)

主题风格 schemes

  • Muse
  • Mist
  • Pisces
  • Gemini

底部建站时间和图标修改

个人社交信息 social

网站动画效果 motion

如果是为了网站响应速度我们可以把网站的动画关掉

但是写微博就是为了装B啊!如果不够酷炫谁要写博客啊,会睡着的好伐啦!

但我觉得页面比较素,所以开了动画,

主题自带四种效果,可以选自己喜欢的。

我选择的是canvas-nest

全局搜索功能 local search

Local Search 由 flashlab 贡献,

在next使用文档里有完备的安装指导。

版本控制

源码存放方案:开源or闭源

  • ?源码保密,仅开源网页
  • ?源码开源,双分支部署

如果按照我现在的方式进行双分支部署,虽然可以在一个仓库内同时管理博客源码和博客生成的网页文件,但是基于gitpage必须是开放的性质,你的博客源码将是完全开源的,任何人都能通过git clone拷贝你的博客源码,唯一的区别就是在没有绑定SSH Key的情况下他们不可能提交到你的库内。

所以,对源码有保密需求的,可以参照以下方式另外新建一个保密仓库作为源码存放库。

创建存放源码的私有仓库

我们需要创建一个用来存放Hexo博客源码的私有仓库[SourceRepo],这点在Win10的Hexo博客搭建教程中有提到。为了保持教程的连贯,此处再写一遍。

创建完成后,需要把博客的源码push到这里。首先获取远程仓库地址,此处虽然SSHHTTPS均可。SSH在绑定过ssh key的设备上无需再输入密码,HTTPS则需要输入密码,但是SSH偶尔会遇到端口占用的情况。请自主选择。

[Blogroot]路径下右键->Git Bash Here,输入

这一步会在你的博客目录下新建一个.git文件夹。因为是隐藏文件夹,所以需要你先确保当前目录下隐藏文件夹可见才能看到它。

在远端提交前,我们需要先调整一下屏蔽项,能够使用指令进行安装的内容不包括在需要提交的源码内,这样可以显著减少需要提交的文件量和加快提交速度。打开(也是隐藏文件),输入以下内容:如果不是主题,记得替换最后一行内容为你自己当前使用的主题。

然后尝试第一次提交你的目录到远程仓库,依然是在路径下->,输入:

偶尔会遇到一些与远端内容不一致的问题,一般是因为在创建远程仓库时点选了生成或者的选项,输入指令:

创建source分支

然后把source设置为默认分支。

第一次提交git

代码语言:javascript复制
git init

在路径下->,输入这一步会在你的博客目录下新建一个文件夹。因为是隐藏文件夹,所以需要你先确保当前目录下隐藏文件夹可见才能看到它。

在远端提交前,我们需要先调整一下屏蔽项,能够使用指令进行安装的内容不包括在需要提交的源码内,这样可以显著减少需要提交的文件量和加快提交速度。打开(也是隐藏文件),输入以下内容:如果不是主题,记得替换最后一行内容为你自己当前使用的主题。

然后尝试第一次提交你的目录到远程仓库,依然是在路径下->,输入:

这样一来,在 GitHub 上的 username.github.io 仓库就有两个分支,

一个 source 分支用来存放网站的原始文件,

一个 master 分支用来存放生成的静态网页。(2020年10月后github新建仓库默认分支由master改为main)

可能遇到的bug

博客管理流程

在本地对博客进行修改(添加新博文、修改样式等等)后,通过下面的流程进行管理

依次执行指令

然后才执行将本地文件发布网站到分支上。(2020年10月后github新建仓库默认分支由master改为main)

本地资料丢失或多PC同步

当重装电脑之后,或者想在其他电脑上修改博客,可以使用下列步骤:

使用拷贝仓库;此处的指代上述博客源码存放方案中存放源码的仓库名。

在本地新拷贝的文件夹下通过终端依次执行下列指令:在下一篇的中,用这个方法部署文件就会很快。

指令脚本

  • ?普通版
  • ?升级版

每次都要反复敲那么几行指令一定会无聊,那么干脆把指令存在脚本里,每次需要用到的时候双击一下就可以高枕无忧了。

[Blogroot]文件夹下新建三个txt文件,分别命名为git-pullgit-pushhexo-publish,打开后依次在里面输入相应的命令。

git-pull(用来从远程仓库拉取最新更改,适用于多PC或多系统端之间的版本对接)

git-push(用于提交每次的修改到远程仓库)

hexo-publish(清空本地缓存后重新部署博客页面)之后将后缀更改为后缀,就是一个可执行脚本了。

直接下载后放到博客根目录路径下。我会将最新的脚本添加到下载目录。建议直接使用下载版。

在hexo根目录下新建一个脚本文件:,将以下内容复制进去。复制后记得按照注释信息修改个人账户和邮箱。界面效果如下:

0 人点赞