SuperAPI AI 工具集

canvas-contribution

办公与效率

查看项目

更新于 10-16 08:48

技能介绍

用途:该技能在通用 drupal-contrib-mgmt 贡献流程基础上,补充 Drupal Canvas 模块特有的贡献细节,适用于一边在自有 Drupal 项目中消费 Canvas、一边向 drupal.org 提交功能或修复的场景。

仓库结构:需要两个仓库,一是从 git.drupal.org 克隆的 Canvas 仓库(如 canvas-contrib/),二是消费 Canvas 的 Drupal 项目根目录。一次性克隆命令:git clone git@git.drupal.org:project/canvas.git <canvas-clone>。

UI 构建:Canvas 的 UI 基于 React,需要构建。进入 <canvas-clone>/ui 后执行 npm install;npm run lint 检查 lint 错误,npm run lint -- --fix 自动修复;npm run build 生产构建。

在应用中应用补丁后:修改 extra.patches 中的 Canvas 条目后需先重锁再重装,因为 composer-patches v2 从 patches.lock.json 而非 composer.json 应用补丁。命令依次为:cd <project-root>;ddev composer patches-relock;ddev composer reinstall drupal/canvas;cd <docroot>/modules/contrib/canvas/ui && npm run build;ddev drush cr。

Issue fork 示例(以 #3569725 为例):进入 <canvas-clone>,添加 fork 远程 git remote add canvas-3569725 git@git.drupal.org:issue/canvas-3569725.git,git fetch canvas-3569725,检出分支 git checkout -b '3569725-auto-scale-to-fit' --track canvas-3569725/'3569725-auto-scale-to-fit',修改后 git add 并按规定格式提交,最后 git push canvas-3569725 3569725-auto-scale-to-fit。

关键文件位置:UI 源码 ui/src/,UI 组件 ui/src/features/,CSS 模块 ui/src/**/*.module.css,PHP 模块 src/,测试 tests/。

限制:通用 drupal.org 贡献流程(issue 创建、issue fork、提交格式、HTML 格式)需参考 drupal-contrib-mgmt 技能;资料未提供收费、平台支持范围等其它信息。