cnect-web/blellow

D8机构的视觉风格

安装: 3,085

依赖项: 0

建议者: 0

安全性: 0

语言:CSS

类型:drupal-theme

dev-develop 2021-09-29 07:45 UTC

This package is auto-updated.

Last update: 2024-09-29 06:07:12 UTC


README

Packagist

基于Open Europa ThemeEuropa 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

或者,您可以使用提供的配置使用DockerDocker 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缓存,需要以下额外的手动步骤

  1. 打开./build/sites/default/services.yml
  2. twig.config:属性中设置cache: false。例如。
parameters:
     twig.config:
       cache: false
  1. 重建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.jscopy部分,并运行

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组件。

要修补组件

  1. 直接在./node_modules/@ecl/[component-name]中修改其源文件
  2. 运行
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分支。我们需要构建并捕获所有衍生文件。

  1. 检出install-build
  2. develop合并到install-build
  3. 构建资产npm install && npm run build
  4. 提交和推送
  5. install-build合并到install
  6. 提交和推送

请注意,.gitignore文件不应从一个分支泄漏到另一个分支。