ceus-media/hydrogen-source-indexer

创建Hydrogen模块源索引的工具。

0.3.0 2023-11-23 14:06 UTC

This package is auto-updated.

Last update: 2024-09-05 00:05:39 UTC


README

Branch Release PHP version PHPStan level Total downloads License

简而言之:这是一个用于为模块集合创建JSON索引文件的工具,可用于Hydrogen框架。

简介

在Hydrogen框架的世界中,有可以从一个或多个模块源安装的模块。模块源是一组由公司或个人产生的、收集或维护的Hydrogen模块。

可以使用Hymn工具安装模块。为了能够扫描现有模块,项目需要有一个注册了源的hymn配置文件。这些源需要通过composer在项目中安装。

由于某些库是包含更多模块的集合,如果源有一个索引,索引过程可以更快。此工具可以通过将所有必要信息收集到一个JSON文件中来创建此类索引。

用法

假设你有

  • 一个使用Hydrogen框架的项目
  • 使用composer安装了框架
  • 使用composer安装了默认模块源Hydrogen Modules (可选)
  • 开发了自己的模块,这些模块应该是可重用的
  • 决定创建自己的模块源
  • 已将您的模块集合收集在VCS存储库(GitHub、GitLab等)中
  • 在模块源存储库中创建了一个composer文件
  • 通过Packagist使您的模块库可用 (可选)

安装

以dev模式检出您的存储库到工作目录

composer create-project my-vendor/my-hydrogen-module-source

现在,您的模块已安装到当前目录中。

cd my-hydrogen-module-source
ls -lA

现在,将模块源索引器作为包以dev模式添加

composer require ceus-media/hydrogen-source-indexer(:dev-main)

创建

要创建JSON索引,您可以这样做

php vendor/ceus-media/hydrogen-source-index/index.php json

这将在目录中创建index.json。

此外,您可以通过以下方式创建HTML索引(index.html):

php vendor/ceus-media/hydrogen-source-index/index.php html

您可以将这两个文件添加到存储库中。虽然JSON文件可以被Hymn使用,但HTML索引用于可用性,可以在浏览器中查看以了解源中的模块概述。

集成

在安装过程中,您通过索引器包扩展了您的composer文件,以dev模式安装。为了缩短索引器的执行时间,您可以通过以下方式扩展您的make文件(Makefile):

dev-index-json:
    @php vendor/ceus-media/hydrogen-source-indexer/index.php json

dev-index-json-humanreadable:
    @php vendor/ceus-media/hydrogen-source-indexer/index.php json-dev

dev-index-html:
    @php vendor/ceus-media/hydrogen-source-indexer/index.php html

当然,您可以根据自己的风格更改目标名称。

定制

设置

索引器附带一个空的属性文件(src/.index.ini),它可以存储有关您的模块源的主要信息。将该文件复制到模块源库的根目录,并根据您的需要更新几行。

示例

id           = "CeusMedia_PublicModules"
title        = "Hydrogen Modules"
url          = "https://github.com/CeusMedia/HydrogenModules"
description  = "Collection of public (free and open) modules for <a href="https://github.com/CeusMedia/HydrogenFramework">Hydrogen Framework</a>"

这些信息将用作索引格式的标题。

HTML

索引器还附带一个HTML模板文件(src/.index.html),它将被用于创建HTML索引。它包含占位符,这些占位符将被设置和生成的模块列表替换。

将该文件复制到模块源库的根目录,并根据您的需要更新几行。

这样做是推荐的,因为默认模板中链接了一些来自Ceus Media CDN服务器的CSS和JavaScript资源。如果您在这里使用自己的资源,您的索引将不依赖于Ceus Media资源。

贡献

你喜欢这个索引器,正在用它来处理你的资源,并且有一个更好的HTML模板要提交吗?或者更好的是,对渲染类进行一些改进?请随意通过fork这个仓库并创建一个pull request来贡献你的改进。 谢谢!