cnect-web / blellow
D8机构的视觉风格
Requires
- drupal/components: ^2.4.0
- drupal/ui_patterns: ^1.0
- openeuropa/ecl-twig-loader: ~2.1
- dev-develop
- dev-install
- dev-516-new-theme-version
- dev-install-build
- dev-515-show-all-subgroups-on-eu-us-ttc-homepage
- dev-514-upgrade-node-dependencies
- dev-513-new-theme-version
- dev-512-change-components-key-in
- dev-511-prepare-new-install-for-theme
- dev-510-language-code-pt-pt-should-be-replaced-by-pt
- dev-508-new-theme-version-2
- dev-507-change-download-attribute-value-2
- dev-revert-d0c3961b
- dev-508-new-theme-version
- dev-507-change-download-attribute-value
- dev-505-new-theme-version
- dev-504-fix-alignment-filters-group-hp
- dev-503-create-new-theme-install
- dev-495-theming-translate-buttons
- dev-501-verify-checkboxes-or-checkbox-to-margin
- dev-499-create-a-new-theme-version
- dev-500-webforms-checkbox-doesn-t-render-the-red-star-if-a-required-field
- dev-498-show-all-subgroups-on-2030-digital-compass-group-hp-temp-solution
- dev-497-drupal-components-update-to-2-2
- dev-494-bring-translation-link-to-the-field-templates
- dev-493-fix-new-label-on-groups-page
- dev-492-new-theme-version-3
- dev-492-new-theme-version-2
- dev-490-provide-grid-for-groups-page
- dev-492-new-theme-version
- dev-491-fix-font-size-in-fut-notifications-email-template
- dev-revert-20d225d2
- dev-489-fix-color-in-counter
- dev-477-improve-error-message-document-upload
- dev-487-bring-translate-link-for-etrans
- dev-488-prepare-new-theme-version
- dev-485-remove-lang-attribute-from-username-template
- dev-484-remove-group-name-and-logo-in-teaser-when-there-are-no-subgroups
- dev-483-capture-changes-and-prepare-install-branch-fix-banner
- dev-482-fix-issue-with-image-attributes
- dev-481-style-published-and-unpublished-for-content-overview-posts
- dev-478-capture-changes-and-prepare-install
- dev-476-drupal-messages-are-not-working-on-futurium-hp
- dev-474-hide-the-subgroups-view-title
- dev-revert-f26ee1c0
- dev-475-wai-language-attribute
- dev-cherry-pick-f26ee1c0
- dev-473-bring-logo-to-theme-info-yml-as-default-logo-for-metatags
- dev-468-translate-view-footer-or-view-more-link
- dev-472-bring-date-author-to-the-file-component
- dev-471-prepare-new-install-branch-for-theme
- dev-470-css-for-bringing-author-year-of-publication
- dev-469-show-all-subgroups-on-urban-agenda-group-hp-temp-solution
- dev-466-remove-register-from-log-in-or-register-to-post-comments
- dev-464-prepare-new-install-branch-for-theme-2
- dev-463-prepare-new-install-branch-for-theme
- dev-463-prepare-new-install-branch-for-theme-2
- dev-465-add-a-link-to-the-documentation-in-the-footer
- dev-462-clean-up-unneeded-code
- dev-461-editor-tags-theming
- dev-458-show-hide-subgroups-problems-on-desktop-and-mobiles
- dev-460-title-attribute-missing-on-link-wrapped-around-image
- dev-456-improve-sortable-views-drag-handler
- dev-454-editor-tags-template
- dev-455-provide-twig-template-for-group-tags
- dev-453-capture-changes-and-prepare-install
- dev-452-load-twitter-block-on-group-hp
- dev-449-add-new-templates-for-messages-and-message-digests
- dev-450-prepare-install-2
- dev-450-prepare-install
- dev-448-layout-page-header-breaks
- dev-431-translate-exposed-filter
- dev-438-groups-lists-groups-are-not-alligned
- dev-441-improve-theming-for-active-blocked-user
- dev-447-improve-theming-sortable-view-subgroups
- dev-420-make-twig-page-templates-more-dry
- dev-446-prepare-and-updated-install
- dev-444-provide-row-counter-for-sortable-table-subgroups
- dev-443-missing-div-in-views-view-html-twig
- dev-442-show-hide-subgroups
- dev-436-use-the-site-name-as-the-copy-of-the-logo-link
- dev-429-posted-the-in-teaser-lite-needs-to-be-removed-or-translated
- dev-399-drupal-9-upgrade
- dev-335-change-all-links-to-canonical
- dev-280-remove-deads-reg-language-selection-clean-up
- dev-master
This package is auto-updated.
Last update: 2024-09-29 06:07:12 UTC
README
基于Open Europa Theme和Europa Component Library(ECL)的Drupal 8主题。
要求
此主题依赖于以下软件
安装
推荐通过Composer安装主题。
在您的Drupal项目主composer.json
中添加以下依赖项
{
"require": {
"cnect-web/blellow": "dev-develop"
}
}
*待办事项:我们应该验证上述引用。 *
然后运行
$ composer update
开发
Blellow主题项目包含有效开发过程所需的所有代码和工具,这意味着
- 所有PHP开发依赖项(包括Drupal核心)都在
composer.json
中要求 - 所有Node.js开发依赖项都在
package.json
中要求 - 由于与Task Runner项目的集成,项目设置和安装可以轻松处理。
- 所有系统要求都使用Docker Composer容器化。
- 将使用Drone自动测试代码库的每个更改。
项目设置
开发主题需要ECL资产的本地副本,包括Twig模板、SASS和JavaScript源文件。
为了获取所需的代码,您需要在本地安装Node.js (>= 8)。
要安装所需的Node.js依赖项,请运行
$ npm install
要构建最终工件,请运行
$ npm run build
这将编译所有SASS和JavaScript文件为自包含的资产,作为Drupal库公开。
为了下载所有所需的PHP代码,请运行
composer install
这将在./build
目录中构建一个功能齐全的Drupal站点,可用于开发和展示主题。
在设置和安装站点之前,请确保通过将runner.yml.dist复制到./runner.yml
并覆盖相关属性来自定义默认配置值。
要设置项目,请运行
./vendor/bin/run drupal:site-setup
这将
- 在
./build/themes/custom/oe_theme
中创建主题的符号链接,使其可供目标站点使用 - 使用
./runner.yml.dist
中的值设置Drush和Drupal的设置 - 使用
./runner.yml.dist
中的值设置PHPUnit和Behat配置文件
在设置成功后,通过运行以下命令安装站点
./vendor/bin/run drupal:site-install
这将
- 安装目标站点
- 将OpenEuropa主题设置为默认主题
- 启用OpenEuropa主题演示和配置开发模块
使用Docker Compose
或者,您可以使用提供的配置使用Docker和Docker Compose构建开发站点。
Docker提供必要的服务和工具,如Web服务器和数据库服务器,以确保网站能够运行,而不管您的本地主机配置如何。
要求
配置
默认情况下,Docker Compose读取两个文件,一个是docker-compose.yml
,另一个是可选的docker-compose.override.yml
文件。按照惯例,docker-compose.yml
包含您的基配置,并默认提供。覆盖文件,顾名思义,可以包含现有服务或全新服务的配置覆盖。如果服务在两个文件中都有定义,Docker Compose会合并配置。
有关Docker Compose扩展机制的更多信息,请参阅官方Docker Compose文档。
用法
要开始,运行
docker-compose up
建议不要以守护进程形式运行docker-compose
,这样您可以在完成工作后快速将其关闭(CTRL+C
)。然而,如果您想以守护进程形式运行它,您必须添加标志-d
docker-compose up -d
然后
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。
运行测试
要运行grumphp检查
docker-compose exec web ./vendor/bin/grumphp run
要运行phpunit测试
docker-compose exec web ./vendor/bin/phpunit
要运行behat测试
docker-compose exec web ./vendor/bin/behat
禁用Drupal 8缓存
手动禁用Drupal 8缓存是一个费力的过程,详情请参阅此处。
或者,您可以使用以下Drupal Console命令来禁用/启用Drupal 8缓存
./vendor/bin/drupal site:mode dev # Disable all caches.
./vendor/bin/drupal site:mode prod # Enable all caches.
注意:要完全禁用Twig缓存,需要以下额外的手动步骤
- 打开
./build/sites/default/services.yml
- 在
twig.config:
属性中设置cache: false
。例如。
parameters:
twig.config:
cache: false
- 重建Drupal缓存:
./vendor/bin/drush cr
这是由于以下Drupal Console问题。
与ECL组件一起工作
您可以通过使用ECL Twig Loader来在您的Twig模板中使用ECL组件,如下所示
{% include '@ecl/logos' with {
'to': 'https://ec.europa.eu',
'title': 'European Commission',
} %}
或者
{% include '@ec-europa/ecl-logos' with {
'to': 'https://ec.europa.eu',
'title': 'European Commission',
} %}
可以通过ECL.methodName()
访问JavaScript组件,例如ECL.accordions()
。
重要:并非所有ECL模板都可供主题包含,每次您需要包含一个新的ECL模板时,请务必将其添加到ecl-builder.config.js的copy
部分,并运行
npm run build
更新ECL
要更新ECL组件,请更改package.json中的@ec-europa/ecl-preset-full
版本号并运行
$ npm install && npm run build
这将更新资产,如图片和字体,并重新编译CSS。结果更改不应提交到该存储库。
监视和重新编译Sass和JS更改
要监视Sass和JS文件更改 - /sass文件夹 - 以重新编译它们到目标文件夹
npm run watch
结果更改不应提交到该存储库。
修补ECL组件
可以使用patch-package
NPM项目修补ECL组件。
要修补组件
- 直接在
./node_modules/@ecl/[component-name]
中修改其源文件 - 运行
npx patch-package @ecl/[component-name]
或者,当使用Docker Compose时
docker-compose exec -u node node npx patch-package @ecl/[component-name]
修补将在./patches
中生成,并在运行npm install
时应用。
修补ECL构建脚本
本项目使用改进版的ecl-builder。安装后,我们应该修补脚本
依赖项
该主题需要安装"OpenEuropa Theme Helper"模块。
杂项
风格指南
开发环境将安装Styleguide模块。测试页面可在以下URL访问
生产环境构建
目前生产环境中使用的是install
分支。我们需要构建并捕获所有衍生文件。
- 检出
install-build
- 将
develop
合并到install-build
- 构建资产
npm install && npm run build
- 提交和推送
- 将
install-build
合并到install
- 提交和推送
请注意,
.gitignore
文件不应从一个分支泄漏到另一个分支。