openeuropa / oe_bootstrap_theme
OpenEuropa Bootstrap 基础主题。
Requires
- php: >=8.1
- drupal/core: ^10
- drupal/ui_patterns: ^1.4
- drupal/ui_patterns_settings: ^2.0
- openeuropa/ecl-twig-loader: ^4.0
Requires (Dev)
- ext-dom: *
- composer/installers: ^1.11
- drupal/core-composer-scaffold: ^10
- drupal/core-dev: ^10
- drupal/styleguide: ^2
- drush/drush: ^12
- nikic/php-parser: ^4
- openeuropa/code-review: ^2.0.0-alpha6
- openeuropa/task-runner-drupal-project-symlink: ^1.0-beta6
- phpspec/prophecy-phpunit: ^2
- 1.x-dev
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.x-dev
- 1.10.1
- 1.10.0
- 1.9.1
- 1.9.0
- 1.8.1
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.1
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.0
- 1.0.0-beta7
- 1.0.0-beta6
- 1.0.0-beta5
- 1.0.0-beta4
- 1.0.0-beta3
- 1.0.0-beta2
- 1.0.0-beta1
- 1.0.0-alpha8
- 1.0.0-alpha7
- 1.0.0-alpha6
- 1.0.0-alpha5
- 1.0.0-alpha4
- 1.0.0-alpha3
- 1.0.0-alpha2
- 1.0.0-alpha1
- 0.1307202203181215
- 0.1047202201181653
- 0.1047202201181650
- 0.291020212338
- 0.291020211453
- 0.281020211203
- 0.261020211605
- 0.211020211256
- 0.210920211501
- 0.181120211115
- 0.181020211745
- 0.161120211205
- 0.150920212034
- 0.150920211101
- 0.140920211750
- 0.100920211846
- 0.080920211706
- 0.070920212153
- 0.060920211739
- 0.031120211510
- 0.021120211318
- 0.17092021819
- 0.011020211805
- 0.011020211309
- 0.3325.202409051640
- 0.3325.202409051430
- 0.3066.202407161230
- 0.3066.202407161155
- 0.3066.202407151755
- 0.3066.202407121545
- 0.3018.202408230101
- 0.2082.202211071931
- 0.2082.202210241647
- 0.2002.202210070921
- 0.2002.202209281824
- 0.2002.202209141101
- 0.2002.202209121903
- 0.1995.202301231608
- 0.1995.202301230844
- 0.1995.202210011046
- 0.1915.202301031227
- 0.1910.202209271003
- 0.1906.202208011636
- 0.1900.202208121930
- 0.1823.202207081315
- 0.1618.202206100945
- 0.1618.202206071320
- 0.1618.202206011600
- 0.1618.202205191818
- 0.1452.202204201715
- 0.1425.202204071325
- 0.1418.202205311215
- 0.1416.202204221635
- 0.1416.202204150010
- 0.1317.202203291220
- 0.1317.202203241635
- 0.1307.202203281705
- 0.1307.202203181216
- 0.1307.202203161735
- 0.1307.202203160945
- 0.1307.202203100940
- 0.1280.202203170900
- 0.1280.202203161840
- 0.1280.202203151730
- 0.1280.202203151700
- 0.1280.202203151300
- 0.1280.202203141000
- 0.1255.202203291523
- 0.1255.202203291304
- 0.1255.202203171757
- 0.1190.202202281750
- 0.1175.202202281815
- 0.1159.202204051310
- 0.1159.202204051300
- 0.1047.202202071100
- 0.836.202202011734
- 0.823.202201111234
- 0.779.202202030945
- 0.779.202202030940
- 0.779.202202021710
- 0.779.202202021630
- 0.779.202202020929
- 0.750.202111261805
- 0.318.202407271117
- 0.318.202407271045
- 0.318.202406121551
- 0.318.202406072027
- 0.71.0
- 0.1.202408051724
- 0.1.202302231740
- 0.1.202301130938
- 0.1.202211090950
- 0.1.202210121625
- 0.1.202209291409
- 0.1.202209091141
- 0.1.202209022238
- 0.1.202208041835
- 0.1.202206231430
- 0.1.202206071025
- 0.1.202204221756
- 0.1.202204221659
- 0.1.202204061107
- 0.1.202203290731
- 0.1.202203080945
- 0.1.202203021520
- 0.1.202203021223
- 0.1.202202231930
- 0.1.202202231820
- 0.1.202202231550
- 0.1.202202221800
- 0.1.202202081115
- 0.1.202202072010
- 0.1.202202031130
- dev-OEL-3343
- dev-OEL-3382
- dev-OEL-3325
- dev-OEL-2283
- dev-OEL-3020
- dev-OEL-3024
- dev-OEL-2742
- dev-contribution/EPHEH-318
- dev-update-1.x
- dev-OEL-3120
- dev-OEL-3066
- dev-OEL-2799
- dev-UCPKN-2248
- dev-OEL-2325
- dev-OEL-2261
- dev-OEL-2252
- dev-d10
- dev-OEL-1900
- dev-OEL-1442
- dev-OEL-1452
- dev-OEL-1380
- dev-OEL-1160
- dev-OEL-1227
- dev-OEL-755-backup
- dev-OEL-1189
- dev-OEL-1026
- dev-OEL-1130
- dev-OEL-1047
- dev-OEL-1092-user-listing-display-mode
- dev-OEL-779-whitelabel-fixes-navigation
- dev-FRONT-2491
- dev-OEL-824
- dev-OEL-490
- dev-OEL-751
- dev-OEL-752
- dev-OEL-763
- dev-OEL-757
- dev-OEL-750
- dev-OEL-720
- dev-OEL-723
- dev-OEL-722
- dev-OEL-711
- dev-OEL-717
- dev-OEL-716
- dev-php-7.1
- dev-FRONT-2488
- dev-OEL-488
- dev-OEL-478-POC
- dev-FRONT-3061
- dev-OEL-408
- dev-ISSUE-63
- dev-FRONT-patterns-alexis
- dev-EWPP-0000
- dev-preserve-link-attributes
- dev-FRONT-patterns-theo
- dev-FRONT-patterns-paulo
- dev-FRONT-patterns-tiberiu
- dev-alexis
- dev-test-old-pipeline
- dev-ISAICP-6551
- dev-master
- dev-bs-beta3
- dev-temp/srb
- dev-D8TSRB-814
- dev-srb-beta3
- dev-D8TSRB-783
- dev-fix/menu
- dev-D8AGE-64
- dev-stub-D8AGE-64-finder-iterator-pass
- dev-temp/efsa
- dev-temp/D8TEFSA-126
- dev-temp/D8TEFSA-400
- dev-temp/efsa_fix_badge
- dev-bugfix/D8AGE-92
- dev-bugfix/D8AGE-95
- dev-bugfix/D8AGE-91
- dev-feature/D8AGE-93
- dev-bugfix/D8AGE-90
- dev-D8AGE-89
- dev-D8AGE-88
- dev-D8AGE-87
- dev-D8AGE-84
- dev-D8AGE-77
- dev-D8AGE-51
- dev-D8AGE-83
- dev-D8AGE-82
- dev-D8AGE-78
- dev-D8AGE-70
- dev-D8AGE-79
- dev-D8AGE-74
- dev-D8AGE-72
- dev-D8AGE-75
- dev-D8AGE-24
This package is auto-updated.
Last update: 2024-09-24 07:27:12 UTC
README
基于 Bootstrap 5、UI Patterns 和 OpenEuropa 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
或者,您可以使用提供的配置通过Docker和Docker 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组件。
要修补组件
- 直接在
./node_modules/@openeuropa/bcl-theme-default
中修改其源文件 - 运行
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
或更高版本,并参考那里的升级说明。