clarkwinkelmann/flarum-pages-generator

从 Markdown 和 HTML 文件为 Flarum 生成伪静态页面

0.1 2021-08-26 13:14 UTC

This package is auto-updated.

Last update: 2024-08-26 20:05:47 UTC


README

这不是 Flarum 扩展。此包提供了一个 Flarum 扩展器,您可以在本地的 extend.php 中使用它来定义自定义页面。

将此包安装到 Flarum 根目录下,或作为您自定义扩展的一个依赖项。

我不建议将其捆绑为公共扩展的依赖项。

此包处于测试阶段!将会定期发布破坏性更新。请确保使用 ^~ 语义版本约束!

composer require clarkwinkelmann/flarum-pages-generator

用法

extend.php

return [
    (new \ClarkWinkelmann\PagesGenerator\Pages())
        ->source(__DIR__ . '/pages')
        ->mithrilComponent('ContactForm', "flarum.extensions['acme-basic-form'].ContactForm"),
];

->source(string $path) 定义一个用于枚举页面的源文件夹。

->mithrilComponent(string $tag, string $import) 可选地定义一个将 HTML 标签映射到 Mithril 组件的映射。表达式将使用 eval() 调用。

您可以在单个扩展实例上多次调用 sourcemithrilComponent

目前,Flarum 应用程序中必须存在单个扩展实例! 如果多个扩展尝试使用它,将会出错。

页面

页面可以是 Markdown (.md) 或 HTML (.html),并且必须包含一个 Yaml 前端部分

Markdown 使用 Flarum 格式器解析。任何由扩展提供的 markdown 或 bbcode 都将可用。

不带文件扩展名的文件名将是页面 URL。源目录下的子文件夹将作为 URL 的一部分保留。

示例:基本 Markdown

---
title: About us
---

This is a markdown text with **formatting**.

示例:基本 HTML

---
title: Find Us
---

<p>It's very simple to find us</p>

<iframe src=""></iframe>

示例:带有自定义组件的 Markdown 页面

---
title: Contact
---

Use the form to contact us:

<ContactForm title="A title attr"></ContactForm>