atf / prudentia
基于 uswds_base 主题的 Drupal 主题
Requires
- drupal/components: ^2.4
- drupal/uswds_base: ^2.12
README
此主题是 uswds_base Drupal 主题的子主题。此子主题需要完整的 USWDS 资产文件夹和 @USWDS/compile 包。以下步骤假设您正在使用 Docker 容器运行 Drupal 应用程序,并使用 Lando 在您的应用程序中启动服务和工具。它使用 GULP 编译 SASS 并复制/更新 USWDS 资产。以下步骤假设您的 webroot 是:web。如果您的代码库 webroot 名称不同,您需要更新 lando.yml 文件。
在 Drupal 9 网站中安装和启用 Prudentia 子主题
- 安装 prudentia 主题
lando composer require atf/prudentia
_注意:截至 2022 年 3 月,要使用 USWDS 2.13.1 版本,我们需要 uswds_base 2.13@alpha 版本。由于这个 alpha 版本不符合 composer minimum-stability,需要手动安装该版本。
-
运行:
lando composer require 'drupal/uswds_base:^2.13@alpha'
-
复制 /web/themes/contrib/prudentia/starterkit/yourthemename 文件夹
-
将 yourthemename 文件夹粘贴到 /web/themes/custom/ 目录中
-
将 "yourthemename" 文件夹名称替换为您的主题名称
-
将文件名中所有 "yourthemename" 实例替换为您的主题名称。
custom/yourthemename/
custom/yourthemename/config/install
custom/yourthemename/config/optional
custom/yourthemename/config/schema
custom/yourthemename/js
custom/yourthemename/sass
-
打开以下每个文件夹内的文件,并将所有 "yourthemename" 实例替换为您的主题名称。
custom/yourthemename/
custom/yourthemename/config/install
custom/yourthemename/config/optional
custom/yourthemename/config/schema
custom/yourthemename/js
custom/yourthemename/sass
注意:删除 custom/yourthemename/yourthemename.info.rename.me.yml 文件名中的 'rename-me'。
-
导航到 /admin/extend 并启用组件模块
-
导航到 /admin/appearance 页面
-
安装并将 "yourthemename" 主题设置为默认主题
-
打开 lando.yml 文件并添加以下代码
注意:将 yourthemename 替换为您的主题名称
services:
node:
type: node:16
build:
- npm install --prefix ./web/themes/contrib/prudentia/
- rm -rf ./web/themes/custom/yourthemename/node_modules
- mv ./web/themes/contrib/prudentia/node_modules ./web/themes/custom/yourthemename
tooling:
node:
service: node
npm:
service: node
npx:
service: node
注意
- 如果需要,将 'web' 替换为您的应用程序的根目录。
- 从 yourthemename 中删除 node_modules 的原因是为了避免在 lando rebuild -y 时找不到空目录的问题。
-
lando rebuild -y
-
cd web/themes/custom/yourthemename
-
lando npx gulp copyAssets
-
lando npx gulp compile
-
lando drush cr
-
在您的 drupal 应用程序中
-
转到 "admin/config/development/performance" 并取消选择:“带宽优化”下的“聚合 CSS 文件”和“聚合 JavaScript 文件”,然后点击保存配置(以防止缓存)
-
转到 "/admin/appearance" 页面,并“安装并将 yourthemename 主题设置为默认主题”。
-
清除缓存
lando drush cr
-
导航到您的项目主页,它应该运行基于 Prudentia 的自定义主题
重要说明:
-
上面的 lando.yml 代码
- 在 lando rebuild 上运行,并在您的 docker 容器中安装 Node 和 NPM,将 @uswds/compile、uswds 设计系统和其他包/依赖项添加到 docroot/themes/custom/yourthemename 目录中的 'node_modules'。
- 假设您的 webroot 文件夹名称是 "web"。您可能需要将其更改为 "docroot" 或您的 webroot 文件夹的名称。
-
Prudentia 主题依赖于 Components Library Drupal 模块 (https://www.drupal.org/project/components),并且必须启用该模块才能启用主题。如果您通过 composer 安装主题,模块将自动拉入您的代码库。
-
截至 2022 年 3 月,此主题需要与 uswds 2.13.1 版本兼容的 uswds_base ^2.13@alpha 版本。您需要手动要求 uswds_base ^2.13@alpha 版本。
-
本主题使用USWDS编译器(@uswds/compile包)来编译SASS,它需要Node v16
-
将lando升级到支持Node v16的版本3.6.2
PRUDENTIA GITHUB仓库: https://github.com/atfweb/prudentia/
参考资料
- Drupal和Lando (https://stephencross.com/2020/12/10/drupal-9-and-lando/)
- USWDS-COMPILE (https://github.com/uswds/uswds-compile)
- USWDS_BASE主题 (https://www.drupal.org/project/uswds_base)
- Drupal - 创建子主题 (https://www.drupal.org/node/2165673)
- USWDS - 设计系统包: (https://npmjs.net.cn/package/uswds)
- USWDS JSDELIVR : (https://www.jsdelivr.com/?query=uswds)
- USWDS设计系统 : (https://designsystem.digital.gov/)