justso/justgen

简单的HTML页面生成模块。

3.0.1 2016-10-19 13:26 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:35:05 UTC


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