# Starter Template

这是一个可直接复制、可继承父主题、可逐页替换的完整开发模板。

## 开始方式

1. 复制当前目录，例如复制为 `themes/my_theme`
2. 修改 `themes/my_theme/theme.json` 中的名称、描述、版本、作者和 `extends`
3. 先只改 `assets/css/theme.css` 和 `assets/js/theme.js`，确认主题能切换
4. 再逐步改写 `home.php`、`article.php`、`category.php`、`archive.php`、`404.php`
5. 进入后台“站点设置”切换到新主题

## 目录说明

- `theme.json`：主题清单与继承配置
- `bootstrap.php`：父主题渲染、资源注入和局部片段辅助函数
- `assets/css/theme.css`：主题公共样式
- `assets/js/theme.js`：主题公共脚本
- `partials/head.php`：插入到 `</head>` 之前的扩展片段
- `partials/footer.php`：插入到 `</body>` 之前的扩展片段
- `assets/preview.svg`：后台主题目录预览图

## 内置能力

- 支持通过 `extends` 继承父主题
- 自动给页面注入公共 CSS 和 JS
- 自动给 `<body>` 增加主题和路由类名
- 可通过 `starterThemeAssetUrl()` 生成当前主题资源地址
- 可通过 `starterThemeRender()` 在保留父主题功能的前提下叠加自定义层

## 常用示例

```php
<?php
require_once __DIR__ . '/bootstrap.php';

starterThemeRender('home.php', [
    'route' => 'home',
    'body_class' => 'theme-my-home',
    'styles' => ['assets/css/theme.css'],
    'scripts' => ['assets/js/theme.js'],
]);
```

## 建议

- 想先保功能稳定，就保留父主题输出，只改 `assets` 和 `partials`
- 想做深度定制，再逐页替换模板结构
- 发布前记得把 `development_template` 改为 `false`
