feat: md-deck

This commit is contained in:
2026-02-27 00:52:29 +08:00
parent ca1801e1a7
commit 907cabe9a0
3 changed files with 271 additions and 7 deletions
+32 -7
View File
@@ -1,10 +1,35 @@
# todo
## md-pin-editor
## md-pins
- [ ] 类似md-pin,寻找最近一张图片。
- [ ] 在图片上显示透明遮罩,覆盖整个图片。
- [ ] 点击遮罩添加一个pin,位置在点击的位置。
- [ ] 再次点击pin会删除pin。
- [ ] 点击遮罩hud的复制按钮,可以将所有pin复制为md-pin文本,以回车换行连接。
- [ ] 所有pin按照A B C ... Z AA AB ... 的顺序显示标签。
- [x] 类似 md-pin,寻找最近一张图片。
- [x] 在图片上显示透明遮罩,覆盖整个图片。
- [x] 点击遮罩添加一个 pin,位置在点击的位置。
- [x] 再次点击 pin 会删除 pin。
- [x] 点击遮罩 hud 的复制按钮,可以将所有 pin 复制为 md-pin 文本,以回车换行连接。
- [x] 所有 pin 按照 A B C ... Z AA AB ... 的顺序显示标签。
- [x] 重命名为 md-pins,退休 md-pin。
## md-deck
定义一个排版模板,填充来自 csv 的数据并生成预览。
### 语法
- size: 长宽尺寸,以 mm 为单位。
- grid: 排版网格。
- bleed: 出血,如 54x86 外加 1mm 出血之后实际尺寸为 56x88。
- padding: 网格外边距。54x86 外加 2mm padding 之后实际网格区域为 50x82。
- layers: 排版层,由一个列表构成。每个元素以 `prop:topleft-bottomright` 格式定义。
```
:md-deck[./card.csv]{size="54x86" grid="5x8" bleed="1" padding="2" layers="body:1,7-5,8 title:1,1-5,1"}
```
### 显示
首先对 csv 数据中的每个条目,显示一个 tab。放在一个 flex wrap 的标签框里。
然后显示卡牌本身。对每个排版层,将 csv 数据中对应字段作为 markdown 显示在对应位置并居中。
- [x] 创建 md-deck 组件