szyminson / simple-website
一个简单的用于简单网站的微型框架。
Requires
- eftec/bladeone: ^3.17
- erusev/parsedown: ^1.7
- oomphinc/composer-installers-extender: ^1.1
- vlucas/phpdotenv: ^2.5
This package is auto-updated.
Last update: 2022-01-10 18:40:49 UTC
README
本项目的目标是创建一个易于实现且简单的微型引擎,支持Blade主题和基于文本文件的内容管理。
目录
依赖关系
安装
composer create-project szyminson/simple-website projectName
,- 将
.env.example
重命名为.env
并将BASE_DIR
变量更改为您的项目路径, - 在浏览器中打开您的项目,您应该看到一个示例页面。
建议
要了解如何使用Simple Website,最好的方法是阅读此README文件的同时查阅文件。
子页面
默认情况下,子页面列表存储在 /public/content/pages.config
中(您可以在 .env
文件中更改其路径)。请记住,为了在菜单中按您希望显示它们的顺序放置子页面。文件中的第一个子页面将自动被处理为主页。
布局
Simple Website 使用 BladeOne 模板引擎。有 3 种 模板类型
- 主布局 - 您网站外观的主要部分,它由子布局扩展,
- 子布局 - 这是用于子页面的布局,它扩展主布局,
- 模块布局 - 每个模块都有自己的布局,因此您可以轻松更改模块的外观。
主布局和子布局存储在 /views/layouts
中。模块布局存储在 /views/modules
中。
文件命名
- 主布局和子布局:
/views/layouts/LayoutName.blade.php
- 模块布局:
/views/modules/ModuleName.blade.php
注意
您可以使用 Asset Packagist 为您的前端依赖项。默认情况下,前端资产将存储在 /public/assets
中。
模块
模块是用于构建子页面的简单部分。您可以创建 2 种 类型的模块
静态模块
仅包含HTML代码的简单模块。您可以通过在 /views/modules
中创建blade模板来创建它们。
文件命名
/views/modules/ModuleName.blade.php
动态模块
在动态模块中,您可以使用您自己的 PHP 代码。为此,您需要在 /modules
中创建一个 PHP 文件,以及在 /views/modules
中创建一个 Blade 模板。您可以通过设置 $Content
数组,将模块的后端部分数据传递到模板中。
模块后端可用的变量
$pageId
- 当前子页面的 ID,$pages
- 包含您所有子页面信息的对象,$blade
- 您可以可选地将一些额外的模板加载到$Content
数组中,但并不推荐这样做,$parsedown
- 您可以使用此对象将某些 Markdown 解析成 HTML。
文件命名
- 后端:
/modules/ModuleName.php
- 前端:
/views/modules/ModuleName.blade.php
ExampleModule.php
<?php $VariableName = "Your data"; $VariableName2 = "Some other data"; $VariableName3 = array("one", "two", "three"); $Content = array("Example" => $VariableName, "Example2" => $VariableName2, "Items" => $VariableName3); ?>
ExampleModule.blade.php
<p> {{ $Example }} </p> <p> {{ $Example2 }} </p> <ul> @foreach($Items as $Item) <li>$Item</li> @endforeach </ul>
组件
组件是可以放置在您的 主布局 或 子布局(例如 菜单)中的模块。要将模块作为组件使用,您需要将其名称放入组件的 配置文件 中(默认为 /public/content/components.config
)。然后,您可以通过使用其名称简单地将组件加载到布局文件中:{{ $Menu }}
。