bitexpert/additeasy

此包已被废弃,不再维护。未建议替代包。

PSR-7 兼容的平面文件 CMS

v0.2.0 2017-07-01 12:49 UTC

This package is auto-updated.

Last update: 2022-12-30 15:13:30 UTC


README

addItEasy 是一个 PSR-7 兼容的平面文件 CMS 和静态站点生成器,使用 PHP 编写。

安装

安装 bitexpert/additeasy 的首选方式是通过 Composer。只需将 bitexpert/additeasy 添加为依赖项

composer.phar require bitexpert/additeasy

要初始化一个新项目,只需调用提供的 addItEasy 命令行工具的 init 命令

./vendor/bin/addItEasy init

添加模板

addItEasy 使用 Twig 作为模板引擎。在模板文件夹中创建一个名为 "default.twig" 的模板,如下所示

<!DOCTYPE html>
<html lang="en">
<head>
    <title>{{ site.title }}</title>
    <base href="http://localhost:8080/" />
</head>
<body>

<!-- Content block -->
{% block content %}
{% endblock %}

</body>
</html>

添加内容

内容文件需要放置在内容目录中。内容文件基本上是 Twig 文件,它们提供模板所需的

{% extends "default.twig" %}

{% block content %}
<div>
    Hello World!
</div>
{% endblock content %}

您的网站上的每个页面都在内容目录中的子文件夹中表示。文件夹名称构建了您网站的 URL 结构,允许嵌套子文件夹。每个文件夹都需要以一个数字开头,该数字用于指示排序顺序。每个文件夹都需要包含一个包含要显示的内容的 twig 模板文件。

内容文件夹可能看起来像这样

  |-01-home
  |---home.twig
  |-02-about
  |---about.twig
  |-posts
  |---01-post1
  |-----post1.twig
  |---02-post2
  |-----post2.twig
  |---03-post3
  |-----post3.twig
  |---04-post4
  |-----post4.twig  

Twig 辅助函数

当前页面对象以 "page" 命名的变量在模板中公开,$EASY_CONF["site"] 配置数组以 "site" 命名的变量公开。除此之外,addItEasy 还公开了 3 个辅助函数来 "交互" 与内容页面。

children($pagename) 函数接受一个页面名称作为参数,并返回子页面。

{% for post in children('posts') %}
    {{ post.getName() }}
{% endfor %}

siblings($pagename) 函数接受一个页面名称作为参数,并返回包括当前页面在内的所有同级页面。

{% for mainnav in siblings('home') %}
    {{ mainnav.getName() }}
{% endfor %}

pageblock($page, $blockname) 函数接受一个页面对象作为第一个参数,并将要渲染的块的名称作为第二个参数。

{% for post in children('posts') %}
    {{ pageblock(post, 'title') }}
{% endfor %}

运行 addItEasy

作为平面文件 CMS 运行 addItEasy

如果您想在本地运行 addItEasy,需要在项目目录中执行以下命令

php -S 0.0.0.0:8080 -t .

打开网络浏览器,将其指向 http://localhost:8080 以查看 addItEasy 在行动中的效果。

作为静态站点生成器运行 addItEasy

要导出静态 HTML 页面,运行提供的 addItEasy 命令行工具的 export 命令

./vendor/bin/addItEasy export

HTML 文件以及资产将被导出到项目配置中指定的文件夹。

许可

addItEasy遵循Apache 2.0许可证发布。