Hexo博客搭建
前言
搭建这个网站的最开始的理由就是想找一个清净点的地方记录自己想记录的一些东西,并且不用有任何的担心文章会不会被删除之类的;所以不惜花费一点时间来搭建一个属于自己的主页,这样就可以为所欲为好好写博客了~
Hexo搭建本地博客
Hexo是一个快速、简洁且高效的博客框架。Hexo使用Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
安装git
- 安装时一直下一步即可,若出现加入系统环境变量的选项,则需要勾选上,否则需要自己手动加入;
- 检验是否成功添加到环境变量:打开cmd,输入
git version
,若出现git
的版本,则说明成功添加。
安装nodeJs(LTS为长期维护版本,Current为最新版)
- 安装时一直下一步,不过在 Custom Setup 这一步记得选
Add to PATH
,否则就需要自己手动添加到系统环境变量; - 检验:打开cmd,输入
node
,若出现node
的简介,则表示安装成功且成功添加到系统环境变量。
安装Heox
- 打开cmd;
- 输入
npm install -g hexo-cli
(通过npm
安装hexo
,-g
为全局安装); - 等待安装成功即可。
创建博客
- 博客的初始化:
hexo init Blog
(这里的Blog为用于存放博客文件的地方,名字随意); cd Blog
;- 安装npm相关组件:
npm inistall
; - 生成静态页面:
hexo generate
或hexo g
; - 启动服务:
hexo server
或hexo s
;
此时就可以打开浏览器,输入http://localhost:4000
查看效果,本地博客搭建成功。
桥接到github
创建仓库
http://test.github.io
新建一个名为<你的用户名>.github.io的仓库,比如说,如果你的github用户名是test,那么你就新建test.github.io的仓库(必须是你的用户名,其它名称无效),将来你的网站访问地址就是 http://test.github.io 了,是不是很方便?
由此可见,每一个github账户最多只能创建一个这样可以直接使用域名访问的仓库。
几个注意的地方:
- 注册的邮箱一定要验证,否则不会成功;
- 仓库名字必须是:username.github.io,其中username是你的用户名;
- 仓库创建成功不会立即生效,需要过一段时间,大概10-30分钟,或者更久。
创建成功后,默认会在你这个仓库里生成一些示例页面,以后你的网站所有代码都是放在这个仓库里啦。
配置github的 SSH key
为什么要配置这个呢?因为你提交代码肯定要拥有你的github权限才可以,但是直接使用用户名和密码太不安全了,所以我们使用ssh key来解决本地和服务器的连接问题。
注意:本文是用 git bash 输入所有命令,用 cmd 可能会出错
$ cd ~/. ssh
- 检查本机已存在的ssh密钥:
$ cd ~/. ssh
如果提示:No such file or directory 说明你是第一次使用git。 - 创建SSH:
ssh-keygen -t rsa -C "邮件地址"
注意:这里的邮件地址指的是你注册 github 的邮箱; - 然后连续3次回车,最终会生成一个文件在用户目录下,打开用户目录即
c:\Users\你的电脑用户名
,找到.ssh文件夹下的id_rsa.pub文件,记事本打开并复制里面的内容; - 打开你的github主页,进入
个人设置 -> SSH and GPG keys -> New SSH key
- 将刚复制的内容粘贴到key那里,title随便填,保存。
- 打开cmd,输入
ssh -T git@github.com
# 测试是否成功;
如果提示Are you sure you want to continue connecting (yes/no)?
,输入yes
,然后会看到:Hi h0ryit! You've successfully authenticated, but GitHub does not provide shell access.
看到这个信息说明SSH已配置成功!
此时你还需要配置:
1 | git config --global user.name "liuxianan"// 你的github用户名 |
修改站点配置
打开你的blog文件,找到_config.yml文件。修改:
1 | deploy: |
然后在站点文件夹目录下执行命令npm install hexo-deployer-git --save
这样,你的本地博客就可以通过hexo d
命令部署到github
上了。
第一篇博客
执行命令:
hexo new Hexo博客搭建
即会在目录hexo\source\_posts
目录下看见文件Hexo博客搭建.md
文件,编辑这个文件,写下你想写的内容,完成后再执行命令:
hexo clean && hexo g && hexo d
稍后即可在你的博客中看到自己写的文章啦。
后续
之前的博客搭建之初,对各个方面都不是很懂,因此对于博客的搭建以及美化优化做的并不是特别好;在经过一番思考过后,决定将博客的文件储存到服务器里,将博客的撰写以及上传工作都放到服务器里面,这样就不用担心文件的突然丢失了。同时也对博客的部署以及NexT
模板的版本进行了更改,让我们有更好的体验~
桥接到Coding
由于github
是国外网站,我们将博客部署到那里时,对其进行访问会很慢,所以我们将博客的托管平台进行了更改,国内小编知道的比较大的代码托管平台就只知道Gitee
和Coding
了,目前Gitee
平台的企业版本才可以免费支持Pages
服务中的自动部署以及自定义域名服务,而Coding
平台中这些都免费支持(虽然他的缺点也有一些,但是这个符合我们的要求,所以就选择了它~)。
将博客托管到Coding
平台其实和Github
差不多,大概也就下面三步:
这个应该不用多说了,很简单的,不过Coding
里面有一点不一样的就是,首先是创建项目,项目里面可以创建个仓库,所以小伙伴们可以先创建一个项目,然后再创建相应的仓库,这里还有一点和Github
不一样的就是,这里的仓库名字可以随意起~
如图,
代码仓库 –> 设置 –> 部署公钥
在这里面配置好自己的公钥即可,公钥的生成方法以及查看方法前面有介绍到。
如图,
持续部署 –> 静态网站
若是没有这个选项的话,则需要手动开启:
项目设置 –> 项目与成员 –> 功能开关 –> 持续集成 –> 打开开关
静态网站初始设置:
网站名称:随意
部署来源:本项目仓库
- 选择项目:刚才创建的项目
- 选择仓库:刚才创建的项目中的仓库
其他的选项都选择默认
确定后就你的博客就搭建完成啦,赶紧去它给你的网址去看看吧~
这里小编的访问地址有两个,是因为小编自己绑定了域名~
打开文件blog/_config.yml
,修改:
1 | deploy: |
最后,在blog/
目录下执行命令npm install hexo-deployer-git --save
这样,你的本地博客就可以通过hexo d
命令部署到Coding
上了,从此再也不用担心国内访问速度啦。
个性化设置
小编这次的个性化设置基本上参照NexT
主题的官方文档设置的,传送门如下:
常规配置
hexo/_config.yml
1 | # Site |
更换主题
默认的主题感觉还是不喜欢,所以这里小编选用的是NexT
主题;安装方式如下:
在next/
下打开终端:
1 | cd hexo |
前往
NexT
主题的版本发布页面前往选择下载:NexT-Releases你需要的版本源代码(zip文件),例如: v8.0.0-rc.3将zip文件解压到主题文件夹目录下并重命名为
next
即可。
安装完成主题后即可在文件blog/_config.yml
中启用主题:
1 | theme: next |
启用完成后就可以在命令端执行:hexo s --debug
,然后在浏览器中打开网址:http://localhost:4000
就可以看到修改完成后的next
主题啦。
更换主题方案
NexT官方主题配置更改方案已经更新,Next主题修改请移步至官网文档
next/_config.yml
1 | # Schemes |
这里有四种主题方案,各位同学可自行选择~
精简静态文件
next/_config.yml
1 | # 生成静态文件后移除不必要的文件。 |
更换网站图标
next/_config.yml
1 | favicon: |
将自己喜欢的图片在网站:比特虫 制作成ico
图标,制作两个,一个16X16的,一个32X32的,放在next/source/images
中,用其相对文件路径替换favicon
中的small
和medium
后的默认路径。
网站底部
next/_config.yml
建站年份
1 | footer: |
底部图标
1 |
|
Powered by Hexo & NexT
1 | # 是否开启:Powered by Hexo & NexT |
备案信息
1 | # 我们特有的备案信息选填项~详情见: http://www.beian.miit.gov.cn, http://www.beian.gov.cn |
深色模式
next/_config.yml
1 | # Dark Mode |
菜单栏设置
启用默认菜单栏
在next/_config.yml
启用:
1 | menu: |
添加自定义菜单
创建新的页面:
1 | cd hexo-site |
将自定义菜单添加进hexo/_config.yml
的menu
中:
1 | menu: |
温馨提示
自定义菜单相应显示的小图标,如home
的fa fa-home
,同学们可以前往Font Awesome寻找自己喜欢的小图标换上。
为你的custom-name
添加译文:
在next/languages/zh-CN.yml
文件中的menu
中添加:
1 | menu: |
因为我们启用的语言为zh-CN
,因此需要在这里面添加custome-name
相应的翻译,这样在博客中才会正确的显示我们自定义菜单的中文;否则就只会显示英文。
添加二级子菜单
添加子菜单方式如下:
next/_config.yml
1 | menu: |
这里和添加自定义菜单时一样的,传送按钮添加译文
链接持久化
在Hexo
中当我们创建的博客名包含中文的名的时候,url
链接地址经常会变成一串很长字符串,不利于博客的链接分享,以及搜索引擎搜索,我们可以通过安装其他的插件来解决这个问题。
安装
url
地址持久化插件:npm install hexo-abbrlink --save
配置文件
hexo/_config.yml
permalink: :year/:month/:day/:abbrlink/
参考文献
感谢这些作者的无私奉献!