浅谈如何搭建Hexo博客
前言
由于老博客年久失修且文件杂乱不易于维护,笔者意将老博客存档并部署了新博客,开一个文章与大家分享部署过程。
本文所提供的教程至少在当下完全免费。
综述
笔者使用的博客系统是 Hexo,主题为 Fluid,Netlify 与 Cloudflare 作为部署网站,Decap CMS 作为后台。
本篇将会带你建设一个与上述配置相近的博客。
正式搭建
本地搭建框架
安装 node.js,通过 npm install -g hexo-cli
安装 hexo 基础包。
准备一个空文件夹存储博客源码,在文件夹下运行 hexo init
以初始化博客。
准备完成后,可以使用 hexo s
来浏览。
文章
到这里,基本的博客就搭建好了,你可以使用 hexo new post 文章名
新建一篇文章。
文章的结构大致应是这样的:
1 |
|
其中,开头由 ---
包裹起来的区域称之为 front-matter,存储了该篇文章的基本信息,具体将会在后面讲到。正文支持 Markdown。
若要引用静态资源如图片等,笔者建议在 source
文件夹下新增 images
文件夹存放所有的静态资源,文件夹名无需一样。在文章内可使用 
或类似的方法引用图片,这为后面后台的部署打下了基础。
同样,可以在 front-matter 字段内指定文章的 tags 和 categories。
关于界面
hexo 可能不会自动创建关于界面,使用 hexo new page about
创建。接着,在 /source/about/index.md
的 front-matter 内添加 layout 标识,让 hexo 知道这是关于页。你也可以编辑正文,为关于页添加内容。
1 |
|
安装主题
若你觉得默认主题不够好看,可以安装自定义主题。
笔者对其他主题不是很了解,所以仅会阐述本博客使用的 Fluid 主题的安装与配置,社区上还有许多优秀的主题,如 NexT,A4 等等,有需要可自行上网搜索。
Fluid
下载 最新 Release 版本 并解压至 themes
目录,并将解压出的文件夹重命名为 fluid
。在 _config.yml
中设置 theme: fluid
,启用主题。
配置
公共配置
公共配置文件是根目录下的 _config.yml
。
1 |
|
这部分是基本信息。
1 |
|
这部分也没有特别要说的,笔者建议将 permalink
一项改成上示那样,该选项控制了单篇文章的 url 格式,仅保留年份可以更加简洁。更改这项后,需将 source/_posts
中的文章目录手动重构。
1 |
|
没有特别说的,就是 new_post_name
一项尽量与上述 permalink
的格式同步。
主题配置
主题配置文件一般存在于 themes/主题名/_config.yml
文件内。
本文仅会讲解 Fluid 主题的配置。
Fluid
1 |
|
访问统计服务,如果有可自行开启。
1 |
|
懒加载,可提高加载速度,强烈建议启动。
1 |
|
页脚内容,可自行修改。
1 |
|
评论系统,可自行配置。
1 |
|
关于页的自定义内容。
其他可自行设置,不做过多阐述。
拓展功能
一些有趣的小功能。
音乐
使用 npm install hexo-tag-aplayer --save
安装相关插件。
在全局设置中添加配置。
1 |
|
由于篇幅原因,使用方法不过多介绍,可查看相关教程。
博客加密
使用 npm install hexo-blog-encrypt --save
安装相关插件。
在全局设置中添加配置。
1 |
|
tags 内可以快速为特定标签下的所有博客设置密码,theme 可自由选择。
具体可以看这篇文章。
部署
目前本博客采用的模式是,在 Github 上保存博客的源代码,Netlify 和 Cloudflare 会在检测到 Github 更新后自动拉取代码部署。
上传到 Github
请确保你熟悉 git 的基本操作且熟悉 Github 的基本操作,本文不再赘述。
将博客源代码全部上传到一个新的仓库,仓库名任意。
Netlify 端部署
这是必须的,博客的后台必须依赖 Netlify 身份验证系统。
准备一个 Netlify 账号,在 Netlify 中 Add new site 选择 Import an existing project,在里面选择 Github,然后点选存储源代码的仓库。Site name 中可以选择一个好听的名字,Build command 改成 npm install && npm run build
,确保 Publish directory 为 public
。确认后,就完成了一切设置。
剩下请自行探索。
Cloudflare 端部署
Cloudflare 一般访问更快,但无法使用后台
由于 Cloudflare 仪表板 上不去,咕了。大概就是用 Cloudflare pages,操作跟 Netlify 差不多。
私有仓库
若你使用了密码插件,可以将 Github 上的源代码仓库私有以确保密码不会泄露。
更改为私有后,Netlify 端可能需要一些变化。在 Site configuration 中 Build & deploy 找到 Deploy key,点击生成。在 Github 的仓库中点击 Settings,Deploy keys,Add deploy key。在 Key 一栏粘贴刚生成的密钥,取一个好听的标题,Allow write access 就不用勾选了。
后台
咕咕咕