主题简介
Xongyi 是一款面向机构官网场景的 Hexo 通用主题。它的出发点很简单:机构官网的内容结构高度相似——首屏讲清楚”我是谁”,中间讲业务与案例,末尾给联系方式——所以完全可以把这套结构固化下来,用配置而不是代码来驱动。
演示站:hexo-theme-xongyi-demo —— 完整 Hexo 站点,含全部页面、示例文章与五大平台一键部署配置。
它解决什么问题
用通用 Hexo 主题搭官网,通常会卡在三件事上:
| 痛点 | Xongyi 的做法 |
|---|---|
| 首页要”攒”出来,每个板块都得手写 HTML | 内置 12 个首页板块,用 sections 数组拼装,顺序即结构 |
| 企业 / 政务 / 学校的视觉基调差别很大 | 三套预设布局,preset 一行切换配色与默认板块 |
| 备案号、地图、表单、统计这些”国内官网刚需”要自己写 | 全部内置为配置项,填值即生效 |
主题不追求”什么都能做”,而是把机构官网这一件事做到开箱即用。
三套预设
preset 是主题配置的第一项,决定默认配色与视觉基调:
| 预设 | 基调 | 典型场景 | 主色倾向 |
|---|---|---|---|
enterprise |
商务蓝 | 企业官网、科技公司(默认) | 沉稳专业 |
government |
中国红 | 政府门户、政务服务中心 | 庄重权威 |
education |
学院青 | 学校、教育机构 | 清新活力 |
预设之间不只是配色差异,默认板块组合与文案基调也会随场景调整。详见预设布局。
预设只提供默认值与基调,任何一项都可以在 _config.yml 里单独覆盖。例如用 enterprise 的版式 + 自定义主色,完全可行。
12 个首页板块
首页由 sections 数组驱动,删除一行即隐藏、调整顺序即改变结构:
| 板块 | 作用 |
|---|---|
hero |
首屏横幅(徽标、大标题、副标题、按钮、插图) |
quicklinks |
快捷入口(办事大厅、下载中心等高频入口) |
stats |
数据统计(数字滚动动画) |
services |
核心业务 / 服务网格 |
about |
关于我们(支持 HTML 富文本) |
products |
产品与案例卡片 |
news |
新闻动态(自动读取最新文章) |
team |
团队 / 名师风采 |
partners |
合作伙伴(logo 或纯文字) |
gallery |
机构风采图库 |
cta |
行动号召条 |
contact |
联系我们(含表单与地图) |
about-contact |
关于我们 + 联系我们左右合排(一屏收尾) |
每个板块的数据都在 _config.yml 对应节点下配置,详见首页板块。
特性一览
- 🏢 三套预设布局:
enterprise(商务蓝)/government(政务红)/education(学院青),一行配置切换 - 🧩 12 个首页板块:支持启用 / 关闭 / 自由排序,另有「关于我们 + 联系我们」左右合排版
- ⚙️ 60+ 配置项:品牌、导航、页脚、备案号、社交链接、SEO、统计代码、联系表单、地图嵌入,全部配置化
- 🌙 暗色模式:跟随记忆的明暗切换,三套预设各自适配
- 📱 完全响应式:桌面 / 平板 / 手机抽屉菜单,移动端体验完整
- 🚀 轻量高性能:零框架依赖(原生 JS + 单 CSS 文件)
- 🔍 SEO 友好:Open Graph / Twitter Card / JSON-LD 结构化数据、canonical 全覆盖
- 🌐 国际化:内置 zh-CN / en 文案包
- 📰 新闻系统:文章即动态,自动生成新闻列表、归档、分类、标签页
- ♿ 无障碍:跳转链接、aria 标签、
prefers-reduced-motion支持
技术形态
区别于多形态主题,Xongyi 是单形态的:它只有一个”首页 + 内容页”的骨架,把复杂度放在首页板块的编排能力上。
1 | 请求 → layout.ejs(HTML 骨架:head / header / footer) |
主题零运行时依赖:scripts/icons.js 只提供一个图标 helper,source/js/main.js 负责暗色模式、返回顶部、滚动淡入、数字动画与移动端菜单,除此之外没有别的 JavaScript。
目录结构
仓库根目录即主题本体,可直接放进站点 themes/ 目录:
1 | hexo-theme-xongyi/ |
目录名遵循 Hexo 官方主题命名规范 hexo-theme-<name>:主题的 _config.yml、layout/、source/、scripts/、languages/ 全部独立收纳在该文件夹内,可直接复制到任意 Hexo 站点的 themes/ 目录下使用。
兼容性
| 项目 | 要求 |
|---|---|
| Hexo | 7.x(推荐) |
| Node.js | >= 18 |
| 渲染器 | hexo-renderer-ejs(必需)、hexo-renderer-marked(或其它 Markdown 渲染器) |
| 生成器 | 新闻 / 归档 / 分类 / 标签页需要 hexo-generator-index、hexo-generator-archive、hexo-generator-category、hexo-generator-tag |
浏览器支持 Chrome / Edge / Firefox / Safari 最近两个大版本;使用了 CSS 变量、IntersectionObserver 与 prefers-reduced-motion,旧浏览器会优雅降级(失去动画,不影响阅读)。
评论