openeuropa/oe_bootstrap_theme

OpenEuropa Bootstrap 基础主题。

安装数: 42 063

依赖项: 1

建议者: 0

安全性: 0

星标: 6

关注者: 18

分支: 13

开放问题: 33

类型:drupal-theme

1.14.0 2024-09-20 14:40 UTC

This package is auto-updated.

Last update: 2024-09-24 07:27:12 UTC


README

基于 Bootstrap 5UI PatternsOpenEuropa Bootstrap 组件库 的 Drupal 8/9 主题。

作为依赖项使用

要求

该软件包适用于通过 Composer 管理 Drupal 依赖项 的 Drupal 项目。

建议但在依赖项目中不是必需的,使用 Docker

检查 composer.json 以获取所需的 PHP 版本和其他依赖项。

添加 composer 软件包

在 composer.json 中手动添加,或与现有条目合并

    "extra": {
        "artifacts": {
            "openeuropa/oe_bootstrap_theme": {
                "dist": {
                    "url": "https://github.com/{name}/releases/download/{pretty-version}/{project-name}-{pretty-version}.zip",
                    "type": "zip"
                }
            }
        }
    }

使用 composer 依赖

composer require openeuropa/oe_bootstrap_theme:^1.0@alpha

审查安装

使用 composer info | grep oe_ 审查安装版本。

使用 composer info openeuropa/oe_bootstrap_theme | grep path 审查安装目录。根据您的设置,这可能为 build/themes/contrib/oe_bootstrap_theme

如果安装成功,则 oe_bootstrap_theme 实例应该在 /assets/ 中包含多个子目录,包括 /assets/bcl/

启用和配置

启用所需的辅助模块

./vendor/bin/drush en oe_bootstrap_theme_helper

启用主题并将其设置为默认主题

./vendor/bin/drush config-set system.theme default oe_bootstrap_theme

生成子主题

该软件包提供了一个 task-runner 命令来生成子主题。

# Install the task runner:
composer require openeuropa/task-runner
# Learn more about the create-subtheme command:
./vendor/bin/run help oe_bootstrap_theme:create-subtheme
# Generate a sub-theme
./vendor/bin/run oe_bootstrap_theme:create-subtheme [...]

使用该命令后,首先在 git 中提交生成的子主题,然后审查 所有内容,并确定哪些部分可以删除或需要更改。

kits/README.md 中描述了创建子主题的较老、手动方式。

向后兼容层

根据 OpenEuropa 创新计划,该组件 遵循语义版本控制
主题为其子主题提供 API,该 API 由 PHP 类和方法、Twig 模板、JavaScript 和 CSS/SASS 组成,这些都可以由子主题更改或覆盖。

破坏主题层(Twig、JS、CSS)向后兼容性的错误修复和改进将包含在次要版本中。
通过在主题设置页面中可配置的专用“向后兼容设置”确保向后兼容性。这些设置允许恢复先前的向后兼容行为。
在现有安装中升级主题时,将自动启用新的向后兼容设置。在开发者更新子主题代码时可以禁用它们。
对于新安装,所有向后兼容设置都禁用。

这种方法简化了对更改或改进的采用,否则这些更改或改进将绑定到新的大版本。它允许开发者向当前主版本贡献更改,并可选择性地启用它们,而无需完全将主题更新到新的大版本发布。

"版本 2.x" 模式

对于本主题的2.x版本,我们希望尽可能减少使用模式所需的前处理步骤,而是尽可能直接使用格式化程序和视图模式。
我们从1.x版本开始引入了采用这种新方法的模式。它们已被标记为“2.x版本”类别。
在1.x生命周期中,我们将尽力避免对这些建议做出任何破坏性更改。但是,可能仍需要一些更改。我们将与发布一起沟通这些更改。

开发环境设置

使用LAMP栈或类似环境

这并不官方支持。您需要自行解决。

使用Docker Compose

或者,您可以使用提供的配置通过DockerDocker Compose构建开发网站。

Docker提供了必要的服务和工具,如Web服务器和数据库服务器,以便根据您的本地主机配置运行网站。

要求

覆盖Docker设置

该软件包在docker-compose.yml中为Docker Compose提供默认设置。大多数情况下,这些设置是足够的。

可以创建一个可选的docker-compose.override.yml文件,以选择性地覆盖特定值或定义全新的服务。

对于同时在两个文件中定义的服务,Docker Compose应用官方Docker Compose文档中记录的合并规则。

启动容器

如果您有其他(守护进程)容器正在运行,您可能需要先停止它们

docker stop $(docker ps -q)

要启动,请运行

docker-compose up

建议不要守护docker-compose,这样您可以在完成工作后快速将其关闭(CTRL+C)。但是,如果您想守护它,必须添加-d标志

docker-compose up -d

可选:清除现有安装

如果您已经安装了该软件包,并且想从头开始

docker-compose exec web rm composer.lock
docker-compose exec web rm -rf vendor/
docker-compose exec web rm -rf build/

安装和构建

安装依赖项、构建工件并安装Drupal。

docker-compose exec -u node node npm install
docker-compose exec -u node node npm run build
docker-compose exec web composer install
docker-compose exec web ./vendor/bin/run drupal:site-install

访问开发网站

使用默认配置,开发网站文件应位于build目录中,开发网站应可用:[http://127.0.0.1:8080/build](http://127.0.0.1:8080/build)或[http://web:8080/build](http://web:8080/build)。

运行测试

运行grumphp检查

docker-compose exec web ./vendor/bin/grumphp run

运行phpunit测试

docker-compose exec web ./vendor/bin/phpunit

修补BCL组件

可以使用patch-package NPM项目修补BCL组件。

要修补组件

  1. 直接在./node_modules/@openeuropa/bcl-theme-default中修改其源文件
  2. 运行
docker-compose exec -u node node git config --global user.email "name@example.com"
docker-compose exec -u node node git config --global user.name "Name"
docker-compose exec -u node node npx patch-package @openeuropa/bcl-theme-default --patch-dir=patches/npm

补丁将生成在./patches/npm中,并在运行npm install时应用。
注意:仅在Docker容器内部生成补丁,以使用相同的npm/npx版本。

贡献

请阅读完整文档以获取我们行为准则的详细信息以及向我们提交pull请求的过程。

版本控制

我们使用SemVer进行版本控制。有关可用版本,请参阅该存储库的标签

从旧版本升级

升级到1.0.0-beta2

在composer.json中已删除以下包的依赖关系

  • drupal/description_list_field
  • openeuropa/oe_content
  • openeuropa/oe_media
  • openeuropa/oe_paragraphs

如果您需要其中任何组件,请确保要求该组件。

升级到1.0.0-alpha8

段落迁移

段落相关主题和功能已从 OpenEuropa Bootstrap基础主题 移至 OpenEuropa Whitelabel

如果您正在使用 openeuropa/oe_whitelabel,并且需要段落功能,您应该将其升级到 1.0.0-alpha6 或更高版本,并参考那里的升级说明。