kuntaliitto/kuntafibase

Thunder项目的Composer项目模板

安装: 81

依赖关系: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 1

开放问题: 10

语言:Shell

类型:项目

v0.1 2018-12-04 12:39 UTC

This package is auto-updated.

Last update: 2024-09-27 21:43:57 UTC


README

此项目模板应该可以为使用Composer管理您的站点依赖项提供启动。

composer install
composer drupal:scaffold

用法

有关如何使用Thunder项目的说明,请参阅我们的安装文档。我们还提供了有关扩展更新Thunder站点的文档。

模板能做什么?

在安装给定的composer.json时,会处理一些任务

  • Drupal将被安装在docroot目录中。
  • 实现了自动加载器,以使用在vendor/autoload.php中生成的Composer自动加载器,而不是Drupal提供的自动加载器(docroot/vendor/autoload.php)。
  • 模块(类型为drupal-module的包)将放置在docroot/modules/contrib/
  • 主题(类型为drupal-theme的包)将放置在docroot/themes/contrib/
  • 配置文件(类型为drupal-profile的包)将放置在docroot/profiles/contrib/
  • 下载Drupal支架文件,如index.php.htaccess
  • 创建sites/default/files目录。
  • 本地安装最新版本的drush,供在bin/drush中使用。
  • 本地安装最新版本的DrupalConsole,供在bin/drupal中使用。

文件更新

此项目将尝试保持所有Thunder和drupal核心文件是最新的;项目drupal-composer/drupal-scaffold被用于确保每次drupal/core更新时,您的支架文件都得到更新。如果您自定义了任何“支架”文件(通常为 .htaccess),在Drupal核心的新版本中,如果您修改的文件有更新,您可能需要解决合并冲突。

按照以下步骤更新您的Thunder文件。

  1. 运行composer update
  2. 运行git diff以确定是否有支架文件已更改。检查文件以查找任何更改,并将对.htaccessrobots.txt的任何自定义更改恢复。
  3. 将所有内容作为一个单独的提交提交,这样在检出分支或运行git bisect时,docroot将与core保持同步。
  4. 如果在第2步中存在非平凡的冲突,您可能希望在分支上执行以下步骤,并使用git merge将更新的核心文件与您的自定义文件合并。这有助于使用kdiff3之类的三方合并工具。如果您的更改很简单,则此设置不是必需的;将所有修改保持在文件的开始或结束部分是保持合并简单的良好策略。

常见问题解答

我应该提交下载的contrib模块吗?

Composer建议提交。他们提供了反对论点,但同时也提供了如果项目决定这样做时的解决方案

我如何将补丁应用到下载的模块中?

如果您需要应用补丁(根据要修改的项目,pull request通常是一个更好的解决方案),您可以使用composer-patches插件。

要将补丁添加到foobar Drupal模块,请将补丁部分插入composer.json的额外部分。

"extra": {
    "patches": {
        "drupal/foobar": {
            "Patch description": "URL or local path to patch"
        }
    }
}

我应该提交脚手架文件吗?

drupal-scaffold插件可以将脚手架文件(如index.php、update.php等)下载到项目的web/目录。如果您没有自定义这些文件,可以选择不在版本控制系统(例如git)中检查它们。如果您的项目符合这种情况,在每次安装或更新项目后自动运行drupal-scaffold插件可能很方便。您可以通过在composer.json中将@drupal-scaffold注册为安装后和更新后命令来实现这一点。

"scripts": {
    "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold",
    "post-install-cmd": [
        "@drupal-scaffold",
        "..."
    ],
    "post-update-cmd": [
        "@drupal-scaffold",
        "..."
    ]
},

如何防止下载不需要的Thunder模块?

要防止下载Thunder提供但不需要的模块,请向composer.json添加一个replace块。

"replace": {
    "drupal/features": "*"
}

此示例阻止下载任何版本的feature模块。

扩展

KuntaFi基础包的最低要求可以安装

composer require kuntaliitto/kuntafibase_core --prefer-source
composer require kuntaliitto/kuntafibase_basic_page --prefer-source
composer require kuntaliitto/kuntafibase_basic_article --prefer-source
composer require kuntaliitto/kuntafibase_blog --prefer-source
composer require kuntaliitto/kuntafibase_book --prefer-source
composer require kuntaliitto/kuntafibase_contacts --prefer-source
composer require kuntaliitto/kuntafibase_now --prefer-source
composer require kuntaliitto/kuntafibase_paragraphs --prefer-source
composer require "drupal/allowed_formats":"1.x-dev"
composer require "drupal/ajax_comments":"1.0-beta2"

导出配置

要创建pull request,需要将配置写入模块可选配置。我们使用drupal控制台的帮助。

drupal cect basic_article --module="kuntafibase_basic_article" --optional-config --remove-uuid --remove-config
-hash
drupal config:export --directory="modules/custom/kuntafibase_core" --remove-uuid --remove-config-hash

导出将添加一些字段和分类到导出中,它们不是必需的,因为它们是通用的,并且由kuntafibase_core模块添加。例如,频道、市镇、类型分类不再需要,因此在进行PR之前您需要清理。

导入自定义模块配置

模块配置在安装时只安装一次。更新kuntafibase_***配置可以通过drush完成

drush cim --partial --source=modules/custom/kuntafibase_<***>/config/optional/

其中***由模块名称替换