打造一个超轻量、无依赖的静态网站构建方案。通过 Bash 原生文本替换实现组件复用,将 pages/ 中的模板片段与 components/ 中的公共组件拼装,最终生成可直接部署的静态 HTML 网站。
project/
├── components/ # 组件池:存放 header.html, footer.html 等片段
├── pages/ # 源码区:存放 index.html 及子目录(如 zh/about.html)
├── static/ # 静态资源区:存放静态资源
├── site/ # 输出区:构建后的完整 HTML 文件(由脚本自动生成)
└── build.sh # 核心脚本:负责初始化与构建
- 自动识别:无需注册,
components/目录下的任何.html文件即为一个组件。 - 直观引用:使用
{{文件名}}语法引用组件。例如{{nav}}会被替换为components/nav.html的内容。 - 原生兼容:支持在组件内部编写任意 HTML、CSS 和 JavaScript。
- 原生替换:放弃复杂的
sed正则,采用 Bash 内置的字符串替换技术,天然支持特殊字符(如$,&,/,\,"等),无需转义。 - 目录克隆:完美保持
pages/的多级目录结构,实现 1:1 映射输出到site/。 - 干净构建:每次运行都会清空旧的
site/目录,确保没有冗余文件。
- 一键起步:支持
./build.sh init快速生成演示目录和基础文件。 - 安全创建:自动检测目录,仅在目录不存在时进行创建,保护已有工作成果。
- 即时预览:初始化后立即运行
./build.sh即可看到示例网站。
- 默认执行:直接运行
./build.sh即执行全量构建。 - 状态反馈:构建过程中实时显示正在处理的页面路径,并在完成后提示输出位置。
- 零外部依赖:仅需标准 Bash 环境,无需安装 Node.js、Python 或任何第三方工具。
- 高性能:利用内存变量操作,对于中小型个人网站、文档站点可秒级完成构建。
- 纯粹性:不引入任何私有语法,保持 HTML 的原始纯净。
- 初始化:
执行
./build.sh init生成初始结构。 - 定义组件:
在
components/放入 HTML 片段(如contact.html)。 - 编写页面:
在
pages/创建 HTML 页面,在需要插入组件的地方写入{{contact}}。 - 执行构建:
运行
./build.sh,完整的网站将出现在site/目录中。 - 预览:
直接用浏览器打开
site/index.html或将其上传至服务器。