skounis/blellow

D8 的机构风格

安装: 10

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 3

分支: 0

开放问题: 0

语言:CSS

类型:drupal-theme

dev-master 2019-05-31 09:27 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:35 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

这将构建一个完全功能性的 Drupal 站点,位于 ./build 目录中,可用于开发和展示主题。

在设置和安装站点之前,请确保通过将 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 主题助手"模块。

其他

样式指南

开发环境将安装样式指南模块。测试页面可在以下URL访问