@amaster.ai/pi-lark 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/README.md +5 -1
  2. package/dist/config.d.ts +1 -1
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +2 -2
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -1
  8. package/dist/index.js.map +1 -1
  9. package/package.json +3 -3
  10. package/skills/lark-apps/SKILL.md +59 -14
  11. package/skills/lark-apps/creative-design/agents/assets/vision-probe.png +0 -0
  12. package/skills/lark-apps/creative-design/agents/fork-verifier-agent.md +71 -0
  13. package/skills/lark-apps/creative-design/agents/vision-probe-agent.md +41 -0
  14. package/skills/lark-apps/creative-design/assets/index.html +27 -0
  15. package/skills/lark-apps/creative-design/creative-design.md +239 -0
  16. package/skills/lark-apps/creative-design/references/aily.md +39 -0
  17. package/skills/lark-apps/creative-design/references/animated-video.md +34 -0
  18. package/skills/lark-apps/creative-design/references/charts.md +165 -0
  19. package/skills/lark-apps/creative-design/references/claude.md +36 -0
  20. package/skills/lark-apps/creative-design/references/codex.md +32 -0
  21. package/skills/lark-apps/creative-design/references/data-report.md +108 -0
  22. package/skills/lark-apps/creative-design/references/frontend-design.md +71 -0
  23. package/skills/lark-apps/creative-design/references/hi-fi-design.md +32 -0
  24. package/skills/lark-apps/creative-design/references/interactive-prototype.md +24 -0
  25. package/skills/lark-apps/creative-design/references/make-a-deck.md +133 -0
  26. package/skills/lark-apps/creative-design/references/visual-exposure.md +82 -0
  27. package/skills/lark-apps/creative-design/references/wireframe.md +14 -0
  28. package/skills/lark-apps/creative-design/starter-components/android-frame.jsx +188 -0
  29. package/skills/lark-apps/creative-design/starter-components/animations.jsx +773 -0
  30. package/skills/lark-apps/creative-design/starter-components/browser-window.jsx +122 -0
  31. package/skills/lark-apps/creative-design/starter-components/deck-stage.js +2483 -0
  32. package/skills/lark-apps/creative-design/starter-components/design-canvas.jsx +1432 -0
  33. package/skills/lark-apps/creative-design/starter-components/ios-frame.jsx +270 -0
  34. package/skills/lark-apps/creative-design/starter-components/macos-window.jsx +197 -0
  35. package/skills/lark-apps/creative-design/starter-components/tweaks-panel.jsx +752 -0
  36. package/skills/lark-apps/references/lark-apps-automation.md +80 -2
  37. package/skills/lark-apps/references/lark-apps-cache.md +61 -0
  38. package/skills/lark-apps/references/lark-apps-cloud-dev.md +5 -5
  39. package/skills/lark-apps/references/lark-apps-create.md +6 -4
  40. package/skills/lark-apps/references/lark-apps-db.md +1 -1
  41. package/skills/lark-apps/references/lark-apps-env-pull.md +1 -1
  42. package/skills/lark-apps/references/lark-apps-file.md +2 -2
  43. package/skills/lark-apps/references/lark-apps-get.md +1 -1
  44. package/skills/lark-apps/references/lark-apps-git-credential.md +1 -1
  45. package/skills/lark-apps/references/lark-apps-html-publish.md +4 -8
  46. package/skills/lark-apps/references/lark-apps-init.md +1 -1
  47. package/skills/lark-apps/references/lark-apps-list.md +2 -2
  48. package/skills/lark-apps/references/lark-apps-local-dev.md +80 -11
  49. package/skills/lark-apps/references/lark-apps-openapi-key.md +1 -1
  50. package/skills/lark-apps/references/lark-apps-release-create.md +2 -2
  51. package/skills/lark-apps/references/lark-apps-release-get.md +3 -3
  52. package/skills/lark-base/SKILL.md +34 -19
  53. package/skills/lark-base/references/lark-base-cell-value.md +3 -3
  54. package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +17 -1
  55. package/skills/lark-base/references/lark-base-dashboard.md +17 -4
  56. package/skills/lark-base/references/lark-base-data-query-guide.md +8 -0
  57. package/skills/lark-base/references/lark-base-data-query.md +11 -4
  58. package/skills/lark-base/references/lark-base-field-create.md +21 -6
  59. package/skills/lark-base/references/lark-base-field-json.md +9 -6
  60. package/skills/lark-base/references/lark-base-field-update.md +17 -1
  61. package/skills/lark-base/references/lark-base-filter-condition.md +179 -0
  62. package/skills/lark-base/references/lark-base-form-questions-create.md +40 -7
  63. package/skills/lark-base/references/lark-base-form-questions-update.md +73 -20
  64. package/skills/lark-base/references/lark-base-form-submit.md +16 -7
  65. package/skills/lark-base/references/lark-base-record-batch-create.md +12 -10
  66. package/skills/lark-base/references/lark-base-record-batch-update.md +11 -9
  67. package/skills/lark-base/references/lark-base-record-upsert.md +1 -1
  68. package/skills/lark-base/references/lark-base-role-guide.md +11 -0
  69. package/skills/lark-base/references/lark-base-view-set-filter.md +11 -137
  70. package/skills/lark-base/references/role-config.md +31 -5
  71. package/skills/lark-calendar/SKILL.md +14 -8
  72. package/skills/lark-calendar/references/lark-calendar-create.md +6 -5
  73. package/skills/lark-calendar/references/lark-calendar-recurring.md +1 -0
  74. package/skills/lark-calendar/references/lark-calendar-room-find.md +2 -1
  75. package/skills/lark-calendar/references/lark-calendar-schedule-clear-time.md +1 -0
  76. package/skills/lark-calendar/references/lark-calendar-suggestion.md +1 -1
  77. package/skills/lark-calendar/references/lark-calendar-update.md +10 -4
  78. package/skills/lark-contact/SKILL.md +19 -3
  79. package/skills/lark-contact/references/lark-contact-search-bot.md +60 -0
  80. package/skills/lark-doc/SKILL.md +26 -61
  81. package/skills/lark-doc/references/genres/business-analysis.md +30 -0
  82. package/skills/lark-doc/references/genres/data-report.md +32 -0
  83. package/skills/lark-doc/references/genres/email.md +38 -0
  84. package/skills/lark-doc/references/genres/execution-plan.md +27 -0
  85. package/skills/lark-doc/references/genres/formal-doc.md +37 -0
  86. package/skills/lark-doc/references/genres/meeting-minutes.md +24 -0
  87. package/skills/lark-doc/references/genres/memo-brief.md +25 -0
  88. package/skills/lark-doc/references/genres/official-redhead.md +73 -0
  89. package/skills/lark-doc/references/genres/prd.md +26 -0
  90. package/skills/lark-doc/references/genres/proposal.md +24 -0
  91. package/skills/lark-doc/references/genres/research-report.md +32 -0
  92. package/skills/lark-doc/references/genres/retrospective.md +25 -0
  93. package/skills/lark-doc/references/genres/route-consumer.md +37 -0
  94. package/skills/lark-doc/references/genres/route-creative.md +36 -0
  95. package/skills/lark-doc/references/genres/route-knowledge.md +39 -0
  96. package/skills/lark-doc/references/genres/route-marketing.md +40 -0
  97. package/skills/lark-doc/references/genres/route-media.md +36 -0
  98. package/skills/lark-doc/references/genres/route-opinion.md +38 -0
  99. package/skills/lark-doc/references/genres/route-personal-brand.md +36 -0
  100. package/skills/lark-doc/references/genres/route-platform.md +9 -0
  101. package/skills/lark-doc/references/genres/route-report.md +10 -0
  102. package/skills/lark-doc/references/genres/route-workplace.md +17 -0
  103. package/skills/lark-doc/references/genres/sop-tutorial.md +41 -0
  104. package/skills/lark-doc/references/genres/technical-doc.md +39 -0
  105. package/skills/lark-doc/references/genres/wechat.md +39 -0
  106. package/skills/lark-doc/references/genres/weekly-report.md +24 -0
  107. package/skills/lark-doc/references/genres/white-paper.md +32 -0
  108. package/skills/lark-doc/references/genres/xiaohongshu.md +38 -0
  109. package/skills/lark-doc/references/lark-doc-create-workflow.md +121 -0
  110. package/skills/lark-doc/references/lark-doc-create.md +22 -48
  111. package/skills/lark-doc/references/lark-doc-fetch.md +84 -93
  112. package/skills/lark-doc/references/lark-doc-history.md +16 -15
  113. package/skills/lark-doc/references/lark-doc-md.md +5 -1
  114. package/skills/lark-doc/references/lark-doc-media-download.md +2 -1
  115. package/skills/lark-doc/references/lark-doc-script.md +76 -0
  116. package/skills/lark-doc/references/lark-doc-update.md +70 -222
  117. package/skills/lark-doc/references/lark-doc-whiteboard.md +14 -17
  118. package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +46 -0
  119. package/skills/lark-doc/references/lark-doc-xml.md +38 -166
  120. package/skills/lark-drive/SKILL.md +32 -50
  121. package/skills/lark-drive/references/lark-drive-add-comment.md +2 -4
  122. package/skills/lark-drive/references/lark-drive-add-reply.md +47 -0
  123. package/skills/lark-drive/references/lark-drive-apply-permission.md +3 -3
  124. package/skills/lark-drive/references/lark-drive-batch-query-comments.md +46 -0
  125. package/skills/lark-drive/references/lark-drive-comment-content.md +50 -0
  126. package/skills/lark-drive/references/lark-drive-comment-location.md +9 -15
  127. package/skills/lark-drive/references/lark-drive-copy.md +87 -0
  128. package/skills/lark-drive/references/lark-drive-delete-reply.md +48 -0
  129. package/skills/lark-drive/references/lark-drive-download.md +6 -1
  130. package/skills/lark-drive/references/lark-drive-export.md +3 -0
  131. package/skills/lark-drive/references/lark-drive-list-comments.md +25 -68
  132. package/skills/lark-drive/references/lark-drive-list-replies.md +54 -0
  133. package/skills/lark-drive/references/lark-drive-member-add.md +2 -2
  134. package/skills/lark-drive/references/lark-drive-member-list.md +65 -0
  135. package/skills/lark-drive/references/lark-drive-permission-get-setting.md +48 -0
  136. package/skills/lark-drive/references/lark-drive-preview.md +11 -1
  137. package/skills/lark-drive/references/lark-drive-react-reply.md +51 -0
  138. package/skills/lark-drive/references/lark-drive-reactions.md +27 -25
  139. package/skills/lark-drive/references/lark-drive-resolve-comment.md +45 -0
  140. package/skills/lark-drive/references/lark-drive-restore-comment.md +46 -0
  141. package/skills/lark-drive/references/lark-drive-search.md +7 -1
  142. package/skills/lark-drive/references/lark-drive-secure-label.md +1 -1
  143. package/skills/lark-drive/references/lark-drive-task-result.md +3 -0
  144. package/skills/lark-drive/references/lark-drive-update-reply.md +46 -0
  145. package/skills/lark-drive/references/lark-drive-update-title.md +78 -0
  146. package/skills/lark-drive/references/lark-drive-upload.md +1 -0
  147. package/skills/lark-drive/references/lark-drive-workflow-permission-governance-commands.md +38 -8
  148. package/skills/lark-drive/references/lark-drive-workflow-permission-governance-outputs.md +10 -10
  149. package/skills/lark-drive/references/lark-drive-workflow-permission-governance.md +22 -20
  150. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-execute.md +273 -0
  151. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-recall.md +202 -0
  152. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-resolve-verify.md +231 -0
  153. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-review-plan.md +248 -0
  154. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-setup.md +174 -0
  155. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector.md +202 -0
  156. package/skills/lark-drive/references/lark-drive-workflow.md +5 -4
  157. package/skills/lark-event/SKILL.md +8 -4
  158. package/skills/lark-event/references/lark-event-application.md +38 -0
  159. package/skills/lark-event/references/lark-event-vc.md +8 -2
  160. package/skills/lark-im/SKILL.md +9 -9
  161. package/skills/lark-im/references/card/card-2.0-schema.md +1 -1
  162. package/skills/lark-im/references/card/lark-im-card-style.md +4 -4
  163. package/skills/lark-im/references/card/resource/icons.md +14 -0
  164. package/skills/lark-im/references/lark-im-chat-list.md +9 -2
  165. package/skills/lark-im/references/lark-im-chat-members-list.md +7 -4
  166. package/skills/lark-im/references/lark-im-chat-messages-list.md +10 -3
  167. package/skills/lark-im/references/lark-im-chat-search.md +9 -2
  168. package/skills/lark-im/references/lark-im-feed-group-list-item.md +2 -2
  169. package/skills/lark-im/references/lark-im-feed-group-list.md +2 -2
  170. package/skills/lark-im/references/lark-im-feed-shortcut-list.md +1 -1
  171. package/skills/lark-im/references/lark-im-flag-list.md +9 -8
  172. package/skills/lark-im/references/lark-im-message-enrichment.md +1 -1
  173. package/skills/lark-im/references/lark-im-messages-resources-download.md +19 -25
  174. package/skills/lark-im/references/lark-im-messages-search.md +4 -5
  175. package/skills/lark-im/references/lark-im-threads-messages-list.md +8 -4
  176. package/skills/lark-mail/references/lark-mail-triage.md +19 -4
  177. package/skills/lark-minutes/SKILL.md +1 -1
  178. package/skills/lark-minutes/references/lark-minutes-search.md +6 -7
  179. package/skills/lark-okr/SKILL.md +71 -26
  180. package/skills/lark-okr/references/lark-okr-batch-create.md +19 -18
  181. package/skills/lark-okr/references/lark-okr-create.md +173 -0
  182. package/skills/lark-okr/references/lark-okr-cycle-list.md +17 -7
  183. package/skills/lark-okr/references/lark-okr-entities.md +1 -0
  184. package/skills/lark-okr/references/lark-okr-indicator-update.md +3 -1
  185. package/skills/lark-okr/references/lark-okr-indicators.md +61 -12
  186. package/skills/lark-okr/references/lark-okr-progress-list.md +21 -9
  187. package/skills/lark-shared/SKILL.md +3 -3
  188. package/skills/lark-sheets/SKILL.md +83 -82
  189. package/skills/lark-sheets/references/lark-sheets-batch-update.md +13 -58
  190. package/skills/lark-sheets/references/lark-sheets-chart.md +2 -1
  191. package/skills/lark-sheets/references/lark-sheets-conditional-format.md +1 -1
  192. package/skills/lark-sheets/references/lark-sheets-range-operations.md +5 -5
  193. package/skills/lark-sheets/references/lark-sheets-read-data.md +80 -6
  194. package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +21 -10
  195. package/skills/lark-sheets/references/lark-sheets-styles-put.md +93 -0
  196. package/skills/lark-sheets/references/lark-sheets-visual-standards.md +2 -2
  197. package/skills/lark-sheets/references/lark-sheets-workbook.md +4 -3
  198. package/skills/lark-sheets/references/lark-sheets-write-cells.md +40 -12
  199. package/skills/lark-sheets/scripts/lark_detect_subtables.py +593 -0
  200. package/skills/lark-sheets/scripts/lark_inspect_workbook.py +188 -0
  201. package/skills/lark-sheets/scripts/lark_profile_table.py +614 -0
  202. package/skills/lark-sheets/scripts/lark_sheet_range.py +176 -0
  203. package/skills/lark-sheets/scripts/lark_sheet_read_cli.py +184 -0
  204. package/skills/lark-sheets/scripts/sheets_df.py +21 -3
  205. package/skills/lark-slides/SKILL.md +134 -104
  206. package/skills/lark-slides/references/asset-planning.md +6 -4
  207. package/skills/lark-slides/references/iconpark.md +2 -2
  208. package/skills/lark-slides/references/lark-slides-add-slide.md +92 -0
  209. package/skills/lark-slides/references/lark-slides-create.md +86 -66
  210. package/skills/lark-slides/references/lark-slides-delete-slide.md +65 -0
  211. package/skills/lark-slides/references/lark-slides-edit-workflows.md +6 -7
  212. package/skills/lark-slides/references/lark-slides-history.md +132 -0
  213. package/skills/lark-slides/references/lark-slides-media-upload.md +4 -27
  214. package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +7 -11
  215. package/skills/lark-slides/references/lark-slides-replace-slide.md +22 -4
  216. package/skills/lark-slides/references/lark-slides-screenshot.md +33 -15
  217. package/skills/lark-slides/references/lark-slides-update-slide.md +146 -0
  218. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +2 -2
  219. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +2 -3
  220. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +90 -32
  221. package/skills/lark-slides/references/planning-layer.md +11 -10
  222. package/skills/lark-slides/references/slides_chart_demo.xml +1415 -1
  223. package/skills/lark-slides/references/slides_xml_schema_definition.xml +539 -79
  224. package/skills/lark-slides/references/troubleshooting.md +26 -9
  225. package/skills/lark-slides/references/validation-checklist.md +55 -18
  226. package/skills/lark-slides/references/visual-planning.md +25 -22
  227. package/skills/lark-slides/references/xml-schema-quick-ref.md +299 -51
  228. package/skills/lark-slides/scripts/sxsd_validator.py +1052 -0
  229. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +1964 -195
  230. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +4051 -501
  231. package/skills/lark-task/SKILL.md +7 -0
  232. package/skills/lark-task/references/lark-task-complete.md +6 -2
  233. package/skills/lark-task/references/lark-task-create.md +9 -0
  234. package/skills/lark-task/references/lark-task-update.md +6 -2
  235. package/skills/lark-whiteboard/SKILL.md +21 -13
  236. package/skills/lark-whiteboard/elements/layout.md +1 -1
  237. package/skills/lark-whiteboard/elements/schema.md +2 -2
  238. package/skills/lark-whiteboard/references/{lark-whiteboard-query.md → lark-whiteboard-export.md} +17 -16
  239. package/skills/lark-whiteboard/references/lark-whiteboard-update.md +7 -7
  240. package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +23 -31
  241. package/skills/lark-whiteboard/routes/dsl.md +11 -5
  242. package/skills/lark-whiteboard/routes/mermaid.md +3 -3
  243. package/skills/lark-whiteboard/routes/svg-edit.md +9 -6
  244. package/skills/lark-whiteboard/routes/svg.md +14 -7
  245. package/skills/lark-whiteboard/scenes/bar-chart.md +1 -1
  246. package/skills/lark-whiteboard/scenes/fishbone.md +1 -1
  247. package/skills/lark-whiteboard/scenes/flywheel.md +1 -1
  248. package/skills/lark-whiteboard/scenes/line-chart.md +1 -1
  249. package/skills/lark-whiteboard/scenes/mention.md +71 -0
  250. package/skills/lark-whiteboard/scenes/treemap.md +1 -1
  251. package/skills/lark-wiki/SKILL.md +6 -3
  252. package/skills/lark-wiki/references/lark-wiki-delete-space.md +6 -3
  253. package/skills/lark-doc/references/lark-doc-word-stat.md +0 -93
  254. package/skills/lark-doc/references/style/lark-doc-create-workflow.md +0 -47
  255. package/skills/lark-doc/references/style/lark-doc-style.md +0 -68
  256. package/skills/lark-doc/references/style/lark-doc-update-workflow.md +0 -48
  257. package/skills/lark-doc/scripts/doc_word_stat.py +0 -1243
  258. package/skills/lark-drive/references/lark-drive-comments-guide.md +0 -80
  259. package/skills/lark-slides/references/examples.md +0 -91
  260. package/skills/lark-slides/references/lark-slides-replace-pages.md +0 -95
  261. package/skills/lark-slides/references/lark-slides-whiteboard.md +0 -331
  262. package/skills/lark-slides/references/lark-slides-xml-get.md +0 -100
  263. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +0 -125
  264. package/skills/lark-slides/references/slide-templates.md +0 -201
  265. package/skills/lark-slides/references/slides_demo.xml +0 -226
  266. package/skills/lark-slides/references/xml-format-guide.md +0 -433
@@ -1,10 +1,10 @@
1
1
  # XML Schema 快速参考
2
2
 
3
- 本文档是 [slides_xml_schema_definition.xml](slides_xml_schema_definition.xml) 的精简版摘要;如果两者不一致,以 XSD 原文为准。
3
+ 本文档是 [slides_xml_schema_definition.xml](slides_xml_schema_definition.xml) 的精简版摘要,并合并了常用 XML 格式写法;如果两者不一致,以 XSD 原文为准。
4
4
 
5
5
  ## 最重要的规则
6
6
 
7
- 1. 协议标准写法应使用 `<presentation xmlns="http://www.larkoffice.com/sml/2.0">`;当前服务端实现可能兼容不带 `xmlns` 的输入,但不作为协议保证
7
+ 1. 协议标准写法应使用 `<presentation xmlns="https://www.larkoffice.com/sml/2.0">`;当前服务端实现可能兼容不带 `xmlns` 的输入,但不作为协议保证
8
8
  2. `<presentation>` 直接子元素只有 `<title>`、`<theme>`、`<slide>`
9
9
  3. `<slide>` 直接子元素只有 `<style>`、`<data>`、`<note>`
10
10
  4. 页面中的文本通常通过 `<content>` 表达,而不是把 `<title>`、`<body>` 直接挂在 `<slide>` 下
@@ -12,12 +12,11 @@
12
12
  ## 最小可用示例
13
13
 
14
14
  ```xml
15
- <?xml version="1.0" encoding="UTF-8"?>
16
- <presentation xmlns="http://www.larkoffice.com/sml/2.0" width="960" height="540">
15
+ <presentation xmlns="https://www.larkoffice.com/sml/2.0" width="960" height="540">
17
16
  <slide>
18
17
  <data>
19
18
  <shape type="text" topLeftX="80" topLeftY="80" width="800" height="120">
20
- <content textType="title">
19
+ <content autoFit="normal-auto-fit" wrap="true" textType="title">
21
20
  <p>标题</p>
22
21
  </content>
23
22
  </shape>
@@ -30,24 +29,30 @@
30
29
 
31
30
  | 属性 | 必需 | 说明 |
32
31
  |------|------|------|
33
- | `width` | 是 | 演示文稿宽度,正整数 |
34
- | `height` | 是 | 演示文稿高度,正整数 |
32
+ | `width` | 是 | 演示文稿宽度,正整数,标准 16:9 页面建议使用 `960` |
33
+ | `height` | 是 | 演示文稿高度,正整数,标准 16:9 页面建议使用 `540` |
35
34
  | `id` | 否 | 演示文稿标识 |
36
35
 
37
36
  **子元素:** `<title>?`, `<theme>?`, `<slide>+`
38
37
 
39
- ## slide 元素
38
+ `<slide>` 至少 1 页,最多 100 页。
40
39
 
41
- | 属性 | 必需 | 说明 |
42
- |------|------|------|
43
- | `id` | 否 | 幻灯片标识 |
40
+ ## theme 与文本类型
44
41
 
45
- **子元素:**
46
- - `<style>?` - 页面样式,目前可放 `<fill>`
47
- - `<data>?` - 页面元素容器,可放 `shape`、`line`、`polyline`、`img`、`table`、`icon`、`chart`、`whiteboard`、`undefined`
48
- - `<note>?` - 演讲者备注,内部可放 `<content>`
42
+ `<theme>` 当前包含两部分:
49
43
 
50
- ## theme 与文本类型
44
+ - `<background>`:演示文稿级背景填充
45
+ - `<textStyles>`:主题文本样式集合
46
+
47
+ `<textStyles>` 下可选子元素包括 `<title>`、`<headline>`、`<sub-headline>`、`<body>`、`<caption>`。这些元素定义的是主题默认样式,不是页面结构。
48
+
49
+ 常用属性:
50
+
51
+ | 属性 | 说明 |
52
+ |------|------|
53
+ | `fontFamily` | 字体 |
54
+ | `fontSize` | 字号 |
55
+ | `fontColor` | 字体颜色 |
51
56
 
52
57
  XSD 中的 `title`、`headline`、`sub-headline`、`body`、`caption` 主要出现在:
53
58
 
@@ -64,6 +69,22 @@ XSD 中的 `title`、`headline`、`sub-headline`、`body`、`caption` 主要出
64
69
  | `body` | 16 |
65
70
  | `caption` | 12 |
66
71
 
72
+ 默认字号是省略 `fontSize` 时的兜底字号,不是推荐值。字号必须显式设置 `<content>` 的 `fontSize` 属性,不要依赖 `textType` 的默认字号兜底,这些兜底值明显偏大。
73
+
74
+ ## slide 元素
75
+
76
+ | 属性 | 必需 | 说明 |
77
+ |------|------|------|
78
+ | `id` | 否 | 幻灯片标识 |
79
+
80
+ **子元素:**
81
+
82
+ - `<style>?` - 页面样式,目前可放 `<fill>`
83
+ - `<data>?` - 页面元素容器,可放 `shape`、`line`、`polyline`、`img`、`table`、`icon`、`embed`、`chart`、`undefined`
84
+ - `<note>?` - 演讲者备注,内部可放 `<content>`
85
+
86
+ 这意味着 `<title>`、`<headline>`、`<body>`、`<caption>` 不能直接放在 `<slide>` 下。
87
+
67
88
  ## content 内容模型
68
89
 
69
90
  `<content>` 可出现在 `shape`、`table/td`、`note` 中,常用属性包括:
@@ -71,23 +92,56 @@ XSD 中的 `title`、`headline`、`sub-headline`、`body`、`caption` 主要出
71
92
  | 属性 | 说明 |
72
93
  |------|------|
73
94
  | `textType` | `title` / `headline` / `sub-headline` / `body` / `caption` |
95
+ | `verticalAlign` | 垂直对齐 |
74
96
  | `textAlign` | 文本对齐方式 |
75
97
  | `lineSpacing` | 行间距,schema 默认 `multiple:1.5` |
76
98
  | `fontSize` | 字号 |
77
99
  | `fontFamily` | 字体 |
78
100
  | `color` | 字体颜色 |
79
- | `bold` / `italic` / `underline` / `strikethrough` | 文本样式 |
101
+ | `bold` / `italic` / `underline` / `strikethrough` | 内容级样式 |
102
+ | `wrap` | 是否自动换行 |
103
+ | `autoFit` | 是否自动缩排 |
104
+
105
+ 注意事项:
106
+
107
+ - 字号必须显式设置 `<content>` 的 `fontSize` 属性,不要依赖 `textType` 的默认字号兜底,这些兜底值明显偏大。
108
+ - 大数字、字号大或字数多的 `<content>` 必须设置 `wrap="true" autoFit="normal-auto-fit"` 属性自动换行和缩排,避免文字溢出。
109
+ - 文字颜色必须用 `<content>` 的 `color` 属性而不是 `fontColor` 属性。
110
+ - 文字行间距必须设置 `<content>` 的 `lineSpacing="multiple:xx"` 或 `lineSpacing="fixed:xx"` 而不是 `lineSpacing="xx"`。
80
111
 
81
- `<content>` 的子元素只能是:
112
+ `<content>` 直接子元素只有:
82
113
 
83
114
  - `<p>`
84
115
  - `<ul>`
85
116
  - `<ol>`
86
117
 
87
- ### content 示例
118
+ ### p 段落与内联标签
119
+
120
+ `<p>` 是段落元素,可混排纯文本和内联标签:
121
+
122
+ - `<br/>`
123
+ - `<strong>`
124
+ - `<em>`
125
+ - `<u>`
126
+ - `<span>`
127
+ - `<del>`
128
+ - `<a>`
129
+ - `<shadow>`
130
+ - `<outline>`
131
+ - `<formula>`
132
+
133
+ 公式写法:
88
134
 
89
135
  ```xml
90
- <content textType="body" textAlign="left">
136
+ <p>公式:<formula><latex><![CDATA[ E = mc^2 ]]></latex></formula></p>
137
+ ```
138
+
139
+ `<formula>` 是内联元素;当前只支持一个 `<latex>` 子元素。LaTeX 内容必须放在 `CDATA` 中,且 `CDATA` 内不要写 XML 转义;宏只使用服务端支持范围内的写法,优先用基础运算符、`\frac`、`\sqrt`、`matrix`。
140
+
141
+ 示例:
142
+
143
+ ```xml
144
+ <content autoFit="normal-auto-fit" textType="body" textAlign="left">
91
145
  <p>正文内容 <strong>加粗</strong> <em>斜体</em> <a href="https://example.com">链接</a></p>
92
146
  <ul>
93
147
  <li><p>列表项 1</p></li>
@@ -98,8 +152,20 @@ XSD 中的 `title`、`headline`、`sub-headline`、`body`、`caption` 主要出
98
152
 
99
153
  ## data 常用元素
100
154
 
155
+ 所有页面元素都放在 `<data>` 中。
156
+
101
157
  ### shape
102
158
 
159
+ `shape` 可表示普通形状,也可表示文本框。文本框推荐使用 `type="text"`。
160
+
161
+ ```xml
162
+ <shape type="text" topLeftX="80" topLeftY="80" width="800" height="120">
163
+ <content textType="title">
164
+ <p>主标题</p>
165
+ </content>
166
+ </shape>
167
+ ```
168
+
103
169
  ```xml
104
170
  <shape type="rect" topLeftX="120" topLeftY="120" width="240" height="120">
105
171
  <fill>
@@ -108,6 +174,8 @@ XSD 中的 `title`、`headline`、`sub-headline`、`body`、`caption` 主要出
108
174
  <border color="rgb(0, 0, 0)" width="2"/>
109
175
  </shape>
110
176
  ```
177
+ `<shape type="rect">` 只是形状不是容器,`<icon>`、`<img>`、`<shape type="text">` 和其他 `<shape>` 必须与它平级靠坐标叠放。
178
+
111
179
 
112
180
  | 属性 | 必需 | 说明 |
113
181
  |------|------|------|
@@ -117,6 +185,23 @@ XSD 中的 `title`、`headline`、`sub-headline`、`body`、`caption` 主要出
117
185
  | `width` | 是 | 宽度 |
118
186
  | `height` | 是 | 高度 |
119
187
  | `rotation` | 否 | 旋转角度 |
188
+ | `flipX` / `flipY` | 否 | 翻转 |
189
+ | `alpha` | 否 | 透明度 |
190
+
191
+ 可选子元素:
192
+
193
+ - `<fill>`
194
+ - `<border>`
195
+ - `<reflection>`
196
+ - `<shadow>`
197
+ - `<content>`
198
+
199
+ `type` 常用取值:`text`(文本框)、`rect`、`round-rect`(圆角矩形)、`ellipse`(椭圆/圆)、`triangle`、`diamond`、`parallelogram`、`trapezoid`、`custom`(配合 `path` 属性写 SVG 路径串)。箭头、星形、标注气泡、`chevron`、`flow-chart-*` 等更多形状见 XSD `ShapeType` 枚举。
200
+
201
+ 其它可选属性:
202
+
203
+ - `presetHandlers`:控制点,用于圆角等。例如 `<shape type="rect" presetHandlers="60">` = 圆角半径 60px 的圆角矩形;多个控制点用逗号分隔。
204
+ - `path`:仅 `type="custom"` 时使用,SVG 路径串。
120
205
 
121
206
  ### line
122
207
 
@@ -126,55 +211,162 @@ XSD 中的 `title`、`headline`、`sub-headline`、`body`、`caption` 主要出
126
211
  </line>
127
212
  ```
128
213
 
214
+ `line` 使用的是 `startX` / `startY` / `endX` / `endY`,不是 `x1` / `y1` / `x2` / `y2`。
215
+
216
+ ### polyline
217
+
218
+ 折线 / 曲线连接线,用外接矩形定位(`topLeftX` / `topLeftY` / `width` / `height`),不是端点坐标;`<border>` 必填(无 border 不可见)。`type` 默认 `bent-connector2`(可选 `bent-connector2-5` 折线 / `curved-connector2-5` 曲线)。
219
+
220
+ ```xml
221
+ <polyline topLeftX="120" topLeftY="120" width="200" height="100">
222
+ <border color="rgb(43, 47, 54)" width="2"/>
223
+ </polyline>
224
+ ```
225
+
129
226
  ### img
130
227
 
131
228
  ```xml
132
- <img src="file_token_or_url" topLeftX="80" topLeftY="120" width="320" height="180"/>
229
+ <img src="file_token_或_@本地路径" topLeftX="80" topLeftY="120" width="320" height="180"/>
133
230
  ```
134
231
 
135
- `src` 只支持:`slides +media-upload` 返回的 `file_token`,或 `@<本地路径>` 占位符(仅 `+create --slides` 自动上传并替换)。**禁止使用 http(s) 外链 URL**——飞书 slides 渲染端不会代理外链图,外链 src 在 PPT 里通常不显示。本地图片详见 [lark-slides-create.md](lark-slides-create.md#本地图片path-占位符) / [lark-slides-media-upload.md](lark-slides-media-upload.md)。
232
+ `img` 使用 `topLeftX` / `topLeftY`,不是 `x` / `y`。
233
+
234
+ `src` 只支持:`slides +media-upload` 返回的 `file_token`,或 `@<本地路径>` 占位符(`+create --slides` 和 `+add-slide` 会自动上传并替换)。**禁止使用 http(s) 外链 URL**——飞书 slides 渲染端不会代理外链图,外链 src 在 PPT 里通常不显示。本地图片详见 [lark-slides-create.md](lark-slides-create.md#本地图片path-占位符) / [lark-slides-media-upload.md](lark-slides-media-upload.md)。
235
+
236
+ 本地图片的两种姿势:
237
+
238
+ - 新建带图 PPT:`+create --slides` 里直接写 `src="@./pic.png"`,CLI 在创空白 PPT 后、加 slides 前自动上传并替换 token
239
+ - 给已有 PPT 加带图新页:`+add-slide --slide` 的 XML 里直接写 `src="@./pic.png"`,CLI 上传后替换 token 再提交页面
136
240
 
137
241
  > **注意**:`width`/`height` 是**裁剪后**的显示尺寸。比例和原图不一致时会自动裁剪(无法靠属性关闭),想避免裁剪就让 `width:height` 对齐原图比例。
138
242
 
139
243
  ### icon
140
244
 
141
245
  ```xml
142
- <icon iconType="iconpark/Base/setting.svg" topLeftX="80" topLeftY="120" width="32" height="32">
246
+ <icon iconType="iconpark/Charts/chart-line.svg" topLeftX="80" topLeftY="120" width="32" height="32">
143
247
  <fill>
144
248
  <fillColor color="rgba(37, 99, 235, 1)"/>
145
249
  </fill>
146
250
  </icon>
147
251
  ```
148
252
 
149
- `iconType` 必须来自已验证的 IconPark 路径;视觉 lint 规范要求 `fillColor` 显式设置为非透明颜色,避免图标不可见。需要语义图标时,先运行 `scripts/iconpark_tool.py search --query "<语义>"`,不要凭记忆拼路径。更多规则见 [iconpark.md](iconpark.md)。
253
+ 图标必须填充颜色并和背景有足够对比。
254
+
255
+ 禁止盲猜 iconType,必须先检索 IconPark,再写 `<icon iconType="...">`。检索方式和更多规则见 [iconpark.md](iconpark.md)。
256
+
257
+
258
+ ### table
259
+
260
+ 表格结构为:
261
+
262
+ - `<table>` 直接子元素只有 `<colgroup>` 和 `<tr>`,`width` 和 `height` 分别表示表格的目标总宽度和总高度。
263
+ - `<colgroup>` 直接子元素只有 `<col width="...">`,width 定义列宽,默认 110。
264
+ - `<tr height="...">` 直接子元素只有 `<td>`,height 定义行高,默认 37。
265
+ - `<td>` 直接子元素只有 `<fill>`(背景)、`<content>`(文字)和边框配置(一般不用),不能嵌套 `<shape>`、`<img>`、`<icon>`。
266
+ - 合并单元格:`<td>` 上用 `colspan`(跨列,默认 1)和 `rowspan`(跨行,默认 1);被合并覆盖的单元格不再写对应 `<td>`。
267
+
268
+ 表头默认的白底白字视觉效果极差,必须设置背景和文字颜色,需在首行每个 `<td>` 上加 `<fill>`(配合 `bold` 与对比文字色)与正文行区分。
269
+
270
+ 表格里的文字默认是居中对齐,可以设置 `textAlign` 调整对齐方式。
150
271
 
151
- ### whiteboard
272
+ 表格宽高设置:
273
+
274
+ - 已设置的列宽和行高优先保留,未设置的列宽、行高会使用表格的目标总宽度、总高度分配剩余空间
275
+ - **必须设置 `<table>` 的 `width` 和 `height` 固定表格大小,同时设置需要保留列宽或行高的 `<col>` 的 `width` 和 `<tr>` 的 `height`,其余自动分配。**
276
+
277
+ 不同字号的行高参考:
278
+
279
+ | `fontSize` | 内容行数 | 紧凑 `height` | 适中 `height` | 宽松 `height` |
280
+ |------|------|------|------|------|
281
+ | 10 | 单行 | 16 | 20 | 24 |
282
+ | 12 | 单行 | 20 | 24 | 28 |
283
+ | 10 | 双行 | 32 | 36 | 42 |
284
+ | 12 | 双行 | 36 | 42 | 48 |
285
+
286
+ 示例:
152
287
 
153
288
  ```xml
154
- <!-- SVG 模式:<chart> 不支持的图表或自定义视觉、装饰元素 -->
155
- <whiteboard topLeftX="580" topLeftY="120" width="340" height="280">
156
- <svg xmlns="http://www.w3.org/2000/svg">
157
- <rect x="60" y="80" width="40" height="140" rx="3" fill="rgba(59,130,246,0.85)"/>
158
- <text x="80" y="238" text-anchor="middle" font-size="11" fill="rgba(100,116,139,1)">ABC</text>
159
- </svg>
160
- </whiteboard>
289
+ <table topLeftX="80" topLeftY="140" width="520" height="52">
290
+ <colgroup>
291
+ <col width="160"/>
292
+ <col width="120"/>
293
+ <col />
294
+ </colgroup>
295
+ <tr height="28">
296
+ <td>
297
+ <fill><fillColor color="rgba(30,60,114,1)"/></fill>
298
+ <content textType="body" fontSize="12" bold="true" color="rgba(255,255,255,1)" textAlign="center"><p>项目</p></content>
299
+ </td>
300
+ <td>
301
+ <fill><fillColor color="rgba(30,60,114,1)"/></fill>
302
+ <content textType="body" fontSize="12" bold="true" color="rgba(255,255,255,1)" textAlign="right"><p>营收</p></content>
303
+ </td>
304
+ <td>
305
+ <fill><fillColor color="rgba(30,60,114,1)"/></fill>
306
+ <content textType="body" fontSize="12" bold="true" color="rgba(255,255,255,1)" textAlign="left"><p>备注说明</p></content>
307
+ </td>
308
+ </tr>
309
+ <tr>
310
+ <td><content textType="body" fontSize="10" textAlign="center"><p>线上业务</p></content></td>
311
+ <td><content textType="body" fontSize="10" textAlign="right"><p>195</p></content></td>
312
+ <td><content textType="body" fontSize="10" textAlign="left"><p>同比增长 8%,主要来自新客</p></content></td>
313
+ </tr>
314
+ </table>
315
+ ```
316
+
317
+ ### chart
318
+
319
+ 图表语法十分复杂,必须阅读 [slides_chart_demo.xml](slides_chart_demo.xml),直接照抄其中的柱状、条形、折线、面积、饼(环)、雷达、组合图。
320
+
321
+ `<chart>` 直接子元素必须有 `<chartPlotArea>`(绘图区)和 `<chartData>`(数据);`<chartTitle>`、`<chartSubTitle>`、`<chartStyle>`、`<chartLegend>`、`<chartTooltip>` 可选,如果想不展示标题、副标题、图例或悬浮提示,省略相应元素标签即可。
322
+
323
+ `<chartStyle>` 常用子元素:
324
+
325
+ - `<chartBackground>`:`color` 省略时由渲染端决定默认背景;需要完全透明请显式写 `color="rgba(0, 0, 0, 0)"`
326
+ - `<chartBorder>`:无边框可写 `width="0"`,或直接不写 `<chartBorder>` 元素
327
+
328
+ #### 图表渐变 `<fillGradient>` / `<strokeGradient>`
329
+
330
+ 图表支持渐变填充/描边,`<fillGradient>` 用于面积、柱子、数据点、扇区填充,`<strokeGradient>` 用于线条、数据点边框、柱子边框。渐变只能挂在系列级或单元素级,不要挂在 `<chartPlot>` 全局层。
331
+
332
+ 可挂载位置:
161
333
 
162
- <!-- Mermaid 模式:流程图、时序图等结构化图表 -->
163
- <whiteboard topLeftX="72" topLeftY="100" width="816" height="340">
164
- <mermaid>
165
- <![CDATA[
166
- flowchart LR
167
- A[开始] --> B{判断}
168
- B -- 是 --> C[执行]
169
- B -- 否 --> D[结束]
170
- ]]>
171
- </mermaid>
172
- </whiteboard>
334
+ - 系列级:`<chartBars>` / `<chartPoints>` 支持 `<fillGradient>` 与 `<strokeGradient>`;`<chartLine>` 只支持 `<strokeGradient>`;`<chartArea>` / `<chartSectors>` 只支持 `<fillGradient>`
335
+ - 单元素级:`<chartBar index="...">` / `<chartPoint index="...">` / `<chartSector index="...">` 只支持 `<fillGradient>`
336
+ - 全局级:`<chartPlot>` 下的 `<chartLines>` / `<chartAreas>` / `<chartBars>` / `<chartPoints>` 不支持渐变
337
+
338
+ 结构要点:`type` 必填,可为 `linear` 或 `radial`;`linear` 用 `x0` / `y0` / `x1` / `y1`,`radial` 用 `r0` / `r1`;`<stops>` 至少包含 2 个 `<stop>`,`offset` 与 `opacity` 取值均为 `[0, 1]`。
339
+
340
+ ```xml
341
+ <chartSeries index="1">
342
+ <chartBars>
343
+ <fillGradient type="linear" x0="0" y0="0" x1="0" y1="1">
344
+ <stops>
345
+ <stop offset="0" color="rgb(28, 71, 120)"/>
346
+ <stop offset="1" color="rgb(28, 71, 120)" opacity="0.3"/>
347
+ </stops>
348
+ </fillGradient>
349
+ </chartBars>
350
+ </chartSeries>
351
+ ```
352
+
353
+ 隐藏 `<chart>` 的图例只能通过不写或删除 `<chartLegend>` 实现,`<chartLegend>` 不支持 `position="none"`。
354
+
355
+ 详细用法见 [slides_xml_schema_definition.xml](slides_xml_schema_definition.xml)。
356
+
357
+ ### embed
358
+
359
+ 嵌入内容容器:外层 `<embed>` 承载 Slides 的摆放和效果属性(`topLeftX`/`topLeftY`/`width`/`height` 必填,`rotation`/`flipX`/`flipY`/`alpha` 可选),内层承载外部标准内容。当前内层内容为标准 SVG,`<svg>` 必须使用 `http://www.w3.org/2000/svg` 命名空间,且仅描述嵌入内容本身,不承载 Slides 布局属性。
360
+
361
+ ```xml
362
+ <embed topLeftX="80" topLeftY="120" width="200" height="120">
363
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 120">
364
+ <circle cx="100" cy="60" r="40" fill="rgba(37, 99, 235, 1)"/>
365
+ </svg>
366
+ </embed>
173
367
  ```
174
368
 
175
- SVG 模式:`<svg>` 需声明 `xmlns="http://www.w3.org/2000/svg"`,内容大小由子元素包围盒决定;`width`/`height`/`viewBox` 不影响渲染,仅当元素使用百分比属性值时需声明 `viewBox`。\
176
- Mermaid 模式:内容用 `<![CDATA[...]]>` 包裹,避免 `[`、`>`、`-->` 等字符破坏 XML 解析。\
177
- 详细用法见 [lark-slides-whiteboard.md](lark-slides-whiteboard.md)。
369
+ `<embed>` 直接子元素为一个 `<svg>`(必需),以及可选的 `<reflection>`(倒影)与 `<shadow>`(阴影)。
178
370
 
179
371
  ## 颜色与样式
180
372
 
@@ -229,21 +421,77 @@ Mermaid 模式:内容用 `<![CDATA[...]]>` 包裹,避免 `[`、`>`、`-->`
229
421
 
230
422
  ```xml
231
423
  <note>
232
- <content textType="body">
424
+ <content autoFit="normal-auto-fit" textType="body">
233
425
  <p>这是演讲者备注。</p>
234
426
  </content>
235
427
  </note>
236
428
  ```
237
429
 
430
+ ## 完整示例
431
+
432
+ ```xml
433
+ <presentation xmlns="https://www.larkoffice.com/sml/2.0" width="960" height="540">
434
+ <title>季度报告</title>
435
+ <theme>
436
+ <textStyles>
437
+ <title fontFamily="思源黑体" fontSize="54" fontColor="rgba(0, 0, 0, 1)"/>
438
+ <body fontFamily="思源黑体" fontSize="18" fontColor="rgba(43, 47, 54, 1)"/>
439
+ </textStyles>
440
+ </theme>
441
+ <slide>
442
+ <style>
443
+ <fill>
444
+ <fillColor color="rgb(245, 245, 245)"/>
445
+ </fill>
446
+ </style>
447
+ <data>
448
+ <shape type="text" topLeftX="80" topLeftY="72" width="760" height="100">
449
+ <content textType="title">
450
+ <p>2024 年第一季度报告</p>
451
+ </content>
452
+ </shape>
453
+ <shape type="text" topLeftX="80" topLeftY="200" width="520" height="180">
454
+ <content textType="body">
455
+ <p>核心指标</p>
456
+ <ul>
457
+ <li><p>用户增长:+25%</p></li>
458
+ <li><p>收入增长:+30%</p></li>
459
+ <li><p>市场份额:15%</p></li>
460
+ </ul>
461
+ </content>
462
+ </shape>
463
+ <shape type="rect" topLeftX="660" topLeftY="180" width="180" height="140">
464
+ <fill>
465
+ <fillColor color="rgba(100, 149, 237, 0.25)"/>
466
+ </fill>
467
+ <border color="rgb(100, 149, 237)" width="2"/>
468
+ </shape>
469
+ </data>
470
+ <note>
471
+ <content textType="body">
472
+ <p>讲到增长率时补充样本范围。</p>
473
+ </content>
474
+ </note>
475
+ </slide>
476
+ </presentation>
477
+ ```
478
+
479
+ ## 最佳实践
480
+
481
+ 1. 始终带上命名空间 `xmlns="https://www.larkoffice.com/sml/2.0"`
482
+ 2. 用 `shape type="text"` + `content` 表达页面文本
483
+ 3. 用 `topLeftX` / `topLeftY`、`startX` / `startY` 等 schema 中定义的属性名
484
+ 4. 优先使用 `rgb` / `rgba` 颜色格式;渐变必须使用 `rgba()` 且带百分比停靠点
485
+ 5. 特殊字符按 XML 规则转义
486
+ 6. 标准 16:9 页面建议使用 `width="960"` 和 `height="540"`
487
+
238
488
  ## 详细参考
239
489
 
240
490
  - [slides_xml_schema_definition.xml](slides_xml_schema_definition.xml)
241
- - [xml-format-guide.md](xml-format-guide.md)
242
- - [examples.md](examples.md)
243
- - [slides_demo.xml](slides_demo.xml)
491
+ - [slides_chart_demo.xml](slides_chart_demo.xml)
244
492
 
245
493
  ## Schema 版本信息
246
494
 
247
495
  - **版本**: 2.0.0
248
- - **命名空间**: http://www.larkoffice.com/sml/2.0
496
+ - **命名空间**: https://www.larkoffice.com/sml/2.0
249
497
  - **发布日期**: 2025-11-03