欢迎来到 Hexo 主题 Landscape 的学习教程。Landscape 是 Hexo 官方默认的经典主题,它结构清晰、功能完备,非常适合作为初学者理解 Hexo 主题机制的入门案例。本文将带你从零开始,完成主题的安装、启用、配置以及核心功能的使用。
hexo 学习 0034:hexo 贡献指南
开源项目的生命力源于社区的贡献。无论你是一位经验丰富的开发者,还是一位刚入门的技术爱好者,都可以为 Hexo 生态添砖加瓦。本文将详细拆解参与 Hexo 开发的完整流程,涵盖代码贡献、文档更新、翻译工作以及问题报告的核心规范。
hexo 学习 0033:hexo 问题排查
在使用 Hexo 搭建博客的过程中,遇到报错是再正常不过的事情。就像开车时仪表盘亮起故障灯,这些错误信息其实是系统在告诉你哪里“堵车”了。本文将针对 Hexo 常见的各类错误进行详细拆解,提供具体的解决方案和命令示例,帮助你快速恢复站点运行。
hexo 学习 0032:hexo 插件
Hexo 的核心魅力在于其强大的插件系统。你可以把它想象成手机的“应用商店”:核心系统是手机操作系统,而插件就是各种 APP。你不需要修改手机系统的底层代码(核心模块源码),只需安装相应的 APP(插件),就能轻松扩展拍照、导航等新功能。
hexo 学习 0031:hexo 语法高亮
在技术博客中,代码块是展示核心内容的灵魂。如果代码没有颜色区分,阅读起来就像在看一堆枯燥的字符堆砌。Hexo 内置了对两大主流语法高亮库——Highlight.js 和 PrismJS 的支持。
你可以把语法高亮想象成给代码穿上“制服”。Highlight.js 和 PrismJS 就是两家不同的制服制造商,一家擅长在服务器端就把衣服做好(服务端高亮),另一家则提供了丰富的配件让浏览器自己去搭配(浏览器端高亮)。Hexo 允许你自由选择其中一家,甚至决定是在生成网站时穿好衣服,还是让读者打开网页时再穿。
本篇教程将详细讲解如何在 Hexo 中配置和使用这两套系统。
hexo 学习 0030:hexo 国际化(i18n)
在 Hexo 中,如果你想让博客支持多种语言(例如同时提供中文和英文版本),就需要使用国际化(Internationalization,简称 i18n)功能。这里的 “i18n” 是单词 internationalization 的缩写,因为首字母 i 和尾字母 n 之间有 18 个字母,所以用 i18n 代表。
这就好比开了一家餐厅,你准备了中文菜单和英文菜单。当中国客人进来时,你递上中文菜单;当外国客人进来时,你递上英文菜单。Hexo 的 i18n 功能就是帮你自动判断该给读者展示哪种语言的“菜单”。
hexo 学习 0029:hexo helpers
在 Hexo 的主题开发中,Helper(辅助函数)是你最得力的助手。你可以把它们想象成模板中的“快捷指令”或“瑞士军刀”,它们能让你在编写模板文件(如 .ejs、.swig 或 .pug)时,快速插入复杂的代码片段、处理数据或生成标准的 HTML 结构。
请注意一个核心规则:Helper 只能在模板文件中使用,不能直接在源文件(如 Markdown 文章)中调用。
下面我们将详细拆解 Hexo 内置的各类 Helper,帮助你从零开始掌握它们。
hexo 学习 0028:hexo 变量
在 Hexo 主题开发中,变量是连接数据与模板的桥梁。你可以把变量想象成“快递包裹”,Hexo 引擎在渲染页面时,会将文章内容、站点配置、日期信息等打包进不同的变量对象中,模板只需拆开对应的包裹即可获取内容。如果不知道这些变量的存在,你就无法在页面上动态展示文章标题、分类列表或分页导航。
hexo 学习 0027:hexo 模板
模板是 Hexo 主题的灵魂,它决定了网站内容最终如何呈现给访客。你可以把模板想象成建筑蓝图:layout 是整体框架,partials 是预制的门窗组件,而具体的页面模板(如 index, post)则是不同房间的具体装修方案。
hexo 学习 0026:hexo 主题
创建一个 Hexo 主题本质上就是构建一个特定结构的文件夹。你可以把主题想象成博客的“皮肤”和“骨架”,它决定了网站长什么样以及内容如何排列。创建过程非常简单:在 themes 目录下新建一个文件夹,然后修改博客根目录 _config.yml 中的 theme 配置项指向该文件夹名称,即可立即切换。