4 个版本 (2 个重大更新)
0.3.0 | 2022年2月7日 |
---|---|
0.2.0 | 2022年2月4日 |
0.1.1 | 2022年2月3日 |
0.1.0 | 2022年2月1日 |
#66 in #清单
18KB
340 代码行
label-generator
一个命令行工具,用于根据标签组件生成 n^k 个标签。
入门指南
在此示例中,我们假设我们是一家螺丝公司,需要为每种类型和大小的螺丝生成标签。
例如
- 十字槽 2"
- 十字槽 3"
- 十字槽 4"
- 平头 2"
- 平头 3"
- 平头 4"
创建一个新的文件夹
mkdir labels
cd labels
创建一个 manifest.toml
文件
root = "root.svg"
sku = "SC-{head}-{length}"
创建一个 root.svg
文件
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="2048px" height="2048px" viewBox="0 0 2048 2048" style="enable-background:new 0 0 2048 2048;" xml:space="preserve">
<!-- component:brand -->
<!-- component:head -->
<!-- component:length -->
</svg>
为我们的扩展组件创建一个新的文件夹
mkdir head
mkdir length
将这些文件夹中的文件添加到 root.svg
中。
.
├── head/
│ ├── P-phillips.svg
│ └── F-flat_head.svg
├── length/
│ ├── 2-inch.svg
│ ├── 3-inch.svg
│ └── 4-inch.svg
├── branding.svg
├── manifest.toml
└── root.svg
现在我们运行标签生成器
$ label-generator
SVG Label Generator
🔧 Config:
>> Root: root.svg
>> SKU: SC-{head}-{length}
📦 Components:
>> branding
>> head
> P
> F
>> length
> 2
> 3
> 4
💾 Generated Files:
>> SC-P-2
>> SC-P-3
>> SC-P-4
>> SC-F-2
>> SC-F-3
>> SC-F-4
✅ Done
这将创建一个 out
目录,其中包含我们的新标签文件
.
└── out/
├── SC-P-2
├── SC-P-3
├── SC-P-4
├── SC-F-2
├── SC-F-3
└── SC-F-4
如果我们查看 SC-P-2
文件,我们应该会看到我们的组件被注入到 SVG 中。
例如
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="2048px" height="2048px" viewBox="0 0 2048 2048" style="enable-background:new 0 0 2048 2048;" xml:space="preserve">
<g>
<text>Screw Company</text>
</g>
<g>
<text>Phillips</text>
</g>
<g>
<text>2"</text>
</g>
</svg>
忽略组合
如果您想忽略某些特定的变体集,可以将它们添加到清单中。
例如,假设我们永远不会有一种十字槽 4" 的螺丝。
root = "root.svg"
sku = "SC-{head}-{length}"
# Ignore Phillips 4" screws
ignore = [
"head:P,length:4",
]
现在当我们运行标签生成器时,我们不会为这种组合生成任何标签。
$ label-generator
SVG Label Generator
🔧 Config:
>> Root: root.svg
>> SKU: SC-{head}-{length}
>> Ignore:
> head:P, length:4
📦 Components:
>> branding
>> head
> P
> F
>> length
> 2
> 3
> 4
💾 Generated Files:
>> SC-P-2
>> SC-P-3
>> SC-P-4 : ignored
>> SC-F-2
>> SC-F-3
>> SC-F-4
✅ Done
标签的 SKU 将会显示,但它的 SVG 不会被生成。
依赖项
~8–11MB
~214K SLoC