justso / justgen
简单的HTML页面生成模块。
Requires
- php: >=5.6.0
- justso/justapi: 3.x
- justso/justtexts: 2.x
- smarty/smarty: 3.x
Requires (Dev)
- phpunit/phpunit: >=5.6
README
简单的HTML页面生成模块。
HTML页面基于Smarty模板和JustTexts包中的文本动态生成,并放置在文件系统中以便稍后直接检索。当模板或文本发生变化(即内容管理)时,只需删除生成的HTML文件,稍后它们将被重新生成。
该包并非试图成为一个内容管理系统,而是一个智能工具,帮助人们更好地控制HTML页面和内容,而无需使用具有所有超能力的“真实”CMS。相反,您可以用多种语言创建小型且非常快速的网页。
安装
Composer
composer require justso/justgen
git
git clone git://github.com/JustsoSoftware/JustGen.git vendor/justso/justgen
设置
在 vendor/justso/justgen 中检出并添加以下行
"/justtexts/page/*/text/*": "justso\\justgen\\TextService",
"/justgen/flushcache": "justso\\justgen\\FlushCache",
"*": "file:vendor/justso/justgen/services.json"
到您的 config.json 文件中的 "services" 部分(参见JustAPI包)。确保它位于 "justtexts" 条目之前,以便使用修改后的TextService类。当编辑页面内容并在模板中使用时,它会将尚未定义的文本容器添加到JustTexts前端。* 规则应该是所有规则中的最后一个,它捕获所有未知访问并尝试找到一个页面进行生成。如果不存在这样的页面,页面生成器会发送一个404错误。
如果您使用Apache,您的配置应该如下所示
<Directory /var/www/htdocs>
...
Redirect 301 /index /de/
ErrorDocument 403 /api/justgen/
ErrorDocument 404 /api/justgen/
</Directory>
使用NginX时,请确保将403和404错误路由到FrontController
error_page 403 404 = /vendor/justso/justapi/FrontController.php;
为了让JustTexts前端与JustGen一起工作,您需要在您的dependencies.php文件中覆盖一个条目
'\justso\justtexts\Page' => '\justso\justgen\model\Page',
模板
模板存储在 /templates 文件夹中,由生成器与Smarty https://smarty.php.ac.cn 协助填充
根据在config.json文件中定义的规则,通过请求的页面选择模板。在 "pages" 部分中,您可以定义哪个页面名称使用哪个模板文件,例如
{
...
"pages": {
"my-page": "ExampleTemplate"
}
...
}
生成器会检查是否有页面规则定义了模板,然后使用该模板生成实际的HTML。然后将其发送回请求的浏览器,并用于在htdocs文件夹中生成一个文件,以便后续访问可以找到该文件,内容无需再次生成。
那么,动态内容怎么办?动态内容应该以不同的方式处理,例如通过AJAX请求加载,而不是以固定的、生成的方式使用。
重定向
有时,您需要将URL重定向到新的URL。因此,您可以配置生成器将旧URL映射到新URL。这通过在config.json中添加一个 "redirects" 部分来完成,如下所示
{
...
"redirects": {
"old-page": "new-page"
}
...
}
支持 & 更多
如果您需要支持,请联系我们:http://justso.de