drupal 属性
这是叉子 drupal 属性 以 埃里克·莫兰德,由 公民主题原执行的所有功劳都属于上游作者.
这不是 drupal 属性。这是 项目 后面 drupal 属性。 。 。 .
使用树枝.js
createAttribute() 是Twig-facing的入口,相当于德鲁帕尔的
create_attribute()用树枝来注册:
import Twig from 'twig';
import { createAttribute } from '@civictheme/drupal-attribute';
Twig.extendFunction('create_attribute', createAttribute);
twig.js 戳出每个对象的文字 从模板中编译的自有,
可假设 _keys 数组记录作者的密钥顺序. 收藏来自
此软件包从不制作,无论你建造它与 createAttribute(), (中文(简体) ),
构造器,或 setAttribute() - 所以没有消费者需要剥去它.
什麽 createAttribute() 添加是命令 。 这个 create_attribute 运输商
drupal-twig-extensions
绘制地图 Object.keys()中返回
错误的顺序——像整数的键向前悬挂,并有树枝. js 表达式
堆栈指定其他不正确 :
<button{{ create_attribute({'data-slider-previous': '', 'class': 'btn'}) }}></button>
<!-- drupal-twig-extensions -->
<button class="btn" data-slider-previous=""></button>
<!-- createAttribute -->
<button data-slider-previous="" class="btn"></button>
createAttribute() 读取 _keys 因此输出匹配什么
德鲁帕尔的 PHP Attribute 用于同一模板。 无带的物体
_keys - 从渲染语境中达到功能的任何东西,而不是
从模板字面上 —— 保留自己的点数顺序 .
上游跟踪与
drupal-twig-延伸号# 1。 。 。 .
请注意: addDrupalExtensions(Twig) 运行每个编译的 Twig 模块导入
并重新登记自身的实施,因此取决于模块评价顺序
您可能需要通过一个包装簿而不是在启动时一次性注册 :
const extendFunction = Twig.extendFunction.bind(Twig);
Twig.extendFunction = (name, definition) =>
extendFunction(name, name === 'create_attribute' ? createAttribute : definition);
Twig.extendFunction('create_attribute', createAttribute);
先决条件
- 20及以上节点
- 滚动 全球安装
还建议在全球安装下列工具,以方便编写测试和跟踪编码覆盖范围:
安装
项目可以通过运行以下命令来安装:
npm install
使用量
构建测试套件
npm run build:test
此命令将测试套件输出到目录 src/test/target。 。 。 .
执行测试套件
测试套件可以通过运行以下命令来执行:
node src/test/target/index.mjs
或者,为了方便:
npm t
建造主要文物
主要文物可通过以下运行命令来建造: artifact
npm run build:main
此命令将主要文物输出到目录 src/main/target,在版本下 SNAPSHOT。 。 。 .
该版本可通过充入 VERSION 因此,环境变量:
VERSION=1.2.3 npm run build:main
释放
npm 出版需要一个交互式的 OTP , 现在代号不再绕行 2FA,所以释放从维护机运行而不是CI:
git checkout main
git pull
npm ci
npm run lint
npm run typecheck
npm test
npm version minor -m "Released version v%s." # or patch / major
npm publish --access public --tag latest
git push origin main --follow-tags
gh release create vX.Y.Z --title vX.Y.Z --notes-file RELEASE-NOTES-X.Y.Z.md
撰写和执行测试
假设要执行位于 src/test/foo/bar.ts,一个会运行:
tsx src/test/foo/bar.ts
甚至有可能----并建议----在写作测试时跟踪覆盖范围:
odz tsx src/test/foo/bar.ts
当然,也完全有可能 将测试结果 管道到你最喜欢的自带物:
src/test/foo$ tsx bar.ts | tap-nyan
9 -_-_-_-_-_,------,
0 -_-_-_-_-_| /\_/\
0 -_-_-_-_-^|__( ^ .^)
-_-_-_-_- "" ""
Pass!
捐款
许可证
阿帕奇-2.0 © 埃里克·莫兰德
由 CivilTheme 贡献者修改了原始项目的文件 自2025年以来。 请参看承诺历史中关于变化的全部列表.