linkorb/blazon

Blazon:从数据(例如Xillion Resources)快速且美观地发布网站、宣传站点、文档、指南等

安装: 8

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 1

开放问题: 2

类型:应用程序

v1.3.0 2022-04-18 16:38 UTC

README

blazon

Blazon是一个数据驱动的、插件驱动的、多目标内容发布框架。

用例

  • 文档、指南、手册
  • 合同(带变量)
  • 法律文件
  • "条件文本"内容
  • Wiki内容渲染
  • 营销网站
  • 政策、程序、表格
  • 知识图谱
  • 数字花园
  • 代码库项目文档
  • 复杂数据图可视化(例如组织结构)

定义

  • 发布:文档集合
  • 文档:唯一标识符(路径),以及渲染输出的控制器
  • 插件:允许修改加载和发布过程的每个阶段
  • 目标:Publisher(例如静态HTML、PDF等)产生的许多输出之一

特性

  • 从本地或远程来源加载数据
  • Markdown,带有前端资料
  • Xillion Resources
  • Twig模板
  • 支持静态站点生成和动态渲染

示例

安装

git clone git@github.com:linkorb/blazon.git
cd blazon
composer install # install php dependencies into blazon's vendor/ directory
./bin/blazon -v # get version and help output

用法

您的Blazon项目(例如您的网站、书籍、报告等)应存储在其自己的目录中,最好是Git仓库。

从那里,使用blazon命令行工具将静态HTML站点生成到您的项目build/目录中

发布

cd path/to/my/blazon-project
path/to/blazon publish -vvv

此命令

  1. 在内存中构建您的发布,使用您自定义的PublicationFactory或默认工厂。
  2. 遍历所有注册的Document实例
  3. 使用它的handler回调渲染每个Document的输出,并将其写入到build/中的文档的path
  4. 递归地复制任何公共资产(图像、CSS、JS、PDF等)从public/build/

现在您可以在您喜欢的服务上作为静态(HTML)网站提供生成的build/目录

  • 简单的nginx容器
  • Github页面
  • Netlify
  • ...等等

使用“监视模式”自动发布

-w标志传递给blazon publish命令以告诉Blazon监视您项目源目录的更改。检测到任何更改后,它将自动(重新)发布到build/

预览服务器

Blazon包含一个最小的预览服务器,您可以在编写内容并设计您的发布时使用。

只需将您的 favorite PHP-enabled webserver(例如,apache with mod-php,nginx with php-fpm等)指向Blazon的public/目录。

确保在Blazon的.env文件中设置SOURCE_PATH=/path/to/your/blazon-project

特性

  • 每次HTTP请求时构建发布
  • 内存中,不写入build/
  • 当在.env文件中将DEBUG=true设置为true时,提供详细的错误信息。
  • 支持从您的发布的public/目录提供静态资产。

不建议在生产中使用预览服务器。使用blazon publish命令以获得最佳的安全性和性能。

灵感

  • Gatsby
  • Hugo
  • Sage
  • Xillion
  • Schemata

贡献

我们欢迎贡献,以使此存储库更加完善。无论是修复错误、添加功能还是改进文档,您的帮助都非常受珍视。要开始,请分叉此存储库然后克隆您的分叉。

在提交任何更改之前,请务必熟悉LinkORB的贡献指南,其中包括我们对提交、分支和拉取请求的标准,以及我们的行为准则

如果您无法自己实现喜欢的更改,请不要犹豫,可以打开一个新的问题报告,以便我们或其他人来处理。

由LinkORB工程技术团队提供


请访问我们的其他项目页面:linkorb.com/engineering。顺便说一句,我们正在招聘!