@kensio/colophon 2.5.0 → 2.6.0

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 (622) hide show
  1. package/README.md +91 -13
  2. package/dist/astro/index.d.ts +49 -0
  3. package/dist/astro/index.d.ts.map +1 -0
  4. package/dist/astro/index.js +42 -0
  5. package/dist/astro/index.js.map +1 -0
  6. package/dist/cli/args/command.d.ts +13 -0
  7. package/dist/cli/args/command.d.ts.map +1 -0
  8. package/dist/cli/args/command.js +22 -0
  9. package/dist/cli/args/command.js.map +1 -0
  10. package/dist/cli/args/index.d.ts +28 -0
  11. package/dist/cli/args/index.d.ts.map +1 -0
  12. package/dist/cli/args/index.js +75 -0
  13. package/dist/cli/args/index.js.map +1 -0
  14. package/dist/cli/args/switches.d.ts +18 -0
  15. package/dist/cli/args/switches.d.ts.map +1 -0
  16. package/dist/cli/args/switches.js +42 -0
  17. package/dist/cli/args/switches.js.map +1 -0
  18. package/dist/cli/args/usage.d.ts +3 -0
  19. package/dist/cli/args/usage.d.ts.map +1 -0
  20. package/dist/cli/args/usage.js +34 -0
  21. package/dist/cli/args/usage.js.map +1 -0
  22. package/dist/cli/args/values.d.ts +11 -0
  23. package/dist/cli/args/values.d.ts.map +1 -0
  24. package/dist/cli/args/values.js +29 -0
  25. package/dist/cli/args/values.js.map +1 -0
  26. package/dist/cli/build.d.ts +10 -0
  27. package/dist/cli/build.d.ts.map +1 -0
  28. package/dist/cli/build.js +41 -0
  29. package/dist/cli/build.js.map +1 -0
  30. package/dist/cli/eject/adapters.d.ts +20 -0
  31. package/dist/cli/eject/adapters.d.ts.map +1 -0
  32. package/dist/cli/eject/adapters.js +29 -0
  33. package/dist/cli/eject/adapters.js.map +1 -0
  34. package/dist/cli/eject/astro.d.ts +13 -0
  35. package/dist/cli/eject/astro.d.ts.map +1 -0
  36. package/dist/cli/eject/astro.js +35 -0
  37. package/dist/cli/eject/astro.js.map +1 -0
  38. package/dist/cli/eject/hugo.d.ts +19 -0
  39. package/dist/cli/eject/hugo.d.ts.map +1 -0
  40. package/dist/cli/eject/hugo.js +127 -0
  41. package/dist/cli/eject/hugo.js.map +1 -0
  42. package/dist/cli/eject/index.d.ts +15 -0
  43. package/dist/cli/eject/index.d.ts.map +1 -0
  44. package/dist/cli/eject/index.js +46 -0
  45. package/dist/cli/eject/index.js.map +1 -0
  46. package/dist/cli/index.js +25 -20
  47. package/dist/cli/index.js.map +1 -1
  48. package/dist/cli/init/fs.d.ts +5 -0
  49. package/dist/cli/init/fs.d.ts.map +1 -0
  50. package/dist/cli/init/fs.js +19 -0
  51. package/dist/cli/init/fs.js.map +1 -0
  52. package/dist/cli/init/guess.d.ts +9 -0
  53. package/dist/cli/init/guess.d.ts.map +1 -0
  54. package/dist/cli/init/guess.js +27 -0
  55. package/dist/cli/init/guess.js.map +1 -0
  56. package/dist/cli/init/index.d.ts +11 -0
  57. package/dist/cli/init/index.d.ts.map +1 -0
  58. package/dist/cli/init/index.js +36 -0
  59. package/dist/cli/init/index.js.map +1 -0
  60. package/dist/cli/init/module.d.ts +12 -0
  61. package/dist/cli/init/module.d.ts.map +1 -0
  62. package/dist/cli/init/module.js +45 -0
  63. package/dist/cli/init/module.js.map +1 -0
  64. package/dist/cli/init/scaffold.d.ts +10 -0
  65. package/dist/cli/init/scaffold.d.ts.map +1 -0
  66. package/dist/cli/init/scaffold.js +52 -0
  67. package/dist/cli/init/scaffold.js.map +1 -0
  68. package/dist/cli/message.d.ts +7 -0
  69. package/dist/cli/message.d.ts.map +1 -0
  70. package/dist/cli/message.js +9 -0
  71. package/dist/cli/message.js.map +1 -0
  72. package/dist/cli/preview/index.d.ts +13 -0
  73. package/dist/cli/preview/index.d.ts.map +1 -0
  74. package/dist/cli/preview/index.js +27 -0
  75. package/dist/cli/preview/index.js.map +1 -0
  76. package/dist/cli/preview/open.d.ts +10 -0
  77. package/dist/cli/preview/open.d.ts.map +1 -0
  78. package/dist/cli/preview/open.js +32 -0
  79. package/dist/cli/preview/open.js.map +1 -0
  80. package/dist/cli/preview/render.d.ts +23 -0
  81. package/dist/cli/preview/render.d.ts.map +1 -0
  82. package/dist/cli/preview/render.js +40 -0
  83. package/dist/cli/preview/render.js.map +1 -0
  84. package/dist/cli/preview/root.d.ts +17 -0
  85. package/dist/cli/preview/root.d.ts.map +1 -0
  86. package/dist/cli/preview/root.js +22 -0
  87. package/dist/cli/preview/root.js.map +1 -0
  88. package/dist/cli/preview/size.d.ts +7 -0
  89. package/dist/cli/preview/size.d.ts.map +1 -0
  90. package/dist/cli/preview/size.js +13 -0
  91. package/dist/cli/preview/size.js.map +1 -0
  92. package/dist/cli/report.d.ts +6 -0
  93. package/dist/cli/report.d.ts.map +1 -0
  94. package/dist/cli/report.js +23 -0
  95. package/dist/cli/report.js.map +1 -0
  96. package/dist/cli/watch/filter.d.ts +14 -0
  97. package/dist/cli/watch/filter.d.ts.map +1 -0
  98. package/dist/cli/watch/filter.js +16 -0
  99. package/dist/cli/watch/filter.js.map +1 -0
  100. package/dist/cli/watch/index.d.ts +27 -0
  101. package/dist/cli/watch/index.d.ts.map +1 -0
  102. package/dist/cli/watch/index.js +38 -0
  103. package/dist/cli/watch/index.js.map +1 -0
  104. package/dist/cli/watch/queue.d.ts +24 -0
  105. package/dist/cli/watch/queue.d.ts.map +1 -0
  106. package/dist/cli/watch/queue.js +57 -0
  107. package/dist/cli/watch/queue.js.map +1 -0
  108. package/dist/config/defaults.d.ts +39 -1
  109. package/dist/config/defaults.d.ts.map +1 -1
  110. package/dist/config/defaults.js +38 -0
  111. package/dist/config/defaults.js.map +1 -1
  112. package/dist/config/index.d.ts +1 -1
  113. package/dist/config/index.d.ts.map +1 -1
  114. package/dist/config/index.js +18 -4
  115. package/dist/config/index.js.map +1 -1
  116. package/dist/config/output.d.ts +26 -0
  117. package/dist/config/output.d.ts.map +1 -0
  118. package/dist/config/output.js +45 -0
  119. package/dist/config/output.js.map +1 -0
  120. package/dist/config/resolve.d.ts +10 -0
  121. package/dist/config/resolve.d.ts.map +1 -1
  122. package/dist/config/resolve.js +20 -1
  123. package/dist/config/resolve.js.map +1 -1
  124. package/dist/content/index.d.ts +1 -0
  125. package/dist/content/index.d.ts.map +1 -1
  126. package/dist/content/index.js +1 -0
  127. package/dist/content/index.js.map +1 -1
  128. package/dist/content/read.d.ts +15 -0
  129. package/dist/content/read.d.ts.map +1 -0
  130. package/dist/content/read.js +36 -0
  131. package/dist/content/read.js.map +1 -0
  132. package/dist/content/walk.d.ts.map +1 -1
  133. package/dist/content/walk.js +4 -30
  134. package/dist/content/walk.js.map +1 -1
  135. package/dist/core/index.d.ts +37 -0
  136. package/dist/core/index.d.ts.map +1 -0
  137. package/dist/core/index.js +13 -0
  138. package/dist/core/index.js.map +1 -0
  139. package/dist/encode/fit.d.ts +16 -0
  140. package/dist/encode/fit.d.ts.map +1 -0
  141. package/dist/encode/fit.js +23 -0
  142. package/dist/encode/fit.js.map +1 -0
  143. package/dist/encode/format.d.ts +12 -0
  144. package/dist/encode/format.d.ts.map +1 -0
  145. package/dist/encode/format.js +40 -0
  146. package/dist/encode/format.js.map +1 -0
  147. package/dist/encode/index.d.ts +14 -0
  148. package/dist/encode/index.d.ts.map +1 -0
  149. package/dist/encode/index.js +52 -0
  150. package/dist/encode/index.js.map +1 -0
  151. package/dist/encode/sharp.d.ts +19 -0
  152. package/dist/encode/sharp.d.ts.map +1 -0
  153. package/dist/encode/sharp.js +57 -0
  154. package/dist/encode/sharp.js.map +1 -0
  155. package/dist/encode/warn.d.ts +10 -0
  156. package/dist/encode/warn.d.ts.map +1 -0
  157. package/dist/encode/warn.js +31 -0
  158. package/dist/encode/warn.js.map +1 -0
  159. package/dist/fonts/resolve.d.ts.map +1 -1
  160. package/dist/fonts/resolve.js +2 -8
  161. package/dist/fonts/resolve.js.map +1 -1
  162. package/dist/generate/index.d.ts +4 -0
  163. package/dist/generate/index.d.ts.map +1 -1
  164. package/dist/generate/index.js +10 -4
  165. package/dist/generate/index.js.map +1 -1
  166. package/dist/generate/options.d.ts +11 -1
  167. package/dist/generate/options.d.ts.map +1 -1
  168. package/dist/generate/options.js.map +1 -1
  169. package/dist/generate/output-path.d.ts +6 -2
  170. package/dist/generate/output-path.d.ts.map +1 -1
  171. package/dist/generate/output-path.js +7 -2
  172. package/dist/generate/output-path.js.map +1 -1
  173. package/dist/generate/plan.d.ts.map +1 -1
  174. package/dist/generate/plan.js +3 -3
  175. package/dist/generate/plan.js.map +1 -1
  176. package/dist/generate/render-image.d.ts +6 -0
  177. package/dist/generate/render-image.d.ts.map +1 -1
  178. package/dist/generate/render-image.js +14 -4
  179. package/dist/generate/render-image.js.map +1 -1
  180. package/dist/image/index.d.ts +3 -1
  181. package/dist/image/index.d.ts.map +1 -1
  182. package/dist/image/index.js +4 -3
  183. package/dist/image/index.js.map +1 -1
  184. package/dist/image/jpeg.d.ts +5 -4
  185. package/dist/image/jpeg.d.ts.map +1 -1
  186. package/dist/image/jpeg.js +13 -36
  187. package/dist/image/jpeg.js.map +1 -1
  188. package/dist/image/load.d.ts.map +1 -1
  189. package/dist/image/load.js +4 -15
  190. package/dist/image/load.js.map +1 -1
  191. package/dist/image/resolve.d.ts.map +1 -1
  192. package/dist/image/resolve.js +2 -8
  193. package/dist/image/resolve.js.map +1 -1
  194. package/dist/image/uri.d.ts.map +1 -1
  195. package/dist/image/uri.js +2 -3
  196. package/dist/image/uri.js.map +1 -1
  197. package/dist/index.d.ts +8 -4
  198. package/dist/index.d.ts.map +1 -1
  199. package/dist/index.js +10 -3
  200. package/dist/index.js.map +1 -1
  201. package/dist/jpeg/index.d.ts +10 -0
  202. package/dist/jpeg/index.d.ts.map +1 -0
  203. package/dist/jpeg/index.js +2 -0
  204. package/dist/jpeg/index.js.map +1 -0
  205. package/dist/jpeg/segments.d.ts +32 -0
  206. package/dist/jpeg/segments.d.ts.map +1 -0
  207. package/dist/jpeg/segments.js +66 -0
  208. package/dist/jpeg/segments.js.map +1 -0
  209. package/dist/layout/draw.d.ts +20 -0
  210. package/dist/layout/draw.d.ts.map +1 -0
  211. package/dist/layout/draw.js +32 -0
  212. package/dist/layout/draw.js.map +1 -0
  213. package/dist/layout/extent.d.ts +19 -0
  214. package/dist/layout/extent.d.ts.map +1 -0
  215. package/dist/layout/extent.js +24 -0
  216. package/dist/layout/extent.js.map +1 -0
  217. package/dist/layout/index.d.ts +7 -4
  218. package/dist/layout/index.d.ts.map +1 -1
  219. package/dist/layout/index.js +5 -3
  220. package/dist/layout/index.js.map +1 -1
  221. package/dist/layout/lines.d.ts +0 -17
  222. package/dist/layout/lines.d.ts.map +1 -1
  223. package/dist/layout/lines.js +2 -35
  224. package/dist/layout/lines.js.map +1 -1
  225. package/dist/measure/faces.d.ts.map +1 -1
  226. package/dist/measure/faces.js +8 -2
  227. package/dist/measure/faces.js.map +1 -1
  228. package/dist/meta/index.d.ts +1 -0
  229. package/dist/meta/index.d.ts.map +1 -1
  230. package/dist/meta/index.js +1 -0
  231. package/dist/meta/index.js.map +1 -1
  232. package/dist/meta/path.d.ts +24 -0
  233. package/dist/meta/path.d.ts.map +1 -0
  234. package/dist/meta/path.js +41 -0
  235. package/dist/meta/path.js.map +1 -0
  236. package/dist/meta/tags.d.ts.map +1 -1
  237. package/dist/meta/tags.js +6 -1
  238. package/dist/meta/tags.js.map +1 -1
  239. package/dist/placement/index.d.ts +7 -2
  240. package/dist/placement/index.d.ts.map +1 -1
  241. package/dist/placement/index.js +9 -3
  242. package/dist/placement/index.js.map +1 -1
  243. package/dist/placement/relative.d.ts +8 -3
  244. package/dist/placement/relative.d.ts.map +1 -1
  245. package/dist/placement/relative.js +12 -5
  246. package/dist/placement/relative.js.map +1 -1
  247. package/dist/platform/base64.d.ts +13 -0
  248. package/dist/platform/base64.d.ts.map +1 -0
  249. package/dist/platform/base64.js +35 -0
  250. package/dist/platform/base64.js.map +1 -0
  251. package/dist/platform/rasteriser.browser.d.ts +16 -0
  252. package/dist/platform/rasteriser.browser.d.ts.map +1 -0
  253. package/dist/platform/rasteriser.browser.js +20 -0
  254. package/dist/platform/rasteriser.browser.js.map +1 -0
  255. package/dist/platform/rasteriser.node.d.ts +2 -0
  256. package/dist/platform/rasteriser.node.d.ts.map +1 -0
  257. package/dist/platform/rasteriser.node.js +2 -0
  258. package/dist/platform/rasteriser.node.js.map +1 -0
  259. package/dist/platform/read-file.browser.d.ts +17 -0
  260. package/dist/platform/read-file.browser.d.ts.map +1 -0
  261. package/dist/platform/read-file.browser.js +23 -0
  262. package/dist/platform/read-file.browser.js.map +1 -0
  263. package/dist/platform/read-file.node.d.ts +19 -0
  264. package/dist/platform/read-file.node.d.ts.map +1 -0
  265. package/dist/platform/read-file.node.js +31 -0
  266. package/dist/platform/read-file.node.js.map +1 -0
  267. package/dist/png/chunk.d.ts +23 -0
  268. package/dist/png/chunk.d.ts.map +1 -0
  269. package/dist/png/chunk.js +48 -0
  270. package/dist/png/chunk.js.map +1 -0
  271. package/dist/png/index.d.ts +13 -0
  272. package/dist/png/index.d.ts.map +1 -0
  273. package/dist/png/index.js +3 -0
  274. package/dist/png/index.js.map +1 -0
  275. package/dist/png/recompress.d.ts +23 -0
  276. package/dist/png/recompress.d.ts.map +1 -0
  277. package/dist/png/recompress.js +81 -0
  278. package/dist/png/recompress.js.map +1 -0
  279. package/dist/props.d.ts +11 -0
  280. package/dist/props.d.ts.map +1 -1
  281. package/dist/props.js +16 -0
  282. package/dist/props.js.map +1 -1
  283. package/dist/render/image.d.ts +20 -0
  284. package/dist/render/image.d.ts.map +1 -0
  285. package/dist/render/image.js +29 -0
  286. package/dist/render/image.js.map +1 -0
  287. package/dist/render/index.d.ts +2 -1
  288. package/dist/render/index.d.ts.map +1 -1
  289. package/dist/render/index.js +5 -4
  290. package/dist/render/index.js.map +1 -1
  291. package/dist/render/png.d.ts +14 -4
  292. package/dist/render/png.d.ts.map +1 -1
  293. package/dist/render/png.js +22 -23
  294. package/dist/render/png.js.map +1 -1
  295. package/dist/render/rasterise.d.ts +15 -0
  296. package/dist/render/rasterise.d.ts.map +1 -0
  297. package/dist/render/rasterise.js +34 -0
  298. package/dist/render/rasterise.js.map +1 -0
  299. package/dist/render/svg.d.ts.map +1 -1
  300. package/dist/render/svg.js +1 -0
  301. package/dist/render/svg.js.map +1 -1
  302. package/dist/sign/base64url.d.ts +16 -0
  303. package/dist/sign/base64url.d.ts.map +1 -0
  304. package/dist/sign/base64url.js +24 -0
  305. package/dist/sign/base64url.js.map +1 -0
  306. package/dist/sign/index.d.ts +49 -0
  307. package/dist/sign/index.d.ts.map +1 -0
  308. package/dist/sign/index.js +133 -0
  309. package/dist/sign/index.js.map +1 -0
  310. package/dist/stamp/carrier/index.d.ts +7 -0
  311. package/dist/stamp/carrier/index.d.ts.map +1 -0
  312. package/dist/stamp/carrier/index.js +27 -0
  313. package/dist/stamp/carrier/index.js.map +1 -0
  314. package/dist/stamp/carrier/isobmff.d.ts +7 -0
  315. package/dist/stamp/carrier/isobmff.d.ts.map +1 -0
  316. package/dist/stamp/carrier/isobmff.js +55 -0
  317. package/dist/stamp/carrier/isobmff.js.map +1 -0
  318. package/dist/stamp/carrier/jpeg.d.ts +4 -0
  319. package/dist/stamp/carrier/jpeg.d.ts.map +1 -0
  320. package/dist/stamp/carrier/jpeg.js +76 -0
  321. package/dist/stamp/carrier/jpeg.js.map +1 -0
  322. package/dist/stamp/carrier/png.d.ts +7 -0
  323. package/dist/stamp/carrier/png.d.ts.map +1 -0
  324. package/dist/stamp/carrier/png.js +50 -0
  325. package/dist/stamp/carrier/png.js.map +1 -0
  326. package/dist/stamp/carrier/riff.d.ts +4 -0
  327. package/dist/stamp/carrier/riff.d.ts.map +1 -0
  328. package/dist/stamp/carrier/riff.js +54 -0
  329. package/dist/stamp/carrier/riff.js.map +1 -0
  330. package/dist/stamp/carrier/types.d.ts +25 -0
  331. package/dist/stamp/carrier/types.d.ts.map +1 -0
  332. package/dist/stamp/carrier/types.js +2 -0
  333. package/dist/stamp/carrier/types.js.map +1 -0
  334. package/dist/stamp/chunk.d.ts +0 -2
  335. package/dist/stamp/chunk.d.ts.map +1 -1
  336. package/dist/stamp/chunk.js +10 -18
  337. package/dist/stamp/chunk.js.map +1 -1
  338. package/dist/stamp/config-digest.d.ts +18 -0
  339. package/dist/stamp/config-digest.d.ts.map +1 -1
  340. package/dist/stamp/config-digest.js +24 -0
  341. package/dist/stamp/config-digest.js.map +1 -1
  342. package/dist/stamp/index.d.ts +2 -2
  343. package/dist/stamp/index.d.ts.map +1 -1
  344. package/dist/stamp/index.js +2 -2
  345. package/dist/stamp/index.js.map +1 -1
  346. package/dist/stamp/payload.d.ts +28 -0
  347. package/dist/stamp/payload.d.ts.map +1 -0
  348. package/dist/stamp/payload.js +42 -0
  349. package/dist/stamp/payload.js.map +1 -0
  350. package/dist/stamp/read.d.ts +5 -4
  351. package/dist/stamp/read.d.ts.map +1 -1
  352. package/dist/stamp/read.js +26 -43
  353. package/dist/stamp/read.js.map +1 -1
  354. package/dist/stamp/window.d.ts +11 -0
  355. package/dist/stamp/window.d.ts.map +1 -0
  356. package/dist/stamp/window.js +11 -0
  357. package/dist/stamp/window.js.map +1 -0
  358. package/dist/stamp/write.d.ts +21 -0
  359. package/dist/stamp/write.d.ts.map +1 -0
  360. package/dist/stamp/write.js +31 -0
  361. package/dist/stamp/write.js.map +1 -0
  362. package/dist/templates/article/bottom.d.ts +15 -0
  363. package/dist/templates/article/bottom.d.ts.map +1 -0
  364. package/dist/templates/article/bottom.js +61 -0
  365. package/dist/templates/article/bottom.js.map +1 -0
  366. package/dist/templates/article/index.d.ts +12 -0
  367. package/dist/templates/article/index.d.ts.map +1 -0
  368. package/dist/templates/article/index.js +42 -0
  369. package/dist/templates/article/index.js.map +1 -0
  370. package/dist/templates/article/lines.d.ts +27 -0
  371. package/dist/templates/article/lines.d.ts.map +1 -0
  372. package/dist/templates/article/lines.js +53 -0
  373. package/dist/templates/article/lines.js.map +1 -0
  374. package/dist/templates/article/tags.d.ts +25 -0
  375. package/dist/templates/article/tags.d.ts.map +1 -0
  376. package/dist/templates/article/tags.js +63 -0
  377. package/dist/templates/article/tags.js.map +1 -0
  378. package/dist/templates/attribution.d.ts +2 -6
  379. package/dist/templates/attribution.d.ts.map +1 -1
  380. package/dist/templates/attribution.js +8 -22
  381. package/dist/templates/attribution.js.map +1 -1
  382. package/dist/templates/banner/version.d.ts.map +1 -1
  383. package/dist/templates/banner/version.js +4 -4
  384. package/dist/templates/banner/version.js.map +1 -1
  385. package/dist/templates/bottom.d.ts +23 -0
  386. package/dist/templates/bottom.d.ts.map +1 -0
  387. package/dist/templates/bottom.js +37 -0
  388. package/dist/templates/bottom.js.map +1 -0
  389. package/dist/templates/byline.d.ts +19 -0
  390. package/dist/templates/byline.d.ts.map +1 -0
  391. package/dist/templates/byline.js +45 -0
  392. package/dist/templates/byline.js.map +1 -0
  393. package/dist/templates/code/clip.js +1 -1
  394. package/dist/templates/code/clip.js.map +1 -1
  395. package/dist/templates/code/fit.js +1 -1
  396. package/dist/templates/code/fit.js.map +1 -1
  397. package/dist/templates/code/warn.d.ts +1 -1
  398. package/dist/templates/code/warn.d.ts.map +1 -1
  399. package/dist/templates/code/warn.js +2 -2
  400. package/dist/templates/code/warn.js.map +1 -1
  401. package/dist/templates/docs/chrome.d.ts +17 -0
  402. package/dist/templates/docs/chrome.d.ts.map +1 -0
  403. package/dist/templates/docs/chrome.js +44 -0
  404. package/dist/templates/docs/chrome.js.map +1 -0
  405. package/dist/templates/docs/crumbs.d.ts +14 -0
  406. package/dist/templates/docs/crumbs.d.ts.map +1 -0
  407. package/dist/templates/docs/crumbs.js +32 -0
  408. package/dist/templates/docs/crumbs.js.map +1 -0
  409. package/dist/templates/docs/index.d.ts +13 -0
  410. package/dist/templates/docs/index.d.ts.map +1 -0
  411. package/dist/templates/docs/index.js +47 -0
  412. package/dist/templates/docs/index.js.map +1 -0
  413. package/dist/templates/docs/lines.d.ts +14 -0
  414. package/dist/templates/docs/lines.d.ts.map +1 -0
  415. package/dist/templates/docs/lines.js +29 -0
  416. package/dist/templates/docs/lines.js.map +1 -0
  417. package/dist/templates/event/index.d.ts +12 -0
  418. package/dist/templates/event/index.d.ts.map +1 -0
  419. package/dist/templates/event/index.js +59 -0
  420. package/dist/templates/event/index.js.map +1 -0
  421. package/dist/templates/event/lines.d.ts +14 -0
  422. package/dist/templates/event/lines.d.ts.map +1 -0
  423. package/dist/templates/event/lines.js +29 -0
  424. package/dist/templates/event/lines.js.map +1 -0
  425. package/dist/templates/event/plate.d.ts +16 -0
  426. package/dist/templates/event/plate.d.ts.map +1 -0
  427. package/dist/templates/event/plate.js +36 -0
  428. package/dist/templates/event/plate.js.map +1 -0
  429. package/dist/templates/frame.d.ts +68 -0
  430. package/dist/templates/frame.d.ts.map +1 -0
  431. package/dist/templates/frame.js +63 -0
  432. package/dist/templates/frame.js.map +1 -0
  433. package/dist/templates/index.d.ts +9 -0
  434. package/dist/templates/index.d.ts.map +1 -1
  435. package/dist/templates/index.js +27 -0
  436. package/dist/templates/index.js.map +1 -1
  437. package/dist/templates/photo/index.d.ts +17 -0
  438. package/dist/templates/photo/index.d.ts.map +1 -0
  439. package/dist/templates/photo/index.js +51 -0
  440. package/dist/templates/photo/index.js.map +1 -0
  441. package/dist/templates/photo/lines.d.ts +21 -0
  442. package/dist/templates/photo/lines.d.ts.map +1 -0
  443. package/dist/templates/photo/lines.js +36 -0
  444. package/dist/templates/photo/lines.js.map +1 -0
  445. package/dist/templates/pill.d.ts +33 -0
  446. package/dist/templates/pill.d.ts.map +1 -0
  447. package/dist/templates/pill.js +50 -0
  448. package/dist/templates/pill.js.map +1 -0
  449. package/dist/templates/portrait.d.ts +40 -0
  450. package/dist/templates/portrait.d.ts.map +1 -0
  451. package/dist/templates/portrait.js +56 -0
  452. package/dist/templates/portrait.js.map +1 -0
  453. package/dist/templates/quote/index.d.ts +11 -0
  454. package/dist/templates/quote/index.d.ts.map +1 -0
  455. package/dist/templates/quote/index.js +60 -0
  456. package/dist/templates/quote/index.js.map +1 -0
  457. package/dist/templates/quote/lines.d.ts +24 -0
  458. package/dist/templates/quote/lines.d.ts.map +1 -0
  459. package/dist/templates/quote/lines.js +35 -0
  460. package/dist/templates/quote/lines.js.map +1 -0
  461. package/dist/templates/quote/mark.d.ts +13 -0
  462. package/dist/templates/quote/mark.d.ts.map +1 -0
  463. package/dist/templates/quote/mark.js +39 -0
  464. package/dist/templates/quote/mark.js.map +1 -0
  465. package/dist/templates/quote/speaker.d.ts +18 -0
  466. package/dist/templates/quote/speaker.d.ts.map +1 -0
  467. package/dist/templates/quote/speaker.js +41 -0
  468. package/dist/templates/quote/speaker.js.map +1 -0
  469. package/dist/templates/release/block.d.ts +8 -0
  470. package/dist/templates/release/block.d.ts.map +1 -0
  471. package/dist/templates/release/block.js +16 -0
  472. package/dist/templates/release/block.js.map +1 -0
  473. package/dist/templates/release/changes.d.ts +23 -0
  474. package/dist/templates/release/changes.d.ts.map +1 -0
  475. package/dist/templates/release/changes.js +45 -0
  476. package/dist/templates/release/changes.js.map +1 -0
  477. package/dist/templates/release/index.d.ts +11 -0
  478. package/dist/templates/release/index.d.ts.map +1 -0
  479. package/dist/templates/release/index.js +55 -0
  480. package/dist/templates/release/index.js.map +1 -0
  481. package/dist/templates/release/lines.d.ts +21 -0
  482. package/dist/templates/release/lines.d.ts.map +1 -0
  483. package/dist/templates/release/lines.js +36 -0
  484. package/dist/templates/release/lines.js.map +1 -0
  485. package/dist/templates/stat/index.d.ts +11 -0
  486. package/dist/templates/stat/index.d.ts.map +1 -0
  487. package/dist/templates/stat/index.js +43 -0
  488. package/dist/templates/stat/index.js.map +1 -0
  489. package/dist/templates/stat/lines.d.ts +23 -0
  490. package/dist/templates/stat/lines.d.ts.map +1 -0
  491. package/dist/templates/stat/lines.js +47 -0
  492. package/dist/templates/stat/lines.js.map +1 -0
  493. package/dist/templates/terminal/index.d.ts +16 -0
  494. package/dist/templates/terminal/index.d.ts.map +1 -0
  495. package/dist/templates/terminal/index.js +62 -0
  496. package/dist/templates/terminal/index.js.map +1 -0
  497. package/dist/templates/terminal/session.d.ts +17 -0
  498. package/dist/templates/terminal/session.d.ts.map +1 -0
  499. package/dist/templates/terminal/session.js +86 -0
  500. package/dist/templates/terminal/session.js.map +1 -0
  501. package/dist/templates/terminal/window.d.ts +14 -0
  502. package/dist/templates/terminal/window.d.ts.map +1 -0
  503. package/dist/templates/terminal/window.js +84 -0
  504. package/dist/templates/terminal/window.js.map +1 -0
  505. package/dist/templates/version.d.ts +16 -0
  506. package/dist/templates/version.d.ts.map +1 -0
  507. package/dist/templates/version.js +23 -0
  508. package/dist/templates/version.js.map +1 -0
  509. package/dist/templates/wordmark/index.d.ts +13 -0
  510. package/dist/templates/wordmark/index.d.ts.map +1 -0
  511. package/dist/templates/wordmark/index.js +53 -0
  512. package/dist/templates/wordmark/index.js.map +1 -0
  513. package/dist/templates/wordmark/lines.d.ts +22 -0
  514. package/dist/templates/wordmark/lines.d.ts.map +1 -0
  515. package/dist/templates/wordmark/lines.js +61 -0
  516. package/dist/templates/wordmark/lines.js.map +1 -0
  517. package/dist/templates/wordmark/mark.d.ts +16 -0
  518. package/dist/templates/wordmark/mark.d.ts.map +1 -0
  519. package/dist/templates/wordmark/mark.js +30 -0
  520. package/dist/templates/wordmark/mark.js.map +1 -0
  521. package/dist/text/clamp.d.ts +12 -0
  522. package/dist/text/clamp.d.ts.map +1 -0
  523. package/dist/text/clamp.js +41 -0
  524. package/dist/text/clamp.js.map +1 -0
  525. package/dist/text/ellipsis.d.ts +3 -0
  526. package/dist/text/ellipsis.d.ts.map +1 -0
  527. package/dist/text/ellipsis.js +3 -0
  528. package/dist/text/ellipsis.js.map +1 -0
  529. package/dist/text/index.d.ts +2 -0
  530. package/dist/text/index.d.ts.map +1 -1
  531. package/dist/text/index.js +2 -0
  532. package/dist/text/index.js.map +1 -1
  533. package/dist/types.d.ts +158 -6
  534. package/dist/types.d.ts.map +1 -1
  535. package/dist/validate/collect.d.ts.map +1 -1
  536. package/dist/validate/collect.js +2 -1
  537. package/dist/validate/collect.js.map +1 -1
  538. package/dist/validate/keys.d.ts +6 -0
  539. package/dist/validate/keys.d.ts.map +1 -1
  540. package/dist/validate/keys.js +17 -0
  541. package/dist/validate/keys.js.map +1 -1
  542. package/dist/validate/values.d.ts +6 -0
  543. package/dist/validate/values.d.ts.map +1 -1
  544. package/dist/validate/values.js +12 -1
  545. package/dist/validate/values.js.map +1 -1
  546. package/package.json +16 -2
  547. package/dist/background.d.ts +0 -13
  548. package/dist/background.d.ts.map +0 -1
  549. package/dist/background.js +0 -65
  550. package/dist/background.js.map +0 -1
  551. package/dist/cli/args.d.ts +0 -14
  552. package/dist/cli/args.d.ts.map +0 -1
  553. package/dist/cli/args.js +0 -67
  554. package/dist/cli/args.js.map +0 -1
  555. package/dist/cli.d.ts +0 -3
  556. package/dist/cli.d.ts.map +0 -1
  557. package/dist/cli.js +0 -102
  558. package/dist/cli.js.map +0 -1
  559. package/dist/config.d.ts +0 -95
  560. package/dist/config.d.ts.map +0 -1
  561. package/dist/config.js +0 -208
  562. package/dist/config.js.map +0 -1
  563. package/dist/fonts.d.ts +0 -18
  564. package/dist/fonts.d.ts.map +0 -1
  565. package/dist/fonts.js +0 -102
  566. package/dist/fonts.js.map +0 -1
  567. package/dist/generate.d.ts +0 -63
  568. package/dist/generate.d.ts.map +0 -1
  569. package/dist/generate.js +0 -109
  570. package/dist/generate.js.map +0 -1
  571. package/dist/highlight.d.ts +0 -75
  572. package/dist/highlight.d.ts.map +0 -1
  573. package/dist/highlight.js +0 -137
  574. package/dist/highlight.js.map +0 -1
  575. package/dist/render.d.ts +0 -24
  576. package/dist/render.d.ts.map +0 -1
  577. package/dist/render.js +0 -77
  578. package/dist/render.js.map +0 -1
  579. package/dist/stamp.d.ts +0 -29
  580. package/dist/stamp.d.ts.map +0 -1
  581. package/dist/stamp.js +0 -198
  582. package/dist/stamp.js.map +0 -1
  583. package/dist/templates/banner.d.ts +0 -9
  584. package/dist/templates/banner.d.ts.map +0 -1
  585. package/dist/templates/banner.js +0 -115
  586. package/dist/templates/banner.js.map +0 -1
  587. package/dist/templates/card.d.ts +0 -7
  588. package/dist/templates/card.d.ts.map +0 -1
  589. package/dist/templates/card.js +0 -72
  590. package/dist/templates/card.js.map +0 -1
  591. package/dist/templates/code.d.ts +0 -12
  592. package/dist/templates/code.d.ts.map +0 -1
  593. package/dist/templates/code.js +0 -275
  594. package/dist/templates/code.js.map +0 -1
  595. package/dist/templates/measure.d.ts +0 -11
  596. package/dist/templates/measure.d.ts.map +0 -1
  597. package/dist/templates/measure.js +0 -11
  598. package/dist/templates/measure.js.map +0 -1
  599. package/dist/templates/props.d.ts +0 -7
  600. package/dist/templates/props.d.ts.map +0 -1
  601. package/dist/templates/props.js +0 -17
  602. package/dist/templates/props.js.map +0 -1
  603. package/dist/templates/text.d.ts +0 -37
  604. package/dist/templates/text.d.ts.map +0 -1
  605. package/dist/templates/text.js +0 -26
  606. package/dist/templates/text.js.map +0 -1
  607. package/dist/text/stack.d.ts +0 -24
  608. package/dist/text/stack.d.ts.map +0 -1
  609. package/dist/text/stack.js +0 -18
  610. package/dist/text/stack.js.map +0 -1
  611. package/dist/text.d.ts +0 -56
  612. package/dist/text.d.ts.map +0 -1
  613. package/dist/text.js +0 -78
  614. package/dist/text.js.map +0 -1
  615. package/dist/validate/sizes.d.ts +0 -9
  616. package/dist/validate/sizes.d.ts.map +0 -1
  617. package/dist/validate/sizes.js +0 -27
  618. package/dist/validate/sizes.js.map +0 -1
  619. package/dist/validate.d.ts +0 -15
  620. package/dist/validate.d.ts.map +0 -1
  621. package/dist/validate.js +0 -300
  622. package/dist/validate.js.map +0 -1
package/dist/stamp.js DELETED
@@ -1,198 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import { open, readFile } from "node:fs/promises";
3
- import { crc32 } from "node:zlib";
4
- /**
5
- * PNG `tEXt` keyword the stamp is stored under. Keeping it in the image means
6
- * there is no sidecar file to fall out of sync, and deleting an image deletes
7
- * its stamp with it.
8
- */
9
- const stampKeyword = "colophon";
10
- /**
11
- * How much of a PNG to read when looking for a stamp. The stamp goes in
12
- * immediately after `IHDR`, so this only has to cover the header — reading
13
- * whole images just to compare a hash would defeat the point of skipping them.
14
- */
15
- const headBytes = 4096;
16
- const pngSignature = Buffer.from([
17
- 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a,
18
- ]);
19
- /** Signature + the whole `IHDR` chunk: length, type, 13 bytes of data, CRC. */
20
- const afterHeader = pngSignature.length + 4 + 4 + 13 + 4;
21
- function sha256(value) {
22
- return createHash("sha256").update(value).digest("hex");
23
- }
24
- function isRecord(value) {
25
- return typeof value === "object" && value !== null && !Array.isArray(value);
26
- }
27
- /**
28
- * `JSON.stringify` with object keys sorted, so that reordering frontmatter
29
- * without changing it does not look like a change.
30
- */
31
- function stableStringify(value) {
32
- return JSON.stringify(value, (_key, raw) => isRecord(raw)
33
- ? Object.fromEntries(Object.keys(raw)
34
- .toSorted((a, b) => a.localeCompare(b))
35
- .map((key) => [key, raw[key]]))
36
- : raw);
37
- }
38
- /**
39
- * The installed Colophon version. The built-in templates ship in this package,
40
- * so an upgrade can change what an image looks like without anything in the
41
- * project changing; folding the version into the stamp makes that upgrade
42
- * re-render rather than leave the old images in place.
43
- */
44
- async function packageVersion() {
45
- const manifest = await readFile(new URL("../package.json", import.meta.url), "utf8");
46
- return JSON.parse(manifest).version;
47
- }
48
- /**
49
- * Digest one configured font by its contents, not its path: replacing the file
50
- * at the same path changes every image drawn with it.
51
- */
52
- async function fontDigest(font) {
53
- const bytes = "data" in font ? font.data : await readFile(font.path);
54
- return sha256(stableStringify({ family: font.family, bytes: sha256(bytes) }));
55
- }
56
- /**
57
- * Digest the config fields that affect what an image looks like.
58
- *
59
- * `onWarning` is left out because it cannot change a pixel. So are `sizes` and
60
- * `templates`: the one size and the one template an image actually uses go into
61
- * its own stamp, so adding a third size or an unrelated custom template does
62
- * not invalidate everything already on disk.
63
- */
64
- async function configDigest(config) {
65
- const fonts = await Promise.all(config.fonts.map(async (font) => fontDigest(font)));
66
- return sha256(stableStringify({
67
- version: await packageVersion(),
68
- colors: config.colors,
69
- background: config.background,
70
- fonts,
71
- systemFonts: config.systemFonts,
72
- fontFamily: config.fontFamily,
73
- footer: config.footer,
74
- badge: config.badge,
75
- code: config.code,
76
- }));
77
- }
78
- /**
79
- * Build a {@link Stamper} for a resolved config. Asynchronous because it reads
80
- * the configured font files; do it once per run rather than once per image.
81
- */
82
- export async function createStamper(config) {
83
- const base = await configDigest(config);
84
- const templateDigests = new Map();
85
- // A custom template is config the project controls, so its source counts as
86
- // part of the input. Built-in templates are covered by the package version.
87
- // Source text is all there is to go on: a template that reads something its
88
- // own code does not name — a closed-over value, a file — can change without
89
- // the stamp noticing, and needs `overwrite` to pick it up.
90
- const templateDigest = (name) => {
91
- const cached = templateDigests.get(name);
92
- if (cached !== undefined) {
93
- return cached;
94
- }
95
- const template = config.templates[name];
96
- const digest = template === undefined ? "" : sha256(template.render.toString());
97
- templateDigests.set(name, digest);
98
- return digest;
99
- };
100
- return {
101
- stamp(props, size) {
102
- return sha256(stableStringify([
103
- base,
104
- templateDigest(props.template),
105
- // The whole size, not just its dimensions: a size carries its own
106
- // config overrides, and changing one has to re-render that image.
107
- size,
108
- props,
109
- ]));
110
- },
111
- };
112
- }
113
- /**
114
- * A PNG `tEXt` chunk: length, type, `keyword\0text`, CRC over type and data.
115
- */
116
- function textChunk(keyword, text) {
117
- const data = Buffer.concat([
118
- Buffer.from(keyword, "latin1"),
119
- Buffer.from([0]),
120
- Buffer.from(text, "latin1"),
121
- ]);
122
- const chunk = Buffer.alloc(4 + 4 + data.length + 4);
123
- chunk.writeUInt32BE(data.length, 0);
124
- chunk.write("tEXt", 4, "latin1");
125
- data.copy(chunk, 8);
126
- chunk.writeUInt32BE(crc32(chunk.subarray(4, 8 + data.length)), 8 + data.length);
127
- return chunk;
128
- }
129
- /**
130
- * Return `png` with the stamp embedded as a `tEXt` chunk, inserted straight
131
- * after the header so it can be read back without decoding the image.
132
- */
133
- export function stampPng(png, stamp) {
134
- if (png.length < afterHeader ||
135
- !png.subarray(0, pngSignature.length).equals(pngSignature) ||
136
- png.toString("latin1", 12, 16) !== "IHDR") {
137
- throw new Error("Cannot stamp: not a PNG image.");
138
- }
139
- return Buffer.concat([
140
- png.subarray(0, afterHeader),
141
- textChunk(stampKeyword, stamp),
142
- png.subarray(afterHeader),
143
- ]);
144
- }
145
- /**
146
- * Find the stamp in the leading bytes of a PNG, or `undefined` if there is
147
- * none — the image was written by something else, or by a Colophon that did
148
- * not stamp yet.
149
- */
150
- function findStamp(head) {
151
- if (!head.subarray(0, pngSignature.length).equals(pngSignature)) {
152
- return undefined;
153
- }
154
- let offset = pngSignature.length;
155
- while (offset + 8 <= head.length) {
156
- const length = head.readUInt32BE(offset);
157
- const type = head.toString("latin1", offset + 4, offset + 8);
158
- const start = offset + 8;
159
- const end = start + length;
160
- // Image data starts here; anything past it is not worth reading for a hash.
161
- if (type === "IDAT" || type === "IEND" || end > head.length) {
162
- return undefined;
163
- }
164
- if (type === "tEXt") {
165
- const data = head.subarray(start, end);
166
- const separator = data.indexOf(0);
167
- if (separator !== -1 &&
168
- data.toString("latin1", 0, separator) === stampKeyword) {
169
- return data.toString("latin1", separator + 1);
170
- }
171
- }
172
- offset = end + 4;
173
- }
174
- return undefined;
175
- }
176
- /**
177
- * Read the stamp out of a PNG file. Returns `undefined` when the file is
178
- * missing, unreadable, not a PNG, or carries no stamp — all of which mean the
179
- * image cannot be shown to be up to date, so it should be rendered again.
180
- */
181
- export async function readPngStamp(file) {
182
- let handle;
183
- try {
184
- handle = await open(file, "r");
185
- }
186
- catch {
187
- return undefined;
188
- }
189
- try {
190
- const buffer = Buffer.alloc(headBytes);
191
- const { bytesRead } = await handle.read(buffer, 0, headBytes, 0);
192
- return findStamp(buffer.subarray(0, bytesRead));
193
- }
194
- finally {
195
- await handle.close();
196
- }
197
- }
198
- //# sourceMappingURL=stamp.js.map
package/dist/stamp.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"stamp.js","sourceRoot":"","sources":["../src/stamp.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { Template } from "../types.js";
2
- /**
3
- * Generalised "banner" template: a left-aligned title with an optional
4
- * version and wrapped subtitle, an optional corner badge, and an optional
5
- * footer. This is the configurable descendant of the original `npm_package`
6
- * layout.
7
- */
8
- export declare const bannerTemplate: Template;
9
- //# sourceMappingURL=banner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/templates/banner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAS,QAAQ,EAAmB,MAAM,aAAa,CAAC;AA2CpE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,QAwH5B,CAAC"}
@@ -1,115 +0,0 @@
1
- import { estimateCharsPerLine, layoutStack, textElement, wrapText, } from "../text.js";
2
- import { optionalString } from "./props.js";
3
- const maxTitleLines = 3;
4
- const maxSubtitleLines = 4;
5
- function renderBadge(badge, fontFamily, brand, pad, height) {
6
- const fontSize = Math.round(height * 0.6);
7
- const padX = Math.round(height * 0.36);
8
- const width = Math.round(badge.text.length * fontSize * 0.64 + padX * 2);
9
- const radius = Math.round(height * 0.1);
10
- const rect = `<rect x="${String(pad)}" y="${String(pad)}"` +
11
- ` width="${String(width)}" height="${String(height)}"` +
12
- ` rx="${String(radius)}" fill="${badge.background ?? "#ffffff"}"/>`;
13
- const text = textElement(badge.text, {
14
- x: pad + padX,
15
- y: pad + Math.round(height * 0.72),
16
- fontFamily,
17
- fontSize,
18
- fontWeight: 900,
19
- fill: badge.color ?? brand,
20
- });
21
- return rect + text;
22
- }
23
- /**
24
- * Generalised "banner" template: a left-aligned title with an optional
25
- * version and wrapped subtitle, an optional corner badge, and an optional
26
- * footer. This is the configurable descendant of the original `npm_package`
27
- * layout.
28
- */
29
- export const bannerTemplate = {
30
- name: "banner",
31
- render({ props, config, dimensions }) {
32
- const { width, height } = dimensions;
33
- const { fontFamily } = config;
34
- const fg = config.colors.foreground;
35
- const pad = Math.round(width * 0.075);
36
- const contentWidth = width - pad * 2;
37
- const title = optionalString(props.title) ?? "";
38
- const subtitle = optionalString(props.subtitle);
39
- const version = optionalString(props.version);
40
- const hasSubtitle = subtitle !== undefined && subtitle !== "";
41
- const titleFs = Math.round(height * (hasSubtitle ? 0.078 : 0.092));
42
- const versionFs = Math.round(height * 0.04);
43
- const subFs = Math.round(height * 0.05);
44
- const footerFs = Math.round(height * 0.034);
45
- const badgeHeight = Math.round(height * 0.072);
46
- const titleLines = wrapText(title, estimateCharsPerLine(contentWidth, titleFs, 0.6)).slice(0, maxTitleLines);
47
- const subtitleLines = hasSubtitle
48
- ? wrapText(subtitle, estimateCharsPerLine(contentWidth, subFs, 0.55)).slice(0, maxSubtitleLines)
49
- : [];
50
- // Extra breathing room between the title, version and subtitle groups so
51
- // they don't read as one squashed block.
52
- const versionGap = Math.round(height * 0.03);
53
- const subtitleGap = Math.round(height * 0.045);
54
- const lines = titleLines.map((text) => ({
55
- text,
56
- fontSize: titleFs,
57
- fontWeight: 800,
58
- opacity: 0.98,
59
- }));
60
- if (version !== undefined && version !== "") {
61
- lines.push({
62
- text: `v${version}`,
63
- fontSize: versionFs,
64
- fontWeight: 700,
65
- opacity: 0.85,
66
- gapBefore: versionGap,
67
- });
68
- }
69
- for (const [index, text] of subtitleLines.entries()) {
70
- lines.push({
71
- text,
72
- fontSize: subFs,
73
- fontWeight: 500,
74
- opacity: 0.86,
75
- ...(index === 0 && { gapBefore: subtitleGap }),
76
- });
77
- }
78
- const hasBadge = config.badge !== undefined;
79
- const hasFooter = config.footer !== undefined && config.footer !== "";
80
- const top = pad + (hasBadge ? badgeHeight + Math.round(height * 0.03) : 0);
81
- const bottom = height - pad - (hasFooter ? footerFs + Math.round(height * 0.02) : 0);
82
- const placed = layoutStack(lines.map((line) => ({
83
- fontSize: line.fontSize,
84
- lineHeight: 1.15,
85
- ...(line.gapBefore !== undefined && { gapBefore: line.gapBefore }),
86
- })), top, bottom);
87
- const body = lines
88
- .map((line, index) => textElement(line.text, {
89
- x: pad,
90
- y: placed[index]?.y ?? top,
91
- fontFamily,
92
- fontSize: line.fontSize,
93
- fontWeight: line.fontWeight,
94
- fill: fg,
95
- fillOpacity: line.opacity,
96
- }))
97
- .join("");
98
- const badge = config.badge === undefined
99
- ? ""
100
- : renderBadge(config.badge, fontFamily, config.colors.brand, pad, badgeHeight);
101
- const footer = config.footer !== undefined && config.footer !== ""
102
- ? textElement(config.footer, {
103
- x: pad,
104
- y: height - pad,
105
- fontFamily,
106
- fontSize: footerFs,
107
- fontWeight: 500,
108
- fill: fg,
109
- fillOpacity: 0.78,
110
- })
111
- : "";
112
- return badge + body + footer;
113
- },
114
- };
115
- //# sourceMappingURL=banner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/templates/banner.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import type { Template } from "../types.js";
2
- /**
3
- * Minimal "card" template: a centred title with an optional subtitle. No
4
- * badge or version — a clean, quieter alternative to `banner`.
5
- */
6
- export declare const cardTemplate: Template;
7
- //# sourceMappingURL=card.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/templates/card.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AAa7D;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,QAsF1B,CAAC"}
@@ -1,72 +0,0 @@
1
- import { estimateCharsPerLine, layoutStack, textElement, wrapText, } from "../text.js";
2
- import { optionalString } from "./props.js";
3
- const maxTitleLines = 3;
4
- const maxSubtitleLines = 3;
5
- /**
6
- * Minimal "card" template: a centred title with an optional subtitle. No
7
- * badge or version — a clean, quieter alternative to `banner`.
8
- */
9
- export const cardTemplate = {
10
- name: "card",
11
- render({ props, config, dimensions }) {
12
- const { width, height } = dimensions;
13
- const { fontFamily } = config;
14
- const fg = config.colors.foreground;
15
- const pad = Math.round(width * 0.09);
16
- const contentWidth = width - pad * 2;
17
- const centreX = Math.round(width / 2);
18
- const title = optionalString(props.title) ?? "";
19
- const subtitle = optionalString(props.subtitle);
20
- const hasSubtitle = subtitle !== undefined && subtitle !== "";
21
- const titleFs = Math.round(height * 0.1);
22
- const subFs = Math.round(height * 0.045);
23
- const footerFs = Math.round(height * 0.032);
24
- const titleLines = wrapText(title, estimateCharsPerLine(contentWidth, titleFs, 0.58)).slice(0, maxTitleLines);
25
- const subtitleLines = hasSubtitle
26
- ? wrapText(subtitle, estimateCharsPerLine(contentWidth, subFs, 0.52)).slice(0, maxSubtitleLines)
27
- : [];
28
- const lines = [
29
- ...titleLines.map((text) => ({
30
- text,
31
- fontSize: titleFs,
32
- fontWeight: 800,
33
- opacity: 1,
34
- })),
35
- ...subtitleLines.map((text) => ({
36
- text,
37
- fontSize: subFs,
38
- fontWeight: 500,
39
- opacity: 0.85,
40
- })),
41
- ];
42
- const hasFooter = config.footer !== undefined && config.footer !== "";
43
- const bottom = height - pad - (hasFooter ? footerFs + Math.round(height * 0.02) : 0);
44
- const placed = layoutStack(lines.map((line) => ({ fontSize: line.fontSize, lineHeight: 1.2 })), pad, bottom);
45
- const body = lines
46
- .map((line, index) => textElement(line.text, {
47
- x: centreX,
48
- y: placed[index]?.y ?? pad,
49
- fontFamily,
50
- fontSize: line.fontSize,
51
- fontWeight: line.fontWeight,
52
- fill: fg,
53
- fillOpacity: line.opacity,
54
- anchor: "middle",
55
- }))
56
- .join("");
57
- const footer = config.footer !== undefined && config.footer !== ""
58
- ? textElement(config.footer, {
59
- x: centreX,
60
- y: height - pad,
61
- fontFamily,
62
- fontSize: footerFs,
63
- fontWeight: 500,
64
- fill: fg,
65
- fillOpacity: 0.75,
66
- anchor: "middle",
67
- })
68
- : "";
69
- return body + footer;
70
- },
71
- };
72
- //# sourceMappingURL=card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/templates/card.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,QAAQ,GACT,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAS3B;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,IAAI,EAAE,MAAM;IACZ,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAmB;QACnD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QACrC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC;QAE9D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAG,QAAQ,CACzB,KAAK,EACL,oBAAoB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAClD,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QAE1B,MAAM,aAAa,GAAG,WAAW;YAC/B,CAAC,CAAC,QAAQ,CACN,QAAQ,EACR,oBAAoB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAChD,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,KAAK,GAAe;YACxB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI;gBACJ,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;YACH,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9B,IAAI;gBACJ,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;QACtE,MAAM,MAAM,GACV,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EACnE,GAAG,EACH,MAAM,CACP,CAAC;QAEF,MAAM,IAAI,GAAG,KAAK;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnB,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;YACrB,CAAC,EAAE,OAAO;YACV,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG;YAC1B,UAAU;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,MAAM,EAAE,QAAQ;SACjB,CAAC,CACH;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;YACjD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE;gBACzB,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,MAAM,GAAG,GAAG;gBACf,UAAU;gBACV,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,QAAQ;aACjB,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QAET,OAAO,IAAI,GAAG,MAAM,CAAC;IACvB,CAAC;CACF,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { Template } from "../types.js";
2
- /**
3
- * Syntax-highlighted code snippet on a rounded panel over the configured
4
- * background. Reads `code` and `language` from the props (as the original
5
- * `image_text` / `image_lexer` frontmatter did), with an optional `title`
6
- * above the panel and the configured footer below it.
7
- *
8
- * Highlighting uses Shiki, so token colours come from a real VS Code theme
9
- * rather than being approximated.
10
- */
11
- export declare const codeTemplate: Template;
12
- //# sourceMappingURL=code.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/templates/code.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA8B,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2PxE;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,QA6J1B,CAAC"}