@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.
- package/README.md +91 -13
- package/dist/astro/index.d.ts +49 -0
- package/dist/astro/index.d.ts.map +1 -0
- package/dist/astro/index.js +42 -0
- package/dist/astro/index.js.map +1 -0
- package/dist/cli/args/command.d.ts +13 -0
- package/dist/cli/args/command.d.ts.map +1 -0
- package/dist/cli/args/command.js +22 -0
- package/dist/cli/args/command.js.map +1 -0
- package/dist/cli/args/index.d.ts +28 -0
- package/dist/cli/args/index.d.ts.map +1 -0
- package/dist/cli/args/index.js +75 -0
- package/dist/cli/args/index.js.map +1 -0
- package/dist/cli/args/switches.d.ts +18 -0
- package/dist/cli/args/switches.d.ts.map +1 -0
- package/dist/cli/args/switches.js +42 -0
- package/dist/cli/args/switches.js.map +1 -0
- package/dist/cli/args/usage.d.ts +3 -0
- package/dist/cli/args/usage.d.ts.map +1 -0
- package/dist/cli/args/usage.js +34 -0
- package/dist/cli/args/usage.js.map +1 -0
- package/dist/cli/args/values.d.ts +11 -0
- package/dist/cli/args/values.d.ts.map +1 -0
- package/dist/cli/args/values.js +29 -0
- package/dist/cli/args/values.js.map +1 -0
- package/dist/cli/build.d.ts +10 -0
- package/dist/cli/build.d.ts.map +1 -0
- package/dist/cli/build.js +41 -0
- package/dist/cli/build.js.map +1 -0
- package/dist/cli/eject/adapters.d.ts +20 -0
- package/dist/cli/eject/adapters.d.ts.map +1 -0
- package/dist/cli/eject/adapters.js +29 -0
- package/dist/cli/eject/adapters.js.map +1 -0
- package/dist/cli/eject/astro.d.ts +13 -0
- package/dist/cli/eject/astro.d.ts.map +1 -0
- package/dist/cli/eject/astro.js +35 -0
- package/dist/cli/eject/astro.js.map +1 -0
- package/dist/cli/eject/hugo.d.ts +19 -0
- package/dist/cli/eject/hugo.d.ts.map +1 -0
- package/dist/cli/eject/hugo.js +127 -0
- package/dist/cli/eject/hugo.js.map +1 -0
- package/dist/cli/eject/index.d.ts +15 -0
- package/dist/cli/eject/index.d.ts.map +1 -0
- package/dist/cli/eject/index.js +46 -0
- package/dist/cli/eject/index.js.map +1 -0
- package/dist/cli/index.js +25 -20
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/fs.d.ts +5 -0
- package/dist/cli/init/fs.d.ts.map +1 -0
- package/dist/cli/init/fs.js +19 -0
- package/dist/cli/init/fs.js.map +1 -0
- package/dist/cli/init/guess.d.ts +9 -0
- package/dist/cli/init/guess.d.ts.map +1 -0
- package/dist/cli/init/guess.js +27 -0
- package/dist/cli/init/guess.js.map +1 -0
- package/dist/cli/init/index.d.ts +11 -0
- package/dist/cli/init/index.d.ts.map +1 -0
- package/dist/cli/init/index.js +36 -0
- package/dist/cli/init/index.js.map +1 -0
- package/dist/cli/init/module.d.ts +12 -0
- package/dist/cli/init/module.d.ts.map +1 -0
- package/dist/cli/init/module.js +45 -0
- package/dist/cli/init/module.js.map +1 -0
- package/dist/cli/init/scaffold.d.ts +10 -0
- package/dist/cli/init/scaffold.d.ts.map +1 -0
- package/dist/cli/init/scaffold.js +52 -0
- package/dist/cli/init/scaffold.js.map +1 -0
- package/dist/cli/message.d.ts +7 -0
- package/dist/cli/message.d.ts.map +1 -0
- package/dist/cli/message.js +9 -0
- package/dist/cli/message.js.map +1 -0
- package/dist/cli/preview/index.d.ts +13 -0
- package/dist/cli/preview/index.d.ts.map +1 -0
- package/dist/cli/preview/index.js +27 -0
- package/dist/cli/preview/index.js.map +1 -0
- package/dist/cli/preview/open.d.ts +10 -0
- package/dist/cli/preview/open.d.ts.map +1 -0
- package/dist/cli/preview/open.js +32 -0
- package/dist/cli/preview/open.js.map +1 -0
- package/dist/cli/preview/render.d.ts +23 -0
- package/dist/cli/preview/render.d.ts.map +1 -0
- package/dist/cli/preview/render.js +40 -0
- package/dist/cli/preview/render.js.map +1 -0
- package/dist/cli/preview/root.d.ts +17 -0
- package/dist/cli/preview/root.d.ts.map +1 -0
- package/dist/cli/preview/root.js +22 -0
- package/dist/cli/preview/root.js.map +1 -0
- package/dist/cli/preview/size.d.ts +7 -0
- package/dist/cli/preview/size.d.ts.map +1 -0
- package/dist/cli/preview/size.js +13 -0
- package/dist/cli/preview/size.js.map +1 -0
- package/dist/cli/report.d.ts +6 -0
- package/dist/cli/report.d.ts.map +1 -0
- package/dist/cli/report.js +23 -0
- package/dist/cli/report.js.map +1 -0
- package/dist/cli/watch/filter.d.ts +14 -0
- package/dist/cli/watch/filter.d.ts.map +1 -0
- package/dist/cli/watch/filter.js +16 -0
- package/dist/cli/watch/filter.js.map +1 -0
- package/dist/cli/watch/index.d.ts +27 -0
- package/dist/cli/watch/index.d.ts.map +1 -0
- package/dist/cli/watch/index.js +38 -0
- package/dist/cli/watch/index.js.map +1 -0
- package/dist/cli/watch/queue.d.ts +24 -0
- package/dist/cli/watch/queue.d.ts.map +1 -0
- package/dist/cli/watch/queue.js +57 -0
- package/dist/cli/watch/queue.js.map +1 -0
- package/dist/config/defaults.d.ts +39 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +38 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +18 -4
- package/dist/config/index.js.map +1 -1
- package/dist/config/output.d.ts +26 -0
- package/dist/config/output.d.ts.map +1 -0
- package/dist/config/output.js +45 -0
- package/dist/config/output.js.map +1 -0
- package/dist/config/resolve.d.ts +10 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +20 -1
- package/dist/config/resolve.js.map +1 -1
- package/dist/content/index.d.ts +1 -0
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +1 -0
- package/dist/content/index.js.map +1 -1
- package/dist/content/read.d.ts +15 -0
- package/dist/content/read.d.ts.map +1 -0
- package/dist/content/read.js +36 -0
- package/dist/content/read.js.map +1 -0
- package/dist/content/walk.d.ts.map +1 -1
- package/dist/content/walk.js +4 -30
- package/dist/content/walk.js.map +1 -1
- package/dist/core/index.d.ts +37 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/encode/fit.d.ts +16 -0
- package/dist/encode/fit.d.ts.map +1 -0
- package/dist/encode/fit.js +23 -0
- package/dist/encode/fit.js.map +1 -0
- package/dist/encode/format.d.ts +12 -0
- package/dist/encode/format.d.ts.map +1 -0
- package/dist/encode/format.js +40 -0
- package/dist/encode/format.js.map +1 -0
- package/dist/encode/index.d.ts +14 -0
- package/dist/encode/index.d.ts.map +1 -0
- package/dist/encode/index.js +52 -0
- package/dist/encode/index.js.map +1 -0
- package/dist/encode/sharp.d.ts +19 -0
- package/dist/encode/sharp.d.ts.map +1 -0
- package/dist/encode/sharp.js +57 -0
- package/dist/encode/sharp.js.map +1 -0
- package/dist/encode/warn.d.ts +10 -0
- package/dist/encode/warn.d.ts.map +1 -0
- package/dist/encode/warn.js +31 -0
- package/dist/encode/warn.js.map +1 -0
- package/dist/fonts/resolve.d.ts.map +1 -1
- package/dist/fonts/resolve.js +2 -8
- package/dist/fonts/resolve.js.map +1 -1
- package/dist/generate/index.d.ts +4 -0
- package/dist/generate/index.d.ts.map +1 -1
- package/dist/generate/index.js +10 -4
- package/dist/generate/index.js.map +1 -1
- package/dist/generate/options.d.ts +11 -1
- package/dist/generate/options.d.ts.map +1 -1
- package/dist/generate/options.js.map +1 -1
- package/dist/generate/output-path.d.ts +6 -2
- package/dist/generate/output-path.d.ts.map +1 -1
- package/dist/generate/output-path.js +7 -2
- package/dist/generate/output-path.js.map +1 -1
- package/dist/generate/plan.d.ts.map +1 -1
- package/dist/generate/plan.js +3 -3
- package/dist/generate/plan.js.map +1 -1
- package/dist/generate/render-image.d.ts +6 -0
- package/dist/generate/render-image.d.ts.map +1 -1
- package/dist/generate/render-image.js +14 -4
- package/dist/generate/render-image.js.map +1 -1
- package/dist/image/index.d.ts +3 -1
- package/dist/image/index.d.ts.map +1 -1
- package/dist/image/index.js +4 -3
- package/dist/image/index.js.map +1 -1
- package/dist/image/jpeg.d.ts +5 -4
- package/dist/image/jpeg.d.ts.map +1 -1
- package/dist/image/jpeg.js +13 -36
- package/dist/image/jpeg.js.map +1 -1
- package/dist/image/load.d.ts.map +1 -1
- package/dist/image/load.js +4 -15
- package/dist/image/load.js.map +1 -1
- package/dist/image/resolve.d.ts.map +1 -1
- package/dist/image/resolve.js +2 -8
- package/dist/image/resolve.js.map +1 -1
- package/dist/image/uri.d.ts.map +1 -1
- package/dist/image/uri.js +2 -3
- package/dist/image/uri.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/jpeg/index.d.ts +10 -0
- package/dist/jpeg/index.d.ts.map +1 -0
- package/dist/jpeg/index.js +2 -0
- package/dist/jpeg/index.js.map +1 -0
- package/dist/jpeg/segments.d.ts +32 -0
- package/dist/jpeg/segments.d.ts.map +1 -0
- package/dist/jpeg/segments.js +66 -0
- package/dist/jpeg/segments.js.map +1 -0
- package/dist/layout/draw.d.ts +20 -0
- package/dist/layout/draw.d.ts.map +1 -0
- package/dist/layout/draw.js +32 -0
- package/dist/layout/draw.js.map +1 -0
- package/dist/layout/extent.d.ts +19 -0
- package/dist/layout/extent.d.ts.map +1 -0
- package/dist/layout/extent.js +24 -0
- package/dist/layout/extent.js.map +1 -0
- package/dist/layout/index.d.ts +7 -4
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +5 -3
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/lines.d.ts +0 -17
- package/dist/layout/lines.d.ts.map +1 -1
- package/dist/layout/lines.js +2 -35
- package/dist/layout/lines.js.map +1 -1
- package/dist/measure/faces.d.ts.map +1 -1
- package/dist/measure/faces.js +8 -2
- package/dist/measure/faces.js.map +1 -1
- package/dist/meta/index.d.ts +1 -0
- package/dist/meta/index.d.ts.map +1 -1
- package/dist/meta/index.js +1 -0
- package/dist/meta/index.js.map +1 -1
- package/dist/meta/path.d.ts +24 -0
- package/dist/meta/path.d.ts.map +1 -0
- package/dist/meta/path.js +41 -0
- package/dist/meta/path.js.map +1 -0
- package/dist/meta/tags.d.ts.map +1 -1
- package/dist/meta/tags.js +6 -1
- package/dist/meta/tags.js.map +1 -1
- package/dist/placement/index.d.ts +7 -2
- package/dist/placement/index.d.ts.map +1 -1
- package/dist/placement/index.js +9 -3
- package/dist/placement/index.js.map +1 -1
- package/dist/placement/relative.d.ts +8 -3
- package/dist/placement/relative.d.ts.map +1 -1
- package/dist/placement/relative.js +12 -5
- package/dist/placement/relative.js.map +1 -1
- package/dist/platform/base64.d.ts +13 -0
- package/dist/platform/base64.d.ts.map +1 -0
- package/dist/platform/base64.js +35 -0
- package/dist/platform/base64.js.map +1 -0
- package/dist/platform/rasteriser.browser.d.ts +16 -0
- package/dist/platform/rasteriser.browser.d.ts.map +1 -0
- package/dist/platform/rasteriser.browser.js +20 -0
- package/dist/platform/rasteriser.browser.js.map +1 -0
- package/dist/platform/rasteriser.node.d.ts +2 -0
- package/dist/platform/rasteriser.node.d.ts.map +1 -0
- package/dist/platform/rasteriser.node.js +2 -0
- package/dist/platform/rasteriser.node.js.map +1 -0
- package/dist/platform/read-file.browser.d.ts +17 -0
- package/dist/platform/read-file.browser.d.ts.map +1 -0
- package/dist/platform/read-file.browser.js +23 -0
- package/dist/platform/read-file.browser.js.map +1 -0
- package/dist/platform/read-file.node.d.ts +19 -0
- package/dist/platform/read-file.node.d.ts.map +1 -0
- package/dist/platform/read-file.node.js +31 -0
- package/dist/platform/read-file.node.js.map +1 -0
- package/dist/png/chunk.d.ts +23 -0
- package/dist/png/chunk.d.ts.map +1 -0
- package/dist/png/chunk.js +48 -0
- package/dist/png/chunk.js.map +1 -0
- package/dist/png/index.d.ts +13 -0
- package/dist/png/index.d.ts.map +1 -0
- package/dist/png/index.js +3 -0
- package/dist/png/index.js.map +1 -0
- package/dist/png/recompress.d.ts +23 -0
- package/dist/png/recompress.d.ts.map +1 -0
- package/dist/png/recompress.js +81 -0
- package/dist/png/recompress.js.map +1 -0
- package/dist/props.d.ts +11 -0
- package/dist/props.d.ts.map +1 -1
- package/dist/props.js +16 -0
- package/dist/props.js.map +1 -1
- package/dist/render/image.d.ts +20 -0
- package/dist/render/image.d.ts.map +1 -0
- package/dist/render/image.js +29 -0
- package/dist/render/image.js.map +1 -0
- package/dist/render/index.d.ts +2 -1
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +5 -4
- package/dist/render/index.js.map +1 -1
- package/dist/render/png.d.ts +14 -4
- package/dist/render/png.d.ts.map +1 -1
- package/dist/render/png.js +22 -23
- package/dist/render/png.js.map +1 -1
- package/dist/render/rasterise.d.ts +15 -0
- package/dist/render/rasterise.d.ts.map +1 -0
- package/dist/render/rasterise.js +34 -0
- package/dist/render/rasterise.js.map +1 -0
- package/dist/render/svg.d.ts.map +1 -1
- package/dist/render/svg.js +1 -0
- package/dist/render/svg.js.map +1 -1
- package/dist/sign/base64url.d.ts +16 -0
- package/dist/sign/base64url.d.ts.map +1 -0
- package/dist/sign/base64url.js +24 -0
- package/dist/sign/base64url.js.map +1 -0
- package/dist/sign/index.d.ts +49 -0
- package/dist/sign/index.d.ts.map +1 -0
- package/dist/sign/index.js +133 -0
- package/dist/sign/index.js.map +1 -0
- package/dist/stamp/carrier/index.d.ts +7 -0
- package/dist/stamp/carrier/index.d.ts.map +1 -0
- package/dist/stamp/carrier/index.js +27 -0
- package/dist/stamp/carrier/index.js.map +1 -0
- package/dist/stamp/carrier/isobmff.d.ts +7 -0
- package/dist/stamp/carrier/isobmff.d.ts.map +1 -0
- package/dist/stamp/carrier/isobmff.js +55 -0
- package/dist/stamp/carrier/isobmff.js.map +1 -0
- package/dist/stamp/carrier/jpeg.d.ts +4 -0
- package/dist/stamp/carrier/jpeg.d.ts.map +1 -0
- package/dist/stamp/carrier/jpeg.js +76 -0
- package/dist/stamp/carrier/jpeg.js.map +1 -0
- package/dist/stamp/carrier/png.d.ts +7 -0
- package/dist/stamp/carrier/png.d.ts.map +1 -0
- package/dist/stamp/carrier/png.js +50 -0
- package/dist/stamp/carrier/png.js.map +1 -0
- package/dist/stamp/carrier/riff.d.ts +4 -0
- package/dist/stamp/carrier/riff.d.ts.map +1 -0
- package/dist/stamp/carrier/riff.js +54 -0
- package/dist/stamp/carrier/riff.js.map +1 -0
- package/dist/stamp/carrier/types.d.ts +25 -0
- package/dist/stamp/carrier/types.d.ts.map +1 -0
- package/dist/stamp/carrier/types.js +2 -0
- package/dist/stamp/carrier/types.js.map +1 -0
- package/dist/stamp/chunk.d.ts +0 -2
- package/dist/stamp/chunk.d.ts.map +1 -1
- package/dist/stamp/chunk.js +10 -18
- package/dist/stamp/chunk.js.map +1 -1
- package/dist/stamp/config-digest.d.ts +18 -0
- package/dist/stamp/config-digest.d.ts.map +1 -1
- package/dist/stamp/config-digest.js +24 -0
- package/dist/stamp/config-digest.js.map +1 -1
- package/dist/stamp/index.d.ts +2 -2
- package/dist/stamp/index.d.ts.map +1 -1
- package/dist/stamp/index.js +2 -2
- package/dist/stamp/index.js.map +1 -1
- package/dist/stamp/payload.d.ts +28 -0
- package/dist/stamp/payload.d.ts.map +1 -0
- package/dist/stamp/payload.js +42 -0
- package/dist/stamp/payload.js.map +1 -0
- package/dist/stamp/read.d.ts +5 -4
- package/dist/stamp/read.d.ts.map +1 -1
- package/dist/stamp/read.js +26 -43
- package/dist/stamp/read.js.map +1 -1
- package/dist/stamp/window.d.ts +11 -0
- package/dist/stamp/window.d.ts.map +1 -0
- package/dist/stamp/window.js +11 -0
- package/dist/stamp/window.js.map +1 -0
- package/dist/stamp/write.d.ts +21 -0
- package/dist/stamp/write.d.ts.map +1 -0
- package/dist/stamp/write.js +31 -0
- package/dist/stamp/write.js.map +1 -0
- package/dist/templates/article/bottom.d.ts +15 -0
- package/dist/templates/article/bottom.d.ts.map +1 -0
- package/dist/templates/article/bottom.js +61 -0
- package/dist/templates/article/bottom.js.map +1 -0
- package/dist/templates/article/index.d.ts +12 -0
- package/dist/templates/article/index.d.ts.map +1 -0
- package/dist/templates/article/index.js +42 -0
- package/dist/templates/article/index.js.map +1 -0
- package/dist/templates/article/lines.d.ts +27 -0
- package/dist/templates/article/lines.d.ts.map +1 -0
- package/dist/templates/article/lines.js +53 -0
- package/dist/templates/article/lines.js.map +1 -0
- package/dist/templates/article/tags.d.ts +25 -0
- package/dist/templates/article/tags.d.ts.map +1 -0
- package/dist/templates/article/tags.js +63 -0
- package/dist/templates/article/tags.js.map +1 -0
- package/dist/templates/attribution.d.ts +2 -6
- package/dist/templates/attribution.d.ts.map +1 -1
- package/dist/templates/attribution.js +8 -22
- package/dist/templates/attribution.js.map +1 -1
- package/dist/templates/banner/version.d.ts.map +1 -1
- package/dist/templates/banner/version.js +4 -4
- package/dist/templates/banner/version.js.map +1 -1
- package/dist/templates/bottom.d.ts +23 -0
- package/dist/templates/bottom.d.ts.map +1 -0
- package/dist/templates/bottom.js +37 -0
- package/dist/templates/bottom.js.map +1 -0
- package/dist/templates/byline.d.ts +19 -0
- package/dist/templates/byline.d.ts.map +1 -0
- package/dist/templates/byline.js +45 -0
- package/dist/templates/byline.js.map +1 -0
- package/dist/templates/code/clip.js +1 -1
- package/dist/templates/code/clip.js.map +1 -1
- package/dist/templates/code/fit.js +1 -1
- package/dist/templates/code/fit.js.map +1 -1
- package/dist/templates/code/warn.d.ts +1 -1
- package/dist/templates/code/warn.d.ts.map +1 -1
- package/dist/templates/code/warn.js +2 -2
- package/dist/templates/code/warn.js.map +1 -1
- package/dist/templates/docs/chrome.d.ts +17 -0
- package/dist/templates/docs/chrome.d.ts.map +1 -0
- package/dist/templates/docs/chrome.js +44 -0
- package/dist/templates/docs/chrome.js.map +1 -0
- package/dist/templates/docs/crumbs.d.ts +14 -0
- package/dist/templates/docs/crumbs.d.ts.map +1 -0
- package/dist/templates/docs/crumbs.js +32 -0
- package/dist/templates/docs/crumbs.js.map +1 -0
- package/dist/templates/docs/index.d.ts +13 -0
- package/dist/templates/docs/index.d.ts.map +1 -0
- package/dist/templates/docs/index.js +47 -0
- package/dist/templates/docs/index.js.map +1 -0
- package/dist/templates/docs/lines.d.ts +14 -0
- package/dist/templates/docs/lines.d.ts.map +1 -0
- package/dist/templates/docs/lines.js +29 -0
- package/dist/templates/docs/lines.js.map +1 -0
- package/dist/templates/event/index.d.ts +12 -0
- package/dist/templates/event/index.d.ts.map +1 -0
- package/dist/templates/event/index.js +59 -0
- package/dist/templates/event/index.js.map +1 -0
- package/dist/templates/event/lines.d.ts +14 -0
- package/dist/templates/event/lines.d.ts.map +1 -0
- package/dist/templates/event/lines.js +29 -0
- package/dist/templates/event/lines.js.map +1 -0
- package/dist/templates/event/plate.d.ts +16 -0
- package/dist/templates/event/plate.d.ts.map +1 -0
- package/dist/templates/event/plate.js +36 -0
- package/dist/templates/event/plate.js.map +1 -0
- package/dist/templates/frame.d.ts +68 -0
- package/dist/templates/frame.d.ts.map +1 -0
- package/dist/templates/frame.js +63 -0
- package/dist/templates/frame.js.map +1 -0
- package/dist/templates/index.d.ts +9 -0
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +27 -0
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/photo/index.d.ts +17 -0
- package/dist/templates/photo/index.d.ts.map +1 -0
- package/dist/templates/photo/index.js +51 -0
- package/dist/templates/photo/index.js.map +1 -0
- package/dist/templates/photo/lines.d.ts +21 -0
- package/dist/templates/photo/lines.d.ts.map +1 -0
- package/dist/templates/photo/lines.js +36 -0
- package/dist/templates/photo/lines.js.map +1 -0
- package/dist/templates/pill.d.ts +33 -0
- package/dist/templates/pill.d.ts.map +1 -0
- package/dist/templates/pill.js +50 -0
- package/dist/templates/pill.js.map +1 -0
- package/dist/templates/portrait.d.ts +40 -0
- package/dist/templates/portrait.d.ts.map +1 -0
- package/dist/templates/portrait.js +56 -0
- package/dist/templates/portrait.js.map +1 -0
- package/dist/templates/quote/index.d.ts +11 -0
- package/dist/templates/quote/index.d.ts.map +1 -0
- package/dist/templates/quote/index.js +60 -0
- package/dist/templates/quote/index.js.map +1 -0
- package/dist/templates/quote/lines.d.ts +24 -0
- package/dist/templates/quote/lines.d.ts.map +1 -0
- package/dist/templates/quote/lines.js +35 -0
- package/dist/templates/quote/lines.js.map +1 -0
- package/dist/templates/quote/mark.d.ts +13 -0
- package/dist/templates/quote/mark.d.ts.map +1 -0
- package/dist/templates/quote/mark.js +39 -0
- package/dist/templates/quote/mark.js.map +1 -0
- package/dist/templates/quote/speaker.d.ts +18 -0
- package/dist/templates/quote/speaker.d.ts.map +1 -0
- package/dist/templates/quote/speaker.js +41 -0
- package/dist/templates/quote/speaker.js.map +1 -0
- package/dist/templates/release/block.d.ts +8 -0
- package/dist/templates/release/block.d.ts.map +1 -0
- package/dist/templates/release/block.js +16 -0
- package/dist/templates/release/block.js.map +1 -0
- package/dist/templates/release/changes.d.ts +23 -0
- package/dist/templates/release/changes.d.ts.map +1 -0
- package/dist/templates/release/changes.js +45 -0
- package/dist/templates/release/changes.js.map +1 -0
- package/dist/templates/release/index.d.ts +11 -0
- package/dist/templates/release/index.d.ts.map +1 -0
- package/dist/templates/release/index.js +55 -0
- package/dist/templates/release/index.js.map +1 -0
- package/dist/templates/release/lines.d.ts +21 -0
- package/dist/templates/release/lines.d.ts.map +1 -0
- package/dist/templates/release/lines.js +36 -0
- package/dist/templates/release/lines.js.map +1 -0
- package/dist/templates/stat/index.d.ts +11 -0
- package/dist/templates/stat/index.d.ts.map +1 -0
- package/dist/templates/stat/index.js +43 -0
- package/dist/templates/stat/index.js.map +1 -0
- package/dist/templates/stat/lines.d.ts +23 -0
- package/dist/templates/stat/lines.d.ts.map +1 -0
- package/dist/templates/stat/lines.js +47 -0
- package/dist/templates/stat/lines.js.map +1 -0
- package/dist/templates/terminal/index.d.ts +16 -0
- package/dist/templates/terminal/index.d.ts.map +1 -0
- package/dist/templates/terminal/index.js +62 -0
- package/dist/templates/terminal/index.js.map +1 -0
- package/dist/templates/terminal/session.d.ts +17 -0
- package/dist/templates/terminal/session.d.ts.map +1 -0
- package/dist/templates/terminal/session.js +86 -0
- package/dist/templates/terminal/session.js.map +1 -0
- package/dist/templates/terminal/window.d.ts +14 -0
- package/dist/templates/terminal/window.d.ts.map +1 -0
- package/dist/templates/terminal/window.js +84 -0
- package/dist/templates/terminal/window.js.map +1 -0
- package/dist/templates/version.d.ts +16 -0
- package/dist/templates/version.d.ts.map +1 -0
- package/dist/templates/version.js +23 -0
- package/dist/templates/version.js.map +1 -0
- package/dist/templates/wordmark/index.d.ts +13 -0
- package/dist/templates/wordmark/index.d.ts.map +1 -0
- package/dist/templates/wordmark/index.js +53 -0
- package/dist/templates/wordmark/index.js.map +1 -0
- package/dist/templates/wordmark/lines.d.ts +22 -0
- package/dist/templates/wordmark/lines.d.ts.map +1 -0
- package/dist/templates/wordmark/lines.js +61 -0
- package/dist/templates/wordmark/lines.js.map +1 -0
- package/dist/templates/wordmark/mark.d.ts +16 -0
- package/dist/templates/wordmark/mark.d.ts.map +1 -0
- package/dist/templates/wordmark/mark.js +30 -0
- package/dist/templates/wordmark/mark.js.map +1 -0
- package/dist/text/clamp.d.ts +12 -0
- package/dist/text/clamp.d.ts.map +1 -0
- package/dist/text/clamp.js +41 -0
- package/dist/text/clamp.js.map +1 -0
- package/dist/text/ellipsis.d.ts +3 -0
- package/dist/text/ellipsis.d.ts.map +1 -0
- package/dist/text/ellipsis.js +3 -0
- package/dist/text/ellipsis.js.map +1 -0
- package/dist/text/index.d.ts +2 -0
- package/dist/text/index.d.ts.map +1 -1
- package/dist/text/index.js +2 -0
- package/dist/text/index.js.map +1 -1
- package/dist/types.d.ts +158 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/validate/collect.d.ts.map +1 -1
- package/dist/validate/collect.js +2 -1
- package/dist/validate/collect.js.map +1 -1
- package/dist/validate/keys.d.ts +6 -0
- package/dist/validate/keys.d.ts.map +1 -1
- package/dist/validate/keys.js +17 -0
- package/dist/validate/keys.js.map +1 -1
- package/dist/validate/values.d.ts +6 -0
- package/dist/validate/values.d.ts.map +1 -1
- package/dist/validate/values.js +12 -1
- package/dist/validate/values.js.map +1 -1
- package/package.json +16 -2
- package/dist/background.d.ts +0 -13
- package/dist/background.d.ts.map +0 -1
- package/dist/background.js +0 -65
- package/dist/background.js.map +0 -1
- package/dist/cli/args.d.ts +0 -14
- package/dist/cli/args.d.ts.map +0 -1
- package/dist/cli/args.js +0 -67
- package/dist/cli/args.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -102
- package/dist/cli.js.map +0 -1
- package/dist/config.d.ts +0 -95
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -208
- package/dist/config.js.map +0 -1
- package/dist/fonts.d.ts +0 -18
- package/dist/fonts.d.ts.map +0 -1
- package/dist/fonts.js +0 -102
- package/dist/fonts.js.map +0 -1
- package/dist/generate.d.ts +0 -63
- package/dist/generate.d.ts.map +0 -1
- package/dist/generate.js +0 -109
- package/dist/generate.js.map +0 -1
- package/dist/highlight.d.ts +0 -75
- package/dist/highlight.d.ts.map +0 -1
- package/dist/highlight.js +0 -137
- package/dist/highlight.js.map +0 -1
- package/dist/render.d.ts +0 -24
- package/dist/render.d.ts.map +0 -1
- package/dist/render.js +0 -77
- package/dist/render.js.map +0 -1
- package/dist/stamp.d.ts +0 -29
- package/dist/stamp.d.ts.map +0 -1
- package/dist/stamp.js +0 -198
- package/dist/stamp.js.map +0 -1
- package/dist/templates/banner.d.ts +0 -9
- package/dist/templates/banner.d.ts.map +0 -1
- package/dist/templates/banner.js +0 -115
- package/dist/templates/banner.js.map +0 -1
- package/dist/templates/card.d.ts +0 -7
- package/dist/templates/card.d.ts.map +0 -1
- package/dist/templates/card.js +0 -72
- package/dist/templates/card.js.map +0 -1
- package/dist/templates/code.d.ts +0 -12
- package/dist/templates/code.d.ts.map +0 -1
- package/dist/templates/code.js +0 -275
- package/dist/templates/code.js.map +0 -1
- package/dist/templates/measure.d.ts +0 -11
- package/dist/templates/measure.d.ts.map +0 -1
- package/dist/templates/measure.js +0 -11
- package/dist/templates/measure.js.map +0 -1
- package/dist/templates/props.d.ts +0 -7
- package/dist/templates/props.d.ts.map +0 -1
- package/dist/templates/props.js +0 -17
- package/dist/templates/props.js.map +0 -1
- package/dist/templates/text.d.ts +0 -37
- package/dist/templates/text.d.ts.map +0 -1
- package/dist/templates/text.js +0 -26
- package/dist/templates/text.js.map +0 -1
- package/dist/text/stack.d.ts +0 -24
- package/dist/text/stack.d.ts.map +0 -1
- package/dist/text/stack.js +0 -18
- package/dist/text/stack.js.map +0 -1
- package/dist/text.d.ts +0 -56
- package/dist/text.d.ts.map +0 -1
- package/dist/text.js +0 -78
- package/dist/text.js.map +0 -1
- package/dist/validate/sizes.d.ts +0 -9
- package/dist/validate/sizes.d.ts.map +0 -1
- package/dist/validate/sizes.js +0 -27
- package/dist/validate/sizes.js.map +0 -1
- package/dist/validate.d.ts +0 -15
- package/dist/validate.d.ts.map +0 -1
- package/dist/validate.js +0 -300
- package/dist/validate.js.map +0 -1
package/dist/layout/index.d.ts
CHANGED
|
@@ -30,11 +30,14 @@ export type { StackedRect } from "./stack.js";
|
|
|
30
30
|
export type { Align, BoxStyle, Extent, Placed, Rect, Span } from "./types.js";
|
|
31
31
|
export { blockLines } from "./block.js";
|
|
32
32
|
export type { StyledBlock, TextBlock, TextLine } from "./block.js";
|
|
33
|
-
export {
|
|
34
|
-
export
|
|
33
|
+
export { lineExtents, linesHeight } from "./extent.js";
|
|
34
|
+
export { drawLines } from "./draw.js";
|
|
35
|
+
export type { LinesStyle } from "./draw.js";
|
|
36
|
+
export { baselineFor, placeLines } from "./lines.js";
|
|
37
|
+
export type { PlacedLine } from "./lines.js";
|
|
35
38
|
export { measureIn } from "./measure.js";
|
|
36
|
-
export { optionalString } from "../props.js";
|
|
37
|
-
export { escapeXml, fitText, textElement, wrapText } from "../text/index.js";
|
|
39
|
+
export { optionalString, stringList } from "../props.js";
|
|
40
|
+
export { clampLine, escapeXml, fitText, textElement, wrapText, } from "../text/index.js";
|
|
38
41
|
export type { FitOptions, FittedText, MeasureAt, MeasureLine, TextAttributes, } from "../text/index.js";
|
|
39
42
|
export type { Dimensions, MeasureText, MetaImageProps, ResolvedConfig, Template, TemplateContext, TextStyle, } from "../types.js";
|
|
40
43
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,SAAS,EACT,SAAS,EACT,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,QAAQ,EACR,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC"}
|
package/dist/layout/index.js
CHANGED
|
@@ -23,8 +23,10 @@ export { row } from "./row.js";
|
|
|
23
23
|
export { scrim } from "./scrim.js";
|
|
24
24
|
export { stack } from "./stack.js";
|
|
25
25
|
export { blockLines } from "./block.js";
|
|
26
|
-
export {
|
|
26
|
+
export { lineExtents, linesHeight } from "./extent.js";
|
|
27
|
+
export { drawLines } from "./draw.js";
|
|
28
|
+
export { baselineFor, placeLines } from "./lines.js";
|
|
27
29
|
export { measureIn } from "./measure.js";
|
|
28
|
-
export { optionalString } from "../props.js";
|
|
29
|
-
export { escapeXml, fitText, textElement, wrapText } from "../text/index.js";
|
|
30
|
+
export { optionalString, stringList } from "../props.js";
|
|
31
|
+
export { clampLine, escapeXml, fitText, textElement, wrapText, } from "../text/index.js";
|
|
30
32
|
//# sourceMappingURL=index.js.map
|
package/dist/layout/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,SAAS,EACT,SAAS,EACT,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,kBAAkB,CAAC"}
|
package/dist/layout/lines.d.ts
CHANGED
|
@@ -11,17 +11,6 @@ import type { Align, Rect } from "./types.js";
|
|
|
11
11
|
* room above it.
|
|
12
12
|
*/
|
|
13
13
|
export declare function baselineFor(top: number, fontSize: number): number;
|
|
14
|
-
/** How a block of lines is drawn: the font, the fill, and where it sits. */
|
|
15
|
-
export interface LinesStyle {
|
|
16
|
-
readonly fontFamily: string;
|
|
17
|
-
readonly fill: string;
|
|
18
|
-
/** Multiplier on each line's font size. Defaults to `1.2`. */
|
|
19
|
-
readonly lineHeight?: number;
|
|
20
|
-
/** Horizontal anchor. `middle` centres each line in the area. */
|
|
21
|
-
readonly anchor?: "start" | "middle" | "end";
|
|
22
|
-
/** Where the block sits vertically in the area. Defaults to `centre`. */
|
|
23
|
-
readonly align?: Align;
|
|
24
|
-
}
|
|
25
14
|
/** A line with its computed text baseline. */
|
|
26
15
|
export interface PlacedLine {
|
|
27
16
|
readonly y: number;
|
|
@@ -36,10 +25,4 @@ export interface PlacedLine {
|
|
|
36
25
|
* overflowed wants to see it.
|
|
37
26
|
*/
|
|
38
27
|
export declare function placeLines(lines: readonly TextLine[], area: Rect, lineHeight?: number, align?: Align): readonly PlacedLine[];
|
|
39
|
-
/**
|
|
40
|
-
* Draw a block of lines within an area: place them, then write the `<text>`
|
|
41
|
-
* elements. Once a template has fitted its words, this is the whole of what it
|
|
42
|
-
* does with them.
|
|
43
|
-
*/
|
|
44
|
-
export declare function drawLines(lines: readonly TextLine[], area: Rect, style: LinesStyle): string;
|
|
45
28
|
//# sourceMappingURL=lines.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lines.d.ts","sourceRoot":"","sources":["../../src/layout/lines.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lines.d.ts","sourceRoot":"","sources":["../../src/layout/lines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAU9C;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,8CAA8C;AAC9C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,IAAI,EAAE,IAAI,EACV,UAAU,SAAoB,EAC9B,KAAK,GAAE,KAAgB,GACtB,SAAS,UAAU,EAAE,CAWvB"}
|
package/dist/layout/lines.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { textElement } from "../text/index.js";
|
|
2
1
|
import { distribute } from "./distribute.js";
|
|
3
|
-
|
|
4
|
-
const defaultLineHeight = 1.2;
|
|
2
|
+
import { defaultLineHeight, lineExtents } from "./extent.js";
|
|
5
3
|
/**
|
|
6
4
|
* Where the baseline sits within a line's advance. A face puts its ascenders
|
|
7
5
|
* around here, and taking it as a fraction of the size rather than as a metric
|
|
@@ -31,41 +29,10 @@ export function baselineFor(top, fontSize) {
|
|
|
31
29
|
* overflowed wants to see it.
|
|
32
30
|
*/
|
|
33
31
|
export function placeLines(lines, area, lineHeight = defaultLineHeight, align = "centre") {
|
|
34
|
-
const placed = distribute(lines
|
|
35
|
-
size: line.fontSize * lineHeight,
|
|
36
|
-
...(line.gapBefore !== undefined && { gapBefore: line.gapBefore }),
|
|
37
|
-
})), { start: area.y, end: area.y + area.height }, align);
|
|
32
|
+
const placed = distribute(lineExtents(lines, lineHeight), { start: area.y, end: area.y + area.height }, align);
|
|
38
33
|
return placed.map((placement, index) => ({
|
|
39
34
|
y: baselineFor(placement.start, lines[index]?.fontSize ?? 0),
|
|
40
35
|
index,
|
|
41
36
|
}));
|
|
42
37
|
}
|
|
43
|
-
/** The x a line is drawn from, which the anchor decides. */
|
|
44
|
-
function anchorX(area, anchor) {
|
|
45
|
-
if (anchor === "middle") {
|
|
46
|
-
return Math.round(area.x + area.width / 2);
|
|
47
|
-
}
|
|
48
|
-
return anchor === "end" ? area.x + area.width : area.x;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Draw a block of lines within an area: place them, then write the `<text>`
|
|
52
|
-
* elements. Once a template has fitted its words, this is the whole of what it
|
|
53
|
-
* does with them.
|
|
54
|
-
*/
|
|
55
|
-
export function drawLines(lines, area, style) {
|
|
56
|
-
const placed = placeLines(lines, area, style.lineHeight ?? defaultLineHeight, style.align ?? "centre");
|
|
57
|
-
const x = anchorX(area, style.anchor);
|
|
58
|
-
return lines
|
|
59
|
-
.map((line, index) => textElement(line.text, {
|
|
60
|
-
x,
|
|
61
|
-
y: placed[index]?.y ?? area.y,
|
|
62
|
-
fontFamily: style.fontFamily,
|
|
63
|
-
fontSize: line.fontSize,
|
|
64
|
-
fontWeight: line.fontWeight,
|
|
65
|
-
fill: style.fill,
|
|
66
|
-
fillOpacity: line.opacity,
|
|
67
|
-
...(style.anchor !== undefined && { anchor: style.anchor }),
|
|
68
|
-
}))
|
|
69
|
-
.join("");
|
|
70
|
-
}
|
|
71
38
|
//# sourceMappingURL=lines.js.map
|
package/dist/layout/lines.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lines.js","sourceRoot":"","sources":["../../src/layout/lines.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lines.js","sourceRoot":"","sources":["../../src/layout/lines.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG7D;;;;;GAKG;AACH,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,QAAgB;IACvD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,GAAG,aAAa,CAAC,CAAC;AACpD,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,KAA0B,EAC1B,IAAU,EACV,UAAU,GAAG,iBAAiB,EAC9B,KAAK,GAAU,QAAQ;IAEvB,MAAM,MAAM,GAAG,UAAU,CACvB,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAC9B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAC5C,KAAK,CACN,CAAC;IAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;QAC5D,KAAK;KACN,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faces.d.ts","sourceRoot":"","sources":["../../src/measure/faces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"faces.d.ts","sourceRoot":"","sources":["../../src/measure/faces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAIpC,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AA2FD,+EAA+E;AAC/E,wBAAsB,SAAS,CAC7B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAM1B"}
|
package/dist/measure/faces.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { create
|
|
1
|
+
import { create } from "fontkit";
|
|
2
|
+
import { readFileBytes } from "../platform/read-file.node.js";
|
|
2
3
|
/**
|
|
3
4
|
* Parsed faces, keyed by the font file's path. A build renders many images
|
|
4
5
|
* from one config, so without this every image would parse every font again.
|
|
@@ -42,7 +43,12 @@ function facesOf(loaded) {
|
|
|
42
43
|
*/
|
|
43
44
|
async function load(font, onWarning) {
|
|
44
45
|
try {
|
|
45
|
-
|
|
46
|
+
// `fontkit.open` reads the path itself, which would be a second way into
|
|
47
|
+
// the filesystem. Reading the bytes first leaves one.
|
|
48
|
+
const bytes = "data" in font ? font.data : await readFileBytes(font.path);
|
|
49
|
+
// A plain `Uint8Array`, not a `Buffer`: fontkit reads either, and `Buffer`
|
|
50
|
+
// is Node's, which this has to run without.
|
|
51
|
+
return facesOf(create(bytes));
|
|
46
52
|
}
|
|
47
53
|
catch (error) {
|
|
48
54
|
const name = "data" in font ? (font.family ?? "font data") : font.path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faces.js","sourceRoot":"","sources":["../../src/measure/faces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"faces.js","sourceRoot":"","sources":["../../src/measure/faces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAc9D;;;GAGG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,GAAG,IAAI,OAAO,EAAwC,CAAC;AAEnE;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,IAAU;IACxB,MAAM,QAAQ,GAAG,IAKhB,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,IAAI,GAAG;QAC9C,IAAI;KACL,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,OAAO,CAAC,MAAyC;IACxD,OAAO,OAAO,IAAI,MAAM;QACtB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,IAAI,CACjB,IAAgB,EAChB,SAAyB;IAEzB,IAAI,CAAC;QACH,yEAAyE;QACzE,sDAAsD;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1E,2EAA2E;QAC3E,4CAA4C;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAqC,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvE,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,SAAS,CACP,kBAAkB,IAAI,+CAA+C;YACnE,oCAAoC,MAAM,EAAE,CAC/C,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CACb,IAAgB,EAChB,SAAyB;IAEzB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAA4B,EAC5B,SAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CACnD,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC"}
|
package/dist/meta/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* should not load a rasteriser and a syntax highlighter to write a `<head>`.
|
|
7
7
|
*/
|
|
8
8
|
export { metaTagsHtml } from "./html.js";
|
|
9
|
+
export { metaTagsForPath, slugCandidates } from "./path.js";
|
|
9
10
|
export { metaTags } from "./tags.js";
|
|
10
11
|
export { absoluteUrl } from "./url.js";
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/meta/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/meta/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/meta/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/meta/index.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* should not load a rasteriser and a syntax highlighter to write a `<head>`.
|
|
7
7
|
*/
|
|
8
8
|
export { metaTagsHtml } from "./html.js";
|
|
9
|
+
export { metaTagsForPath, slugCandidates } from "./path.js";
|
|
9
10
|
export { metaTags } from "./tags.js";
|
|
10
11
|
export { absoluteUrl } from "./url.js";
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/dist/meta/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/meta/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/meta/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Manifest, MetaTag, MetaTagOptions } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The manifest keys a URL path might be under, likeliest first.
|
|
4
|
+
*
|
|
5
|
+
* A framework that renders routes knows the path it is rendering and not the
|
|
6
|
+
* content file behind it, so the key has to be worked back out of the address.
|
|
7
|
+
* Which key a build wrote depends on its `slugStrategy`: `route` gives the
|
|
8
|
+
* path itself, and `basename` gives only the last segment. Both are tried, more
|
|
9
|
+
* specific first, so one call covers either without being told which was used.
|
|
10
|
+
*
|
|
11
|
+
* The site root is `index`, which is what `slugFromPath` calls a root-level
|
|
12
|
+
* `index.*` for the same reason: there is no directory name to fall back on.
|
|
13
|
+
*/
|
|
14
|
+
export declare function slugCandidates(pathname: string): readonly string[];
|
|
15
|
+
/**
|
|
16
|
+
* The social meta tags for the page at a URL path, rather than for a slug.
|
|
17
|
+
*
|
|
18
|
+
* This is {@link metaTags} for a site that has a route and needs the key,
|
|
19
|
+
* which is every framework that renders pages from URLs. A path no key matches
|
|
20
|
+
* gets no tags, exactly as an unknown slug does: not every page has a share
|
|
21
|
+
* image, and a layout emitting tags cannot know which in advance.
|
|
22
|
+
*/
|
|
23
|
+
export declare function metaTagsForPath(manifest: Manifest, pathname: string, options?: MetaTagOptions): readonly MetaTag[];
|
|
24
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/meta/path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGrE;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAUlE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,SAAS,OAAO,EAAE,CAWpB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { metaTags } from "./tags.js";
|
|
2
|
+
/**
|
|
3
|
+
* The manifest keys a URL path might be under, likeliest first.
|
|
4
|
+
*
|
|
5
|
+
* A framework that renders routes knows the path it is rendering and not the
|
|
6
|
+
* content file behind it, so the key has to be worked back out of the address.
|
|
7
|
+
* Which key a build wrote depends on its `slugStrategy`: `route` gives the
|
|
8
|
+
* path itself, and `basename` gives only the last segment. Both are tried, more
|
|
9
|
+
* specific first, so one call covers either without being told which was used.
|
|
10
|
+
*
|
|
11
|
+
* The site root is `index`, which is what `slugFromPath` calls a root-level
|
|
12
|
+
* `index.*` for the same reason: there is no directory name to fall back on.
|
|
13
|
+
*/
|
|
14
|
+
export function slugCandidates(pathname) {
|
|
15
|
+
const trimmed = pathname.replaceAll(/^\/+|\/+$/g, "");
|
|
16
|
+
if (trimmed === "") {
|
|
17
|
+
return ["index"];
|
|
18
|
+
}
|
|
19
|
+
const last = trimmed.slice(trimmed.lastIndexOf("/") + 1);
|
|
20
|
+
return last === trimmed ? [trimmed] : [trimmed, last];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The social meta tags for the page at a URL path, rather than for a slug.
|
|
24
|
+
*
|
|
25
|
+
* This is {@link metaTags} for a site that has a route and needs the key,
|
|
26
|
+
* which is every framework that renders pages from URLs. A path no key matches
|
|
27
|
+
* gets no tags, exactly as an unknown slug does: not every page has a share
|
|
28
|
+
* image, and a layout emitting tags cannot know which in advance.
|
|
29
|
+
*/
|
|
30
|
+
export function metaTagsForPath(manifest, pathname, options) {
|
|
31
|
+
for (const slug of slugCandidates(pathname)) {
|
|
32
|
+
// Own keys only. A manifest is parsed JSON, so it inherits `toString` and
|
|
33
|
+
// the rest of `Object.prototype`, and a plain lookup would take a page at
|
|
34
|
+
// `/toString` for a hit and then fail on it.
|
|
35
|
+
if (Object.hasOwn(manifest.pages, slug)) {
|
|
36
|
+
return metaTags(manifest, slug, options);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/meta/path.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAkB,EAClB,QAAgB,EAChB,OAAwB;IAExB,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,0EAA0E;QAC1E,0EAA0E;QAC1E,6CAA6C;QAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/meta/tags.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/meta/tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAGR,OAAO,EACP,cAAc,EACf,MAAM,aAAa,CAAC;AA4CrB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,GACvB,SAAS,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/meta/tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAGR,OAAO,EACP,cAAc,EACf,MAAM,aAAa,CAAC;AA4CrB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,GACvB,SAAS,OAAO,EAAE,CAgCpB"}
|
package/dist/meta/tags.js
CHANGED
|
@@ -45,7 +45,12 @@ function imageUrl(slug, image, options) {
|
|
|
45
45
|
* the reason for carrying it this far.
|
|
46
46
|
*/
|
|
47
47
|
export function metaTags(manifest, slug, options) {
|
|
48
|
-
|
|
48
|
+
// An own key, not merely a readable one: a manifest is parsed JSON, so it
|
|
49
|
+
// inherits `Object.prototype`, and a page slugged `toString` would otherwise
|
|
50
|
+
// look present and then fail as though the manifest were malformed.
|
|
51
|
+
const page = Object.hasOwn(manifest.pages, slug)
|
|
52
|
+
? manifest.pages[slug]
|
|
53
|
+
: undefined;
|
|
49
54
|
if (page === undefined) {
|
|
50
55
|
return [];
|
|
51
56
|
}
|
package/dist/meta/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/meta/tags.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,uEAAuE;AACvE,SAAS,WAAW,CAAC,IAAY,EAAE,IAAkB;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,YAAY,IAAI,CAAC,MAAM,iBAAiB;YAChE,uCAAuC,CAC1C,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0EAA0E;AAC1E,SAAS,QAAQ,CACf,IAAY,EACZ,KAAoB,EACpB,OAAmC;IAEnC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,mCAAmC;YACrE,iEAAiE,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAkB,EAClB,IAAY,EACZ,OAAwB;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/meta/tags.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,uEAAuE;AACvE,SAAS,WAAW,CAAC,IAAY,EAAE,IAAkB;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,YAAY,IAAI,CAAC,MAAM,iBAAiB;YAChE,uCAAuC,CAC1C,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0EAA0E;AAC1E,SAAS,QAAQ,CACf,IAAY,EACZ,KAAoB,EACpB,OAAmC;IAEnC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,mCAAmC;YACrE,iEAAiE,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAkB,EAClB,IAAY,EACZ,OAAwB;IAExB,0EAA0E;IAC1E,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;QAC9C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC;IAE7D,OAAO;QACL,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;QACtC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC5D,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;SACrD;QACD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE;QACvC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContentFile, OutputSize, Placement } from "../types.js";
|
|
1
|
+
import type { ContentFile, OutputFormat, OutputSize, Placement } from "../types.js";
|
|
2
2
|
export { besideContent, imageName } from "./relative.js";
|
|
3
3
|
/**
|
|
4
4
|
* Where one image ends up: the path its bytes are written to, and the URL it
|
|
@@ -24,6 +24,11 @@ export type Placer = (file: ContentFile, size: OutputSize, stamp: string) => Pla
|
|
|
24
24
|
* which is the page-bundle convention, and `public-dir` drops them so that a
|
|
25
25
|
* flat directory can be served as one. Either way the same relative path
|
|
26
26
|
* makes the disk path and the URL, so the two cannot drift apart.
|
|
27
|
+
*
|
|
28
|
+
* `format` is what the two name-building strategies end a filename with. It
|
|
29
|
+
* defaults to PNG for a caller placing images without having resolved a config,
|
|
30
|
+
* which is the only way there is to be holding a placement and not a format.
|
|
31
|
+
* A `custom` placement builds its own names and is not told.
|
|
27
32
|
*/
|
|
28
|
-
export declare function createPlacer(placement: Placement | undefined, contentDir: string): Placer;
|
|
33
|
+
export declare function createPlacer(placement: Placement | undefined, contentDir: string, format?: OutputFormat): Placer;
|
|
29
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/placement/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/placement/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG,CACnB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,KACV,WAAW,CAAC;AAyBjB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,YAA6B,GACpC,MAAM,CA4CR"}
|
package/dist/placement/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
import { DEFAULT_FORMAT } from "../config/defaults.js";
|
|
2
3
|
import { assertPlacement } from "./check.js";
|
|
3
4
|
import { besideContent, imageName } from "./relative.js";
|
|
4
5
|
export { besideContent, imageName } from "./relative.js";
|
|
@@ -27,8 +28,13 @@ function under(root, relative) {
|
|
|
27
28
|
* which is the page-bundle convention, and `public-dir` drops them so that a
|
|
28
29
|
* flat directory can be served as one. Either way the same relative path
|
|
29
30
|
* makes the disk path and the URL, so the two cannot drift apart.
|
|
31
|
+
*
|
|
32
|
+
* `format` is what the two name-building strategies end a filename with. It
|
|
33
|
+
* defaults to PNG for a caller placing images without having resolved a config,
|
|
34
|
+
* which is the only way there is to be holding a placement and not a format.
|
|
35
|
+
* A `custom` placement builds its own names and is not told.
|
|
30
36
|
*/
|
|
31
|
-
export function createPlacer(placement, contentDir) {
|
|
37
|
+
export function createPlacer(placement, contentDir, format = DEFAULT_FORMAT) {
|
|
32
38
|
if (placement !== undefined) {
|
|
33
39
|
assertPlacement(placement);
|
|
34
40
|
}
|
|
@@ -36,7 +42,7 @@ export function createPlacer(placement, contentDir) {
|
|
|
36
42
|
const urlBase = placement?.urlBase;
|
|
37
43
|
const isHashes = placement?.hash === true;
|
|
38
44
|
return (file, size, stamp) => {
|
|
39
|
-
const relative = besideContent(file, size, isHashes ? stamp : undefined);
|
|
45
|
+
const relative = besideContent(file, size, isHashes ? stamp : undefined, format);
|
|
40
46
|
return {
|
|
41
47
|
path: under(contentDir, relative),
|
|
42
48
|
url: toUrl(urlBase, relative),
|
|
@@ -46,7 +52,7 @@ export function createPlacer(placement, contentDir) {
|
|
|
46
52
|
if (placement.strategy === "public-dir") {
|
|
47
53
|
const isHashes = placement.hash === true;
|
|
48
54
|
return (file, size, stamp) => {
|
|
49
|
-
const relative = imageName(file, size, isHashes ? stamp : undefined);
|
|
55
|
+
const relative = imageName(file, size, isHashes ? stamp : undefined, format);
|
|
50
56
|
return {
|
|
51
57
|
path: under(placement.dir, relative),
|
|
52
58
|
url: toUrl(placement.urlBase, relative),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/placement/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/placement/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOvD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAwBzD;;;;;;GAMG;AACH,SAAS,KAAK,CACZ,OAA2B,EAC3B,QAAgB;IAEhB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,sEAAsE;AACtE,SAAS,KAAK,CAAC,IAAY,EAAE,QAAgB;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAgC,EAChC,UAAkB,EAClB,MAAM,GAAiB,cAAc;IAErC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC;QAE1C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,aAAa,CAC5B,IAAI,EACJ,IAAI,EACJ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC5B,MAAM,CACP,CAAC;YACF,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACjC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC9B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC;QAEzC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,SAAS,CACxB,IAAI,EACJ,IAAI,EACJ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC5B,MAAM,CACP,CAAC;YACF,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;gBACpC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;aACxC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAChC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import type { ContentFile, OutputSize } from "../types.js";
|
|
1
|
+
import type { ContentFile, OutputFormat, OutputSize } from "../types.js";
|
|
2
2
|
/**
|
|
3
3
|
* The filename one image is written under: `<slug>-<size>.png`, or
|
|
4
4
|
* `<slug>-<size>.<hash>.png` where the placement asks for a hash. The slug
|
|
5
5
|
* carries the post's keywords, and the size name keeps every image of a post
|
|
6
6
|
* distinct (`my-post-og.png`, `my-post-square.png`).
|
|
7
7
|
*
|
|
8
|
+
* The extension follows `config.format`, so a build writing WebP writes
|
|
9
|
+
* `my-post-og.webp`. Changing the format therefore renames every image, and
|
|
10
|
+
* leaves the ones already written where they are: nothing here knows whether
|
|
11
|
+
* something is still serving them.
|
|
12
|
+
*
|
|
8
13
|
* A slug carrying directories of its own puts them in the name, so the image's
|
|
9
14
|
* path mirrors the route wherever it is placed. That is what the `route`
|
|
10
15
|
* strategy produces, and what a frontmatter `slug` of `docs/intro` means.
|
|
@@ -14,7 +19,7 @@ import type { ContentFile, OutputSize } from "../types.js";
|
|
|
14
19
|
* are not known until the image has been rendered, and the point of the stamp
|
|
15
20
|
* is not rendering the ones that have not changed.
|
|
16
21
|
*/
|
|
17
|
-
export declare function imageName(file: ContentFile, size: OutputSize, hash: string | undefined): string;
|
|
22
|
+
export declare function imageName(file: ContentFile, size: OutputSize, hash: string | undefined, format: OutputFormat): string;
|
|
18
23
|
/**
|
|
19
24
|
* Where an image goes relative to the content root, in URL form.
|
|
20
25
|
*
|
|
@@ -27,5 +32,5 @@ export declare function imageName(file: ContentFile, size: OutputSize, hash: str
|
|
|
27
32
|
* directories already in the slug, putting `services/iam` under
|
|
28
33
|
* `content/services/iam/`.
|
|
29
34
|
*/
|
|
30
|
-
export declare function besideContent(file: ContentFile, size: OutputSize, hash: string | undefined): string;
|
|
35
|
+
export declare function besideContent(file: ContentFile, size: OutputSize, hash: string | undefined, format: OutputFormat): string;
|
|
31
36
|
//# sourceMappingURL=relative.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relative.d.ts","sourceRoot":"","sources":["../../src/placement/relative.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relative.d.ts","sourceRoot":"","sources":["../../src/placement/relative.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,YAAY,GACnB,MAAM,CAOR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,YAAY,GACnB,MAAM,CAYR"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
import { extensionFor } from "../encode/format.js";
|
|
2
3
|
/**
|
|
3
4
|
* How much of an image's digest goes in its filename.
|
|
4
5
|
*
|
|
@@ -13,6 +14,11 @@ const hashLength = 8;
|
|
|
13
14
|
* carries the post's keywords, and the size name keeps every image of a post
|
|
14
15
|
* distinct (`my-post-og.png`, `my-post-square.png`).
|
|
15
16
|
*
|
|
17
|
+
* The extension follows `config.format`, so a build writing WebP writes
|
|
18
|
+
* `my-post-og.webp`. Changing the format therefore renames every image, and
|
|
19
|
+
* leaves the ones already written where they are: nothing here knows whether
|
|
20
|
+
* something is still serving them.
|
|
21
|
+
*
|
|
16
22
|
* A slug carrying directories of its own puts them in the name, so the image's
|
|
17
23
|
* path mirrors the route wherever it is placed. That is what the `route`
|
|
18
24
|
* strategy produces, and what a frontmatter `slug` of `docs/intro` means.
|
|
@@ -22,11 +28,12 @@ const hashLength = 8;
|
|
|
22
28
|
* are not known until the image has been rendered, and the point of the stamp
|
|
23
29
|
* is not rendering the ones that have not changed.
|
|
24
30
|
*/
|
|
25
|
-
export function imageName(file, size, hash) {
|
|
31
|
+
export function imageName(file, size, hash, format) {
|
|
26
32
|
const stem = `${file.slug}-${size.name}`;
|
|
33
|
+
const extension = extensionFor(format);
|
|
27
34
|
return hash === undefined
|
|
28
|
-
? `${stem}
|
|
29
|
-
: `${stem}.${hash.slice(0, hashLength)}
|
|
35
|
+
? `${stem}${extension}`
|
|
36
|
+
: `${stem}.${hash.slice(0, hashLength)}${extension}`;
|
|
30
37
|
}
|
|
31
38
|
/**
|
|
32
39
|
* Where an image goes relative to the content root, in URL form.
|
|
@@ -40,8 +47,8 @@ export function imageName(file, size, hash) {
|
|
|
40
47
|
* directories already in the slug, putting `services/iam` under
|
|
41
48
|
* `content/services/iam/`.
|
|
42
49
|
*/
|
|
43
|
-
export function besideContent(file, size, hash) {
|
|
44
|
-
const name = imageName(file, size, hash);
|
|
50
|
+
export function besideContent(file, size, hash, format) {
|
|
51
|
+
const name = imageName(file, size, hash, format);
|
|
45
52
|
if (file.slug.includes("/")) {
|
|
46
53
|
return name;
|
|
47
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relative.js","sourceRoot":"","sources":["../../src/placement/relative.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"relative.js","sourceRoot":"","sources":["../../src/placement/relative.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,SAAS,CACvB,IAAiB,EACjB,IAAgB,EAChB,IAAwB,EACxB,MAAoB;IAEpB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEvC,OAAO,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE;QACvB,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAiB,EACjB,IAAgB,EAChB,IAAwB,EACxB,MAAoB;IAEpB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEjD,OAAO,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,EAAE;QAC1C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base64 for bytes, without `Buffer`.
|
|
3
|
+
*
|
|
4
|
+
* `Buffer` is Node's, and an image is inlined into the SVG as a `data:` URI
|
|
5
|
+
* wherever this runs. `btoa` is the encoder every environment in scope has:
|
|
6
|
+
* browsers, workers, and Node since 16. `Uint8Array#toBase64` would read better
|
|
7
|
+
* and is not on the oldest Node this package supports.
|
|
8
|
+
*/
|
|
9
|
+
/** Encode bytes, for the `data:` URI an inlined image is drawn from. */
|
|
10
|
+
export declare function toBase64(bytes: Uint8Array): string;
|
|
11
|
+
/** Decode it again, for a `data:` URI that arrived carrying its payload. */
|
|
12
|
+
export declare function fromBase64(text: string): Uint8Array<ArrayBuffer>;
|
|
13
|
+
//# sourceMappingURL=base64.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/platform/base64.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAUlD;AAED,4EAA4E;AAI5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAKhE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base64 for bytes, without `Buffer`.
|
|
3
|
+
*
|
|
4
|
+
* `Buffer` is Node's, and an image is inlined into the SVG as a `data:` URI
|
|
5
|
+
* wherever this runs. `btoa` is the encoder every environment in scope has:
|
|
6
|
+
* browsers, workers, and Node since 16. `Uint8Array#toBase64` would read better
|
|
7
|
+
* and is not on the oldest Node this package supports.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* How many bytes to convert per call.
|
|
11
|
+
*
|
|
12
|
+
* `String.fromCodePoint` takes the bytes as arguments, and an image is large
|
|
13
|
+
* enough that passing them all at once would overflow the argument limit.
|
|
14
|
+
*/
|
|
15
|
+
const chunkSize = 0x80_00;
|
|
16
|
+
/** Encode bytes, for the `data:` URI an inlined image is drawn from. */
|
|
17
|
+
export function toBase64(bytes) {
|
|
18
|
+
let binary = "";
|
|
19
|
+
for (let at = 0; at < bytes.length; at += chunkSize) {
|
|
20
|
+
binary += String.fromCodePoint(...bytes.subarray(at, at + chunkSize));
|
|
21
|
+
}
|
|
22
|
+
// `Uint8Array#toBase64` is not on the oldest Node this package supports.
|
|
23
|
+
// eslint-disable-next-line unicorn/prefer-uint8array-base64
|
|
24
|
+
return btoa(binary);
|
|
25
|
+
}
|
|
26
|
+
/** Decode it again, for a `data:` URI that arrived carrying its payload. */
|
|
27
|
+
// `Uint8Array<ArrayBuffer>` rather than the default `ArrayBufferLike`: Web
|
|
28
|
+
// Crypto will not take a possibly-shared buffer, and a signature is decoded
|
|
29
|
+
// straight into it.
|
|
30
|
+
export function fromBase64(text) {
|
|
31
|
+
// eslint-disable-next-line unicorn/prefer-uint8array-base64
|
|
32
|
+
const binary = atob(text);
|
|
33
|
+
return Uint8Array.from(binary, (character) => character.codePointAt(0) ?? 0);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=base64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/platform/base64.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC;AAE1B,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,KAAiB;IACxC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,yEAAyE;IACzE,4DAA4D;IAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,4EAA4E;AAC5E,oBAAoB;AACpB,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Rasteriser } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The default rasteriser outside Node, which is to say there is not one.
|
|
4
|
+
*
|
|
5
|
+
* resvg is a native binary, so a browser or edge build cannot have it and must
|
|
6
|
+
* not import it. A bundler picks this file up through `package.json`'s `browser`
|
|
7
|
+
* field, which is what keeps the native dependency out of that graph entirely.
|
|
8
|
+
*
|
|
9
|
+
* The core builds SVG and mostly stops there, so this is only reached by asking
|
|
10
|
+
* for pixels. `config.rasteriser` is the way to have them: a wasm build of resvg
|
|
11
|
+
* is the obvious one, and that seam exists already. It returns a `Uint8Array`,
|
|
12
|
+
* which is what such a backend has to give and what {@link Rasteriser} asks
|
|
13
|
+
* for.
|
|
14
|
+
*/
|
|
15
|
+
export declare const defaultRasteriser: Rasteriser;
|
|
16
|
+
//# sourceMappingURL=rasteriser.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rasteriser.browser.d.ts","sourceRoot":"","sources":["../../src/platform/rasteriser.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAO/B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default rasteriser outside Node, which is to say there is not one.
|
|
3
|
+
*
|
|
4
|
+
* resvg is a native binary, so a browser or edge build cannot have it and must
|
|
5
|
+
* not import it. A bundler picks this file up through `package.json`'s `browser`
|
|
6
|
+
* field, which is what keeps the native dependency out of that graph entirely.
|
|
7
|
+
*
|
|
8
|
+
* The core builds SVG and mostly stops there, so this is only reached by asking
|
|
9
|
+
* for pixels. `config.rasteriser` is the way to have them: a wasm build of resvg
|
|
10
|
+
* is the obvious one, and that seam exists already. It returns a `Uint8Array`,
|
|
11
|
+
* which is what such a backend has to give and what {@link Rasteriser} asks
|
|
12
|
+
* for.
|
|
13
|
+
*/
|
|
14
|
+
export const defaultRasteriser = () => {
|
|
15
|
+
throw new Error("No rasteriser here: resvg is a native module and this build does not" +
|
|
16
|
+
" include it. Set config.rasteriser to one that runs in this" +
|
|
17
|
+
" environment, such as a wasm build, or use buildSvg and rasterise" +
|
|
18
|
+
" elsewhere.");
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=rasteriser.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rasteriser.browser.js","sourceRoot":"","sources":["../../src/platform/rasteriser.browser.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAe,GAAG,EAAE;IAChD,MAAM,IAAI,KAAK,CACb,sEAAsE;QACpE,6DAA6D;QAC7D,mEAAmE;QACnE,aAAa,CAChB,CAAC;AACJ,CAAC,CAAC"}
|