PHPackages                             zjkal/twig2html - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. zjkal/twig2html

ActiveProject[Templating &amp; Views](/categories/templating)

zjkal/twig2html
===============

A tool for converting Twig templates to static HTML files with development preview server.

v1.0.0(10mo ago)16MITPHPPHP &gt;=7.4

Since Jul 22Pushed 7mo agoCompare

[ Source](https://github.com/zjkal/twig2html)[ Packagist](https://packagist.org/packages/zjkal/twig2html)[ RSS](/packages/zjkal-twig2html/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Twig2Html
=========

[](#twig2html)

一个强大的Twig模板转换工具，支持开发时实时预览和生产环境静态HTML生成。通过简单的配置，即可将Twig模板转换为静态HTML文件，适用于构建静态网站、邮件模板或其他需要模板渲染的场景。

特性
--

[](#特性)

- 支持所有Twig模板语法和功能
- 开发时支持实时预览（直接访问.html即可）
- 简单直观的目录结构
- 自动加载模板对应的数据文件（可选）
- 支持批量转换多个模板
- 内置美观的默认样式
- 开箱即用的示例模板和数据文件
- 支持静态资源（CSS、JS、图片）管理

系统要求
----

[](#系统要求)

- PHP &gt;= 7.4
- Composer
- ext-fileinfo 扩展

快速开始
----

[](#快速开始)

### 创建新项目

[](#创建新项目)

通过`composer`命令创建新项目：

```
    composer create-project zjkal/twig2html my-project
```

进入项目目录：

```
    cd my-project
```

启动开发服务器：

```
    composer dev
```

然后在浏览器中访问  即可看到示例页面。

目录结构
----

[](#目录结构)

```
my-project/
├── templates/        # Twig模板文件目录
│   └── index.twig    # 示例模板文件
├── data/            # 模板数据文件目录（可选）
│   └── index.php    # 示例数据文件
├── public/          # 静态资源和输出目录
│   ├── assets/      # 静态资源目录
│   │   ├── css/    # CSS文件
│   │   ├── js/     # JavaScript文件
│   │   └── images/ # 图片文件
│   └── *.html      # 生成的HTML文件
├── build.php        # 构建脚本
├── dev.php          # 开发服务器
├── init.php         # 初始化脚本
└── composer.json    # 项目配置文件

```

使用方法
----

[](#使用方法)

### 开发模式

[](#开发模式)

1. 启动开发服务器：

```
    composer dev
```

2. 在浏览器中访问模板：
    - 使用`.html`后缀访问，如`http://localhost:8080/about.html`
    - 开发服务器会自动查找对应的`.twig`模板
    - 如果存在同名的数据文件，会自动加载数据

### 模板命名规范

[](#模板命名规范)

为了区分完整页面模板和部分模板（如布局、导航等），我们采用以下命名规范：

- 完整页面模板：使用`.twig`后缀，例如：`index.twig`、`about.twig`
- 部分模板：使用`_partial.twig`后缀，例如：
    - `header_partial.twig`：页头模板
    - `footer_partial.twig`：页脚模板
    - `nav_partial.twig`：导航模板
    - `sidebar_partial.twig`：侧边栏模板
    - `layout_partial.twig`：布局模板

在目录批量转换时，所有`_partial.twig`后缀的文件都会被自动跳过，不会生成对应的HTML文件。

### 创建页面

[](#创建页面)

1. 在`templates`目录下创建Twig模板，如`about.twig`：

```
>

    {{ title|default('页面标题') }}

    {{ title|default('页面标题') }}
    {{ content|default('页面内容')|raw }}

```

2. 在`data`目录下创建对应的数据文件（可选），如`about.php`：

```
