automad/extension-skeleton

为开发者提供的Automad扩展包骨架

1.0.1 2018-12-16 11:00 UTC

This package is auto-updated.

Last update: 2024-08-24 19:43:05 UTC


README

您可以将此包用作新Automad扩展的Composer包骨架。按照以下步骤开始。请注意,此指南仅展示一种策略,并试图帮助经验不足的开发者理解包开发的基本知识。如果您已经熟悉Composer,您可能有自己的工作流程。

1. 创建Composer包

在开始开发实际扩展之前,必须在临时位置创建包骨架。在后续步骤中,Composer会将您的扩展克隆到packages目录,以创建安装时的自动加载器。使用以下命令在您的计算机上的temp目录中创建一个新的扩展骨架:

composer create-project automad/extension-skeleton temp

2. 初始化存储库

切换到temp目录,并初始化一个新的Mercurial或Git存储库。

3. 编辑composer.json文件

编辑composer.json中的namedescription字段。为了将扩展安装到packages目录并使自动加载工作,扩展的composer.json文件还需要以下字段,并且不应更改:

{
    "type": "automad-package",
    "keywords": ["extension"],
    "require": {
        "automad/package-installer": "^1.1"
    },
    "autoload": {
        "classmap": [""]
    }
}

4. 重命名并编辑类文件

在发布扩展之前,必须定义类文件的结构,以便Composer在安装包时创建自动加载器。扩展的实际开发将在后续步骤中进行。请注意,使用YourVendor/YourExtension的组合调用扩展,并相应地设置PHP命名空间是良好的实践。

namespace YourVendor;
class YourExtension {
    public function YourExtension($Automad, $options) {
        ...
    }
}

还将文件重命名,以遵循Composer命名约定。这样的扩展以后可以在模板中像这样使用:

<@ YourVendor/YourExtension { key: 'value' } @>

5. 发布您的扩展

提交并将您的新包推送到Bitbucket或GitHub。现在可以删除临时存储库。按照Packagist上的指南发布您的扩展。

6. 需求您的扩展

扩展的实际开发必须在Automad安装的packages目录内进行。因此,导航到Automad的基础目录,并像这样需求您的包:

composer require vendor/package:@dev

然后包将被安装,Composer将创建自动加载器。请注意,需要“@dev”才能克隆存储库以便提交和推送您的更改。