# 前言
本博客是基于 node.js 中的 hexo 快速搭建的个人博客,本博客目前是纯前端,无后端。评论系统和搜索功能都是用一些免费的企业服务对接完成的,后续会加上自己的后端,后续本博客的功能会继续完善和更新。
本博客目前部署在了 github 的服务器上,可以通过网址直接进行访问
本博客的所有的文章都是用 Markdown 语法编写的 md 文件,再由渲染器渲染成 html 文件,即可以说每一遍文章其实都是一个 html 文件。
# hexo 的基本介绍
hexo 是一个快速、简洁且高效的博客框架,它支持几条简短的命令发布博客,因此是对于初学者比较友好的博客框架。
在 Gitee/GitHub 上有很多这样的框架,我们深入学习编程,就要拥有阅读文档并使用它们的能力,在这个过程中我们会接触很多配置,不必去深究其中的原理,重在应用就可以啦,就像会开车,并不一定需要知道如何造汽车。
# hexo 的基本文件结构
_config.yml 文件:站点配置文件,很多功能、插件需要修改该配置文件应用生效。
node_modules 文件夹:包含依赖的模块。
package.json 文件:依赖的模块列表。说明见:package.json:Specifics of npm’s package.json handling
package-lock.json 文件:依赖的模块安装记录。说明见:npm-package-locks:An explanation of npm lockfiles
public 文件夹:包含生成的网页静态文件。(可以直接部署在服务器上)
scaffolds 文件夹:包含创建的文章、分类、标签界面的模板。博客的定制修改会对模板进行修改。
source 文件夹:包含生成网页所需要的源文件,包括包含我们心血的 Markdown 文稿,这也是最重要的内容。
themes 文件夹:其中 landscape 是默认的主题,其他文件夹是克隆下来时的主题 (本博客使用的主题是 shoka)。
# hexo 的优势
hexo 是静态博客生成器 (SSG), 这意味着它不需要服务端来进行渲染,只需要将文件发送给客户端即可
因此,hexo 脱离了服务器的限制,可以在 github pages 等静态页面托管平台上部署 hexo 基于 NODEJS, 具有较强的扩展性,性能也相对较高
# 依赖的插件
hexo-renderer-multi-it
(md 文件渲染器,压缩 css/js/html)
hexo-autoprefixer
(给生成的 css 文件们添加浏览器前缀)
hexo-algoliasearch
(站内搜索功能)
hexo-symbols-count-time
(文章或站点字数及阅读时间统计)
# 评论系统和搜索功能
评论系统:
LeanCloud
教程
搜索功能:
algolia
教程 (自行百度)
# 本博客使用到的 api
随机图片: https://api.r10086.com/img-api.php?type = 动漫综合 1
音乐: https://api.injahow.cn/meting (然后加上自己的随机歌单)