@kensio/colophon 2.5.0 → 2.7.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 (627) 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 +39 -0
  136. package/dist/core/index.d.ts.map +1 -0
  137. package/dist/core/index.js +20 -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 +9 -4
  198. package/dist/index.d.ts.map +1 -1
  199. package/dist/index.js +13 -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 +6 -1
  536. package/dist/validate/collect.d.ts.map +1 -1
  537. package/dist/validate/collect.js +8 -2
  538. package/dist/validate/collect.js.map +1 -1
  539. package/dist/validate/index.d.ts +1 -0
  540. package/dist/validate/index.d.ts.map +1 -1
  541. package/dist/validate/index.js +3 -2
  542. package/dist/validate/index.js.map +1 -1
  543. package/dist/validate/keys.d.ts +6 -0
  544. package/dist/validate/keys.d.ts.map +1 -1
  545. package/dist/validate/keys.js +17 -0
  546. package/dist/validate/keys.js.map +1 -1
  547. package/dist/validate/values.d.ts +6 -0
  548. package/dist/validate/values.d.ts.map +1 -1
  549. package/dist/validate/values.js +12 -1
  550. package/dist/validate/values.js.map +1 -1
  551. package/package.json +16 -2
  552. package/dist/background.d.ts +0 -13
  553. package/dist/background.d.ts.map +0 -1
  554. package/dist/background.js +0 -65
  555. package/dist/background.js.map +0 -1
  556. package/dist/cli/args.d.ts +0 -14
  557. package/dist/cli/args.d.ts.map +0 -1
  558. package/dist/cli/args.js +0 -67
  559. package/dist/cli/args.js.map +0 -1
  560. package/dist/cli.d.ts +0 -3
  561. package/dist/cli.d.ts.map +0 -1
  562. package/dist/cli.js +0 -102
  563. package/dist/cli.js.map +0 -1
  564. package/dist/config.d.ts +0 -95
  565. package/dist/config.d.ts.map +0 -1
  566. package/dist/config.js +0 -208
  567. package/dist/config.js.map +0 -1
  568. package/dist/fonts.d.ts +0 -18
  569. package/dist/fonts.d.ts.map +0 -1
  570. package/dist/fonts.js +0 -102
  571. package/dist/fonts.js.map +0 -1
  572. package/dist/generate.d.ts +0 -63
  573. package/dist/generate.d.ts.map +0 -1
  574. package/dist/generate.js +0 -109
  575. package/dist/generate.js.map +0 -1
  576. package/dist/highlight.d.ts +0 -75
  577. package/dist/highlight.d.ts.map +0 -1
  578. package/dist/highlight.js +0 -137
  579. package/dist/highlight.js.map +0 -1
  580. package/dist/render.d.ts +0 -24
  581. package/dist/render.d.ts.map +0 -1
  582. package/dist/render.js +0 -77
  583. package/dist/render.js.map +0 -1
  584. package/dist/stamp.d.ts +0 -29
  585. package/dist/stamp.d.ts.map +0 -1
  586. package/dist/stamp.js +0 -198
  587. package/dist/stamp.js.map +0 -1
  588. package/dist/templates/banner.d.ts +0 -9
  589. package/dist/templates/banner.d.ts.map +0 -1
  590. package/dist/templates/banner.js +0 -115
  591. package/dist/templates/banner.js.map +0 -1
  592. package/dist/templates/card.d.ts +0 -7
  593. package/dist/templates/card.d.ts.map +0 -1
  594. package/dist/templates/card.js +0 -72
  595. package/dist/templates/card.js.map +0 -1
  596. package/dist/templates/code.d.ts +0 -12
  597. package/dist/templates/code.d.ts.map +0 -1
  598. package/dist/templates/code.js +0 -275
  599. package/dist/templates/code.js.map +0 -1
  600. package/dist/templates/measure.d.ts +0 -11
  601. package/dist/templates/measure.d.ts.map +0 -1
  602. package/dist/templates/measure.js +0 -11
  603. package/dist/templates/measure.js.map +0 -1
  604. package/dist/templates/props.d.ts +0 -7
  605. package/dist/templates/props.d.ts.map +0 -1
  606. package/dist/templates/props.js +0 -17
  607. package/dist/templates/props.js.map +0 -1
  608. package/dist/templates/text.d.ts +0 -37
  609. package/dist/templates/text.d.ts.map +0 -1
  610. package/dist/templates/text.js +0 -26
  611. package/dist/templates/text.js.map +0 -1
  612. package/dist/text/stack.d.ts +0 -24
  613. package/dist/text/stack.d.ts.map +0 -1
  614. package/dist/text/stack.js +0 -18
  615. package/dist/text/stack.js.map +0 -1
  616. package/dist/text.d.ts +0 -56
  617. package/dist/text.d.ts.map +0 -1
  618. package/dist/text.js +0 -78
  619. package/dist/text.js.map +0 -1
  620. package/dist/validate/sizes.d.ts +0 -9
  621. package/dist/validate/sizes.d.ts.map +0 -1
  622. package/dist/validate/sizes.js +0 -27
  623. package/dist/validate/sizes.js.map +0 -1
  624. package/dist/validate.d.ts +0 -15
  625. package/dist/validate.d.ts.map +0 -1
  626. package/dist/validate.js +0 -300
  627. package/dist/validate.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAS,MAAM,YAAY,CAAC;AAiD5E;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,UAAU,GACjB,MAAM,CA8BR"}
@@ -1,65 +0,0 @@
1
- import { box, image as imageElement, scrim } from "./layout/index.js";
2
- /** Behind a background image, and either side of one that is `contain`ed. */
3
- const defaultBackdrop = "#000000";
4
- /**
5
- * How heavily the default scrim shades, top and bottom.
6
- *
7
- * It starts at a quarter rather than at nothing, because a template is free to
8
- * put its text anywhere and a wash that only darkens the bottom leaves a
9
- * centred title sitting on whatever the middle of the photograph happens to
10
- * be. Shading the whole picture a little and the bottom a lot covers both, and
11
- * a project that wants the picture untouched at the top sets `from: 0`.
12
- */
13
- const defaultScrim = { from: 0.25, to: 0.65 };
14
- /**
15
- * A photograph behind the text: the backdrop, the picture, and the wash over
16
- * it that keeps the text readable.
17
- *
18
- * The scrim is on by default and has to be turned off rather than on. Text
19
- * over an unshaded photo is the failure this would otherwise ship with, and it
20
- * is not one an author notices unless they look at every image.
21
- */
22
- function imageBackground(background, area, id, asset) {
23
- const backdrop = box(area, { fill: background.color ?? defaultBackdrop });
24
- if (asset === undefined) {
25
- return backdrop;
26
- }
27
- const shade = background.scrim ?? {};
28
- return (backdrop +
29
- imageElement(area, asset.href, { fit: background.fit ?? "cover" }) +
30
- scrim(area, `${id}-scrim`, {
31
- ...(shade.color !== undefined && { color: shade.color }),
32
- from: shade.from ?? defaultScrim.from,
33
- to: shade.to ?? defaultScrim.to,
34
- }));
35
- }
36
- /**
37
- * Render a full-bleed background as SVG. For a gradient, this emits a `<defs>`
38
- * block with a `<linearGradient>` (using the given `id`) followed by a filled
39
- * rect; for a solid colour it emits just the rect.
40
- *
41
- * A background image has to be read before it can be drawn, which is the
42
- * renderer's job. Called without one, an image background is the colour behind
43
- * it, so a caller assembling an SVG by hand gets a plain image rather than a
44
- * reference to something that is not there.
45
- */
46
- export function backgroundSvg(background, dimensions, id, asset) {
47
- const { width, height } = dimensions;
48
- if (background.type === "solid") {
49
- return `<rect width="${String(width)}" height="${String(height)}" fill="${background.color}"/>`;
50
- }
51
- if (background.type === "image") {
52
- return imageBackground(background, { x: 0, y: 0, width, height }, id, asset);
53
- }
54
- const from = background.from ?? { x: 0, y: 0 };
55
- const to = background.to ?? { x: 1, y: 1 };
56
- const stops = background.stops
57
- .map((stop) => `<stop offset="${stop.offset}" stop-color="${stop.color}"/>`)
58
- .join("");
59
- return (`<defs>` +
60
- `<linearGradient id="${id}" x1="${String(from.x)}" y1="${String(from.y)}"` +
61
- ` x2="${String(to.x)}" y2="${String(to.y)}">${stops}</linearGradient>` +
62
- `</defs>` +
63
- `<rect width="${String(width)}" height="${String(height)}" fill="url(#${id})"/>`);
64
- }
65
- //# sourceMappingURL=background.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGtE,6EAA6E;AAC7E,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAE9C;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,UAA2D,EAC3D,IAAU,EACV,EAAU,EACV,KAA6B;IAE7B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;IAE1E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAU,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;IAE5C,OAAO,CACL,QAAQ;QACR,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;YACzB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YACxD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI;YACrC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE;SAChC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,UAAsB,EACtB,UAAsB,EACtB,EAAU,EACV,KAAkB;IAElB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAErC,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,gBAAgB,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,WAAW,UAAU,CAAC,KAAK,KAAK,CAAC;IAClG,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,eAAe,CACpB,UAAU,EACV,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAC7B,EAAE,EACF,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/C,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK;SAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,IAAI,CAAC,MAAM,iBAAiB,IAAI,CAAC,KAAK,KAAK,CAAC;SAC3E,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,CACL,QAAQ;QACR,uBAAuB,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;QAC1E,QAAQ,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,mBAAmB;QACtE,SAAS;QACT,gBAAgB,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CACjF,CAAC;AACJ,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * The parsed command line.
3
- */
4
- export interface CliArgs {
5
- readonly contentDir: string;
6
- readonly configPath: string | undefined;
7
- readonly overwrite: boolean;
8
- readonly concurrency: number | undefined;
9
- }
10
- /** Help text for `--help`, and for a run that asks for nothing else. */
11
- export declare const usage = "colophon: generate social meta images from frontmatter\n\nUsage:\n colophon [contentDir] [options]\n\nImages carry a stamp of the props, config and size they came from, so a rebuild\nrenders only the ones that have actually changed.\n\nOptions:\n -c, --config <path> Load a config module. Its default export is either a\n ColophonConfig or a function (async or not) returning\n one, for a config that has to compute something.\n -f, --force Re-render every image, ignoring the stamps\n -o, --overwrite Alias for --force\n --concurrency <n> How many images to render at once\n -h, --help Show this help\n\nDefaults:\n contentDir content\n --concurrency one per available CPU";
12
- /** Read the command line into the options `generate` takes. */
13
- export declare function parseCliArgs(argv: readonly string[]): CliArgs;
14
- //# sourceMappingURL=args.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,wEAAwE;AACxE,eAAO,MAAM,KAAK,gxBAmB4B,CAAC;AAwB/C,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CA4B7D"}
package/dist/cli/args.js DELETED
@@ -1,67 +0,0 @@
1
- /** Help text for `--help`, and for a run that asks for nothing else. */
2
- export const usage = `colophon: generate social meta images from frontmatter
3
-
4
- Usage:
5
- colophon [contentDir] [options]
6
-
7
- Images carry a stamp of the props, config and size they came from, so a rebuild
8
- renders only the ones that have actually changed.
9
-
10
- Options:
11
- -c, --config <path> Load a config module. Its default export is either a
12
- ColophonConfig or a function (async or not) returning
13
- one, for a config that has to compute something.
14
- -f, --force Re-render every image, ignoring the stamps
15
- -o, --overwrite Alias for --force
16
- --concurrency <n> How many images to render at once
17
- -h, --help Show this help
18
-
19
- Defaults:
20
- contentDir content
21
- --concurrency one per available CPU`;
22
- /** `--overwrite` is kept as an alias so existing build scripts keep working. */
23
- const forceFlags = new Set(["-f", "--force", "-o", "--overwrite"]);
24
- /** Flags that take the next argument as their value. */
25
- const valueFlags = new Set(["-c", "--config", "--concurrency"]);
26
- /**
27
- * A mistyped count would otherwise reach `generate` as `NaN` and be reported
28
- * without naming the flag it came from, so it is rejected here instead.
29
- */
30
- function parseConcurrency(value) {
31
- const parsed = Number(value);
32
- if (!Number.isSafeInteger(parsed) || parsed < 1) {
33
- throw new Error(`Invalid value for --concurrency: "${value}"; expected a positive integer.`);
34
- }
35
- return parsed;
36
- }
37
- /** Read the command line into the options `generate` takes. */
38
- export function parseCliArgs(argv) {
39
- let contentDir = "content";
40
- let configPath;
41
- let shouldOverwrite = false;
42
- let concurrency;
43
- for (let index = 0; index < argv.length; index += 1) {
44
- const arg = argv[index];
45
- if (arg !== undefined && valueFlags.has(arg)) {
46
- index += 1;
47
- const value = argv[index];
48
- if (value === undefined) {
49
- throw new Error(`Missing value for ${arg}`);
50
- }
51
- if (arg === "--concurrency") {
52
- concurrency = parseConcurrency(value);
53
- }
54
- else {
55
- configPath = value;
56
- }
57
- }
58
- else if (arg !== undefined && forceFlags.has(arg)) {
59
- shouldOverwrite = true;
60
- }
61
- else if (arg !== undefined && !arg.startsWith("-")) {
62
- contentDir = arg;
63
- }
64
- }
65
- return { contentDir, configPath, overwrite: shouldOverwrite, concurrency };
66
- }
67
- //# sourceMappingURL=args.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAUA,wEAAwE;AACxE,MAAM,CAAC,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;8CAmByB,CAAC;AAE/C,gFAAgF;AAChF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AAEnE,wDAAwD;AACxD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;AAEhE;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,qCAAqC,KAAK,iCAAiC,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,YAAY,CAAC,IAAuB;IAClD,IAAI,UAAU,GAAG,SAAS,CAAC;IAC3B,IAAI,UAA8B,CAAC;IACnC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,WAA+B,CAAC;IAEpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,IAAI,CAAC,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;gBAC5B,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAC7E,CAAC"}
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js DELETED
@@ -1,102 +0,0 @@
1
- #!/usr/bin/env node
2
- import path from "node:path";
3
- import { pathToFileURL } from "node:url";
4
- import { generate } from "./generate.js";
5
- const usage = `colophon — generate social meta images from frontmatter
6
-
7
- Usage:
8
- colophon [contentDir] [options]
9
-
10
- Images carry a stamp of the props, config and size they came from, so a rebuild
11
- renders only the ones that have actually changed.
12
-
13
- Options:
14
- -c, --config <path> Load a config module (default export = ColophonConfig)
15
- -f, --force Re-render every image, ignoring the stamps
16
- -o, --overwrite Alias for --force
17
- --concurrency <n> How many images to render at once
18
- -h, --help Show this help
19
-
20
- Defaults:
21
- contentDir content
22
- --concurrency one per available CPU`;
23
- /** `--overwrite` is kept as an alias so existing build scripts keep working. */
24
- const forceFlags = new Set(["-f", "--force", "-o", "--overwrite"]);
25
- /** Flags that take the next argument as their value. */
26
- const valueFlags = new Set(["-c", "--config", "--concurrency"]);
27
- /**
28
- * A mistyped count would otherwise reach `generate` as `NaN` and be reported
29
- * without naming the flag it came from, so it is rejected here instead.
30
- */
31
- function parseConcurrency(value) {
32
- const parsed = Number(value);
33
- if (!Number.isSafeInteger(parsed) || parsed < 1) {
34
- throw new Error(`Invalid value for --concurrency: "${value}"; expected a positive integer.`);
35
- }
36
- return parsed;
37
- }
38
- function parseCliArgs(argv) {
39
- let contentDir = "content";
40
- let configPath;
41
- let shouldOverwrite = false;
42
- let concurrency;
43
- for (let index = 0; index < argv.length; index += 1) {
44
- const arg = argv[index];
45
- if (arg !== undefined && valueFlags.has(arg)) {
46
- index += 1;
47
- const value = argv[index];
48
- if (value === undefined) {
49
- throw new Error(`Missing value for ${arg}`);
50
- }
51
- if (arg === "--concurrency") {
52
- concurrency = parseConcurrency(value);
53
- }
54
- else {
55
- configPath = value;
56
- }
57
- }
58
- else if (arg !== undefined && forceFlags.has(arg)) {
59
- shouldOverwrite = true;
60
- }
61
- else if (arg !== undefined && !arg.startsWith("-")) {
62
- contentDir = arg;
63
- }
64
- }
65
- return { contentDir, configPath, overwrite: shouldOverwrite, concurrency };
66
- }
67
- async function loadConfig(configPath) {
68
- if (configPath === undefined) {
69
- return undefined;
70
- }
71
- const url = pathToFileURL(path.resolve(configPath)).href;
72
- const module = (await import(url));
73
- return module.default;
74
- }
75
- async function main() {
76
- const argv = process.argv.slice(2);
77
- if (argv.includes("-h") || argv.includes("--help")) {
78
- console.log(usage);
79
- return;
80
- }
81
- const args = parseCliArgs(argv);
82
- const config = await loadConfig(args.configPath);
83
- const results = await generate({
84
- contentDir: args.contentDir,
85
- overwrite: args.overwrite,
86
- ...(config !== undefined && { config }),
87
- ...(args.concurrency !== undefined && { concurrency: args.concurrency }),
88
- onResult: (result) => {
89
- console.log(`${result.skipped ? "skip " : "wrote"} ${result.outputPath}`);
90
- },
91
- });
92
- const written = results.filter((result) => !result.skipped).length;
93
- console.log(`Done: ${String(written)} written, ${String(results.length - written)} skipped.`);
94
- }
95
- try {
96
- await main();
97
- }
98
- catch (error) {
99
- console.error(error instanceof Error ? error.message : String(error));
100
- process.exitCode = 1;
101
- }
102
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts DELETED
@@ -1,95 +0,0 @@
1
- import type { BrandColors, CodeStyle, ColophonConfig, OutputSize, ResolvedConfig } from "./types.js";
2
- /**
3
- * Named output-size presets covering the common social-image standards. Each
4
- * `name` becomes the filename suffix (e.g. `my-post-og.png`).
5
- *
6
- * - `og` — 1.91:1, the Open Graph standard (`og:image`): Facebook, LinkedIn,
7
- * Slack, Discord, WhatsApp, Mastodon, and the usual `twitter:image` reuse.
8
- * - `square` — 1:1, X/Twitter `summary` card and a universal fallback.
9
- * - `twitter` — 2:1, X/Twitter `summary_large_image` card.
10
- * - `pinterest` — 2:3 tall pin.
11
- */
12
- export declare const SIZE_PRESETS: {
13
- readonly og: {
14
- readonly name: "og";
15
- readonly width: 1200;
16
- readonly height: 630;
17
- };
18
- readonly square: {
19
- readonly name: "square";
20
- readonly width: 1200;
21
- readonly height: 1200;
22
- };
23
- readonly twitter: {
24
- readonly name: "twitter";
25
- readonly width: 1200;
26
- readonly height: 600;
27
- };
28
- readonly pinterest: {
29
- readonly name: "pinterest";
30
- readonly width: 1000;
31
- readonly height: 1500;
32
- };
33
- };
34
- /**
35
- * Default output sizes: the Open Graph landscape plus a square. Between them
36
- * they satisfy `og:image` and both `twitter:image` card types.
37
- */
38
- export declare const DEFAULT_SIZES: readonly OutputSize[];
39
- /**
40
- * Default font stack, used when no fonts are configured. It names families and
41
- * hopes the machine has them, which is exactly what `config.fonts` exists to
42
- * avoid: supply a font file and the output stops depending on the machine.
43
- */
44
- export declare const DEFAULT_FONT_FAMILY = "Arial, Helvetica, sans-serif";
45
- /** Neutral default palette, used when no `colors.brand` is supplied. */
46
- export declare const DEFAULT_COLORS: Required<BrandColors>;
47
- /**
48
- * Default monospace stack for the `code` template. It ends in the generic
49
- * `monospace` family so it always resolves to something, whatever fonts the
50
- * machine running the build happens to have.
51
- */
52
- export declare const DEFAULT_CODE_FONT_FAMILY = "\"JetBrains Mono\", \"Source Code Pro\", \"DejaVu Sans Mono\", Menlo, Consolas, monospace";
53
- /**
54
- * Default `code` template styling. `charWidthRatio` and `lineHeight` drive the
55
- * monospace grid the snippet is laid out on; the font-size bounds are
56
- * fractions of the image width so they hold at every output size.
57
- *
58
- * `minFontScale` of `0.025` is roughly 30px on a 1200px-wide image, which
59
- * still reads when a feed shows that image at half size. A snippet too long to
60
- * fit at that size is truncated rather than shrunk, so a long sample loses
61
- * lines on the shorter landscape formats.
62
- */
63
- export declare const DEFAULT_CODE_STYLE: Required<CodeStyle>;
64
- /**
65
- * Identity helper that returns its argument typed as {@link ColophonConfig}.
66
- * Use it in a config module to get editor completion and type-checking.
67
- */
68
- export declare function defineConfig(config: ColophonConfig): ColophonConfig;
69
- /**
70
- * Apply defaults to a user config. Safe to call with no argument.
71
- *
72
- * Unknown options are rejected before anything is resolved, so a config
73
- * written against a different version of the package is a build error rather
74
- * than a set of images quietly rendered with the defaults.
75
- */
76
- export declare function resolveConfig(config?: ColophonConfig): ResolvedConfig;
77
- /**
78
- * Apply a size's own overrides to a config and resolve the result: the config
79
- * one image is actually rendered with.
80
- *
81
- * The overrides are folded into the user config and the whole thing resolved
82
- * again, rather than patched onto an already-resolved config, so that anything
83
- * derived stays consistent — a size that overrides `colors.brand` gets the
84
- * default gradient rebuilt around its brand, exactly as a config setting the
85
- * same colour at the top level would.
86
- *
87
- * `colors` and `code` merge over their config-level counterparts, because both
88
- * are bags of independent settings and the point of the feature is to change
89
- * one of them. The rest replace: a `background` is a union whose variants have
90
- * different keys, so half of one over half of another is not a background at
91
- * all, and `badge` carries a required `text` that a partial override could not
92
- * supply.
93
- */
94
- export declare function resolveConfigForSize(config: ColophonConfig | undefined, size: OutputSize): ResolvedConfig;
95
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,WAAW,EACX,SAAS,EACT,cAAc,EAEd,UAAU,EACV,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY;;iBACjB,IAAI,EAAE,IAAI;iBAAE,KAAK,EAAE,IAAI;iBAAE,MAAM,EAAE,GAAG;;;iBAChC,IAAI,EAAE,QAAQ;iBAAE,KAAK,EAAE,IAAI;iBAAE,MAAM,EAAE,IAAI;;;iBACxC,IAAI,EAAE,SAAS;iBAAE,KAAK,EAAE,IAAI;iBAAE,MAAM,EAAE,GAAG;;;iBACvC,IAAI,EAAE,WAAW;iBAAE,KAAK,EAAE,IAAI;iBAAE,MAAM,EAAE,IAAI;;CACZ,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,EAG9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,wEAAwE;AACxE,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAKhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,8FACkD,CAAC;AAExF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,SAAS,CASlD,CAAC;AAcF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAEnE;AA2ED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,cAAmB,GAAG,cAAc,CAoBzE;AAkBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,IAAI,EAAE,UAAU,GACf,cAAc,CAchB"}
package/dist/config.js DELETED
@@ -1,208 +0,0 @@
1
- import { resolveFonts } from "./fonts.js";
2
- import { builtinTemplates } from "./templates/index.js";
3
- import { validateConfig } from "./validate.js";
4
- /**
5
- * Named output-size presets covering the common social-image standards. Each
6
- * `name` becomes the filename suffix (e.g. `my-post-og.png`).
7
- *
8
- * - `og` — 1.91:1, the Open Graph standard (`og:image`): Facebook, LinkedIn,
9
- * Slack, Discord, WhatsApp, Mastodon, and the usual `twitter:image` reuse.
10
- * - `square` — 1:1, X/Twitter `summary` card and a universal fallback.
11
- * - `twitter` — 2:1, X/Twitter `summary_large_image` card.
12
- * - `pinterest` — 2:3 tall pin.
13
- */
14
- export const SIZE_PRESETS = {
15
- og: { name: "og", width: 1200, height: 630 },
16
- square: { name: "square", width: 1200, height: 1200 },
17
- twitter: { name: "twitter", width: 1200, height: 600 },
18
- pinterest: { name: "pinterest", width: 1000, height: 1500 },
19
- };
20
- /**
21
- * Default output sizes: the Open Graph landscape plus a square. Between them
22
- * they satisfy `og:image` and both `twitter:image` card types.
23
- */
24
- export const DEFAULT_SIZES = [
25
- SIZE_PRESETS.og,
26
- SIZE_PRESETS.square,
27
- ];
28
- /**
29
- * Default font stack, used when no fonts are configured. It names families and
30
- * hopes the machine has them, which is exactly what `config.fonts` exists to
31
- * avoid: supply a font file and the output stops depending on the machine.
32
- */
33
- export const DEFAULT_FONT_FAMILY = "Arial, Helvetica, sans-serif";
34
- /** Neutral default palette, used when no `colors.brand` is supplied. */
35
- export const DEFAULT_COLORS = {
36
- brand: "#4f46e5",
37
- brandDark: "#3730a3",
38
- brandWarm: "#db2777",
39
- foreground: "#ffffff",
40
- };
41
- /**
42
- * Default monospace stack for the `code` template. It ends in the generic
43
- * `monospace` family so it always resolves to something, whatever fonts the
44
- * machine running the build happens to have.
45
- */
46
- export const DEFAULT_CODE_FONT_FAMILY = '"JetBrains Mono", "Source Code Pro", "DejaVu Sans Mono", Menlo, Consolas, monospace';
47
- /**
48
- * Default `code` template styling. `charWidthRatio` and `lineHeight` drive the
49
- * monospace grid the snippet is laid out on; the font-size bounds are
50
- * fractions of the image width so they hold at every output size.
51
- *
52
- * `minFontScale` of `0.025` is roughly 30px on a 1200px-wide image, which
53
- * still reads when a feed shows that image at half size. A snippet too long to
54
- * fit at that size is truncated rather than shrunk, so a long sample loses
55
- * lines on the shorter landscape formats.
56
- */
57
- export const DEFAULT_CODE_STYLE = {
58
- theme: "github-dark",
59
- fontFamily: DEFAULT_CODE_FONT_FAMILY,
60
- charWidthRatio: 0.6,
61
- lineHeight: 1.55,
62
- tabSize: 2,
63
- cornerScale: 0.025,
64
- maxFontScale: 0.075,
65
- minFontScale: 0.025,
66
- };
67
- /**
68
- * Default warning handler. Colophon runs at build time, so a compromise the
69
- * renderer had to make belongs in the build log by default — silence is opt-in
70
- * via `config.onWarning`.
71
- */
72
- function warnToConsole(message) {
73
- // The console is the point: this is the default sink, replaced wholesale by
74
- // a caller-supplied `onWarning`.
75
- // eslint-disable-next-line no-console
76
- console.warn(`colophon: ${message}`);
77
- }
78
- /**
79
- * Identity helper that returns its argument typed as {@link ColophonConfig}.
80
- * Use it in a config module to get editor completion and type-checking.
81
- */
82
- export function defineConfig(config) {
83
- return config;
84
- }
85
- function resolveColors(colors) {
86
- if (colors === undefined) {
87
- return DEFAULT_COLORS;
88
- }
89
- // When a project supplies only `brand`, use it for the whole gradient rather
90
- // than mixing in the neutral defaults, which would clash.
91
- return {
92
- brand: colors.brand,
93
- brandDark: colors.brandDark ?? colors.brand,
94
- brandWarm: colors.brandWarm ?? colors.brand,
95
- foreground: colors.foreground ?? DEFAULT_COLORS.foreground,
96
- };
97
- }
98
- function defaultBackground(colors) {
99
- return {
100
- type: "gradient",
101
- stops: [
102
- { offset: "0%", color: colors.brandDark },
103
- { offset: "55%", color: colors.brand },
104
- { offset: "100%", color: colors.brandWarm },
105
- ],
106
- };
107
- }
108
- function resolveCode(code) {
109
- return { ...DEFAULT_CODE_STYLE, ...code };
110
- }
111
- function resolveSizes(sizes) {
112
- if (sizes === undefined || sizes.length === 0) {
113
- return DEFAULT_SIZES;
114
- }
115
- const seen = new Set();
116
- for (const size of sizes) {
117
- if (seen.has(size.name)) {
118
- throw new Error(`Duplicate output size name "${size.name}"; names must be unique so each image gets a distinct filename.`);
119
- }
120
- seen.add(size.name);
121
- }
122
- return sizes;
123
- }
124
- /**
125
- * Whether to load the machine's own fonts. Configured fonts are meant to make
126
- * the output the same everywhere, so supplying any turns system fonts off
127
- * unless the project asks for them back.
128
- */
129
- function shouldLoadSystemFonts(systemFonts, fonts) {
130
- if (systemFonts === undefined) {
131
- return fonts.length === 0;
132
- }
133
- if (!systemFonts && fonts.length === 0) {
134
- throw new Error("systemFonts is false and no fonts are configured, so no text could be" +
135
- " rendered. Add fonts, or leave systemFonts unset.");
136
- }
137
- return systemFonts;
138
- }
139
- /**
140
- * Apply defaults to a user config. Safe to call with no argument.
141
- *
142
- * Unknown options are rejected before anything is resolved, so a config
143
- * written against a different version of the package is a build error rather
144
- * than a set of images quietly rendered with the defaults.
145
- */
146
- export function resolveConfig(config = {}) {
147
- validateConfig(config);
148
- const colors = resolveColors(config.colors);
149
- const fonts = resolveFonts(config.fonts);
150
- return {
151
- colors,
152
- background: config.background ?? defaultBackground(colors),
153
- fonts,
154
- systemFonts: shouldLoadSystemFonts(config.systemFonts, fonts),
155
- // A project that supplies one font should not have to name it twice.
156
- fontFamily: config.fontFamily ?? fonts[0]?.family ?? DEFAULT_FONT_FAMILY,
157
- footer: config.footer,
158
- badge: config.badge,
159
- code: resolveCode(config.code),
160
- onWarning: config.onWarning ?? warnToConsole,
161
- sizes: resolveSizes(config.sizes),
162
- templates: { ...builtinTemplates, ...config.templates },
163
- };
164
- }
165
- /**
166
- * Merge a size's colour overrides onto the config's.
167
- *
168
- * A size may name any single shade, so the merge starts from the full default
169
- * palette when the config sets no colours of its own. Starting from nothing
170
- * instead would hand `resolveColors` a lone `foreground`, and its rule that a
171
- * bare `brand` colours the whole gradient would then flatten the default
172
- * gradient — a size asking only for darker text would silently lose it.
173
- */
174
- function mergeColors(base, overrides) {
175
- return { ...(base ?? DEFAULT_COLORS), ...overrides };
176
- }
177
- /**
178
- * Apply a size's own overrides to a config and resolve the result: the config
179
- * one image is actually rendered with.
180
- *
181
- * The overrides are folded into the user config and the whole thing resolved
182
- * again, rather than patched onto an already-resolved config, so that anything
183
- * derived stays consistent — a size that overrides `colors.brand` gets the
184
- * default gradient rebuilt around its brand, exactly as a config setting the
185
- * same colour at the top level would.
186
- *
187
- * `colors` and `code` merge over their config-level counterparts, because both
188
- * are bags of independent settings and the point of the feature is to change
189
- * one of them. The rest replace: a `background` is a union whose variants have
190
- * different keys, so half of one over half of another is not a background at
191
- * all, and `badge` carries a required `text` that a partial override could not
192
- * supply.
193
- */
194
- export function resolveConfigForSize(config, size) {
195
- const base = config ?? {};
196
- return resolveConfig({
197
- ...base,
198
- ...(size.colors !== undefined && {
199
- colors: mergeColors(base.colors, size.colors),
200
- }),
201
- ...(size.code !== undefined && { code: { ...base.code, ...size.code } }),
202
- ...(size.background !== undefined && { background: size.background }),
203
- ...(size.fontFamily !== undefined && { fontFamily: size.fontFamily }),
204
- ...(size.footer !== undefined && { footer: size.footer }),
205
- ...(size.badge !== undefined && { badge: size.badge }),
206
- });
207
- }
208
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/fonts.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import type { FontSource } from "./types.js";
2
- /**
3
- * Validate the configured fonts and make their paths absolute. Safe to call
4
- * with no fonts, which is the default.
5
- */
6
- export declare function resolveFonts(fonts: readonly FontSource[] | undefined): readonly FontSource[];
7
- /**
8
- * File paths for the configured fonts, in order, writing any supplied as
9
- * bytes to a temp file first.
10
- */
11
- export declare function fontFilePaths(fonts: readonly FontSource[]): Promise<string[]>;
12
- /**
13
- * The family the rasteriser should fall back to when a `font-family` names
14
- * something it has not loaded — the first declared family, so the fallback is
15
- * the same wherever the build runs rather than whichever font loaded first.
16
- */
17
- export declare function fallbackFamily(fonts: readonly FontSource[]): string | undefined;
18
- //# sourceMappingURL=fonts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAwE7C;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GACvC,SAAS,UAAU,EAAE,CAMvB;AA8BD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,UAAU,EAAE,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,UAAU,EAAE,GAC3B,MAAM,GAAG,SAAS,CAEpB"}