@kensio/colophon 2.4.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 +139 -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/background/gradient.d.ts +12 -0
- package/dist/background/gradient.d.ts.map +1 -0
- package/dist/background/gradient.js +21 -0
- package/dist/background/gradient.js.map +1 -0
- package/dist/background/image.d.ts +14 -0
- package/dist/background/image.d.ts.map +1 -0
- package/dist/background/image.js +36 -0
- package/dist/background/image.js.map +1 -0
- package/dist/{background.d.ts → background/index.d.ts} +5 -5
- package/dist/background/index.d.ts.map +1 -0
- package/dist/background/index.js +27 -0
- package/dist/background/index.js.map +1 -0
- package/dist/background/mesh.d.ts +12 -0
- package/dist/background/mesh.d.ts.map +1 -0
- package/dist/background/mesh.js +43 -0
- package/dist/background/mesh.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 +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +27 -6
- 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/config/size.d.ts +6 -0
- package/dist/config/size.d.ts.map +1 -1
- package/dist/config/size.js +20 -8
- package/dist/config/size.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 +10 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- 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 +10 -2
- 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 +25 -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/badge-props.d.ts +16 -0
- package/dist/templates/banner/badge-props.d.ts.map +1 -0
- package/dist/templates/banner/badge-props.js +58 -0
- package/dist/templates/banner/badge-props.js.map +1 -0
- package/dist/templates/banner/index.d.ts.map +1 -1
- package/dist/templates/banner/index.js +6 -4
- package/dist/templates/banner/index.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/texture/grain.d.ts +17 -0
- package/dist/texture/grain.d.ts.map +1 -0
- package/dist/texture/grain.js +29 -0
- package/dist/texture/grain.js.map +1 -0
- package/dist/texture/index.d.ts +11 -0
- package/dist/texture/index.d.ts.map +1 -0
- package/dist/texture/index.js +20 -0
- package/dist/texture/index.js.map +1 -0
- package/dist/texture/pattern.d.ts +17 -0
- package/dist/texture/pattern.d.ts.map +1 -0
- package/dist/texture/pattern.js +45 -0
- package/dist/texture/pattern.js.map +1 -0
- package/dist/texture/resolve.d.ts +16 -0
- package/dist/texture/resolve.d.ts.map +1 -0
- package/dist/texture/resolve.js +20 -0
- package/dist/texture/resolve.js.map +1 -0
- package/dist/theme/index.d.ts +27 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +41 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/presets.d.ts +38 -0
- package/dist/theme/presets.d.ts.map +1 -0
- package/dist/theme/presets.js +150 -0
- package/dist/theme/presets.js.map +1 -0
- package/dist/types.d.ts +281 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/validate/background.d.ts +12 -0
- package/dist/validate/background.d.ts.map +1 -0
- package/dist/validate/background.js +53 -0
- package/dist/validate/background.js.map +1 -0
- package/dist/validate/collect.d.ts +9 -0
- package/dist/validate/collect.d.ts.map +1 -0
- package/dist/validate/collect.js +35 -0
- package/dist/validate/collect.js.map +1 -0
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +2 -20
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/keys.d.ts +22 -0
- package/dist/validate/keys.d.ts.map +1 -1
- package/dist/validate/keys.js +69 -0
- package/dist/validate/keys.js.map +1 -1
- package/dist/validate/overrides.d.ts.map +1 -1
- package/dist/validate/overrides.js +5 -1
- package/dist/validate/overrides.js.map +1 -1
- package/dist/validate/texture.d.ts +11 -0
- package/dist/validate/texture.d.ts.map +1 -0
- package/dist/validate/texture.js +34 -0
- package/dist/validate/texture.js.map +1 -0
- package/dist/validate/values.d.ts +16 -10
- package/dist/validate/values.d.ts.map +1 -1
- package/dist/validate/values.js +31 -44
- package/dist/validate/values.js.map +1 -1
- package/package.json +16 -2
- 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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { nearestName } from "../../validate/suggest.js";
|
|
4
|
+
import { isFile } from "../init/fs.js";
|
|
5
|
+
import { adapterNames, adapters } from "./adapters.js";
|
|
6
|
+
/** The adapter a run named, or a complaint naming the ones there are. */
|
|
7
|
+
function selectAdapter(name) {
|
|
8
|
+
if (name === undefined) {
|
|
9
|
+
throw new Error(`colophon eject needs something to eject: ${adapterNames.join(", ")}.`);
|
|
10
|
+
}
|
|
11
|
+
const adapter = adapters[name];
|
|
12
|
+
if (adapter !== undefined) {
|
|
13
|
+
return adapter;
|
|
14
|
+
}
|
|
15
|
+
// The same slip, and the same answer, as a mistyped config option.
|
|
16
|
+
const suggestion = nearestName(name, adapterNames);
|
|
17
|
+
const help = suggestion === undefined
|
|
18
|
+
? `Try one of: ${adapterNames.join(", ")}.`
|
|
19
|
+
: `Did you mean "${suggestion}"?`;
|
|
20
|
+
throw new Error(`Cannot eject "${name}". ${help}`);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Write a generator's template into the site, and say how to use it.
|
|
24
|
+
*
|
|
25
|
+
* Ejecting rather than importing is the point. The file lands in the site's own
|
|
26
|
+
* tree, where a project can read it, change the fallback chain and add a tag,
|
|
27
|
+
* without Colophon having to grow an option for every decision a site makes
|
|
28
|
+
* about its own head. What it replaces is 50-odd lines of globbing for images
|
|
29
|
+
* that the build already knew the names of.
|
|
30
|
+
*
|
|
31
|
+
* `dir` is the site root, the working directory by default, and a parameter
|
|
32
|
+
* because a test cannot `chdir`.
|
|
33
|
+
*/
|
|
34
|
+
export async function runEject(args, dir = process.cwd()) {
|
|
35
|
+
const adapter = selectAdapter(args.adapter);
|
|
36
|
+
const target = path.join(dir, adapter.file);
|
|
37
|
+
if ((await isFile(target)) && !args.overwrite) {
|
|
38
|
+
throw new Error(`${adapter.file} is already there. Pass --force to replace it,` +
|
|
39
|
+
` remembering that it is a file you were meant to edit.`);
|
|
40
|
+
}
|
|
41
|
+
await mkdir(path.dirname(target), { recursive: true });
|
|
42
|
+
await writeFile(target, adapter.contents, "utf8");
|
|
43
|
+
console.log(`Wrote ${adapter.file}.`);
|
|
44
|
+
console.log(adapter.usage);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/eject/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEvD,yEAAyE;AACzE,SAAS,aAAa,CAAC,IAAwB;IAC7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,4CAA4C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mEAAmE;IACnE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,IAAI,GACR,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC3C,CAAC,CAAC,iBAAiB,UAAU,IAAI,CAAC;IAEtC,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAa,EACb,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,IAAI,gDAAgD;YAC7D,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,35 +1,40 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { parseCliArgs, usage } from "./args/index.js";
|
|
3
|
+
import { runBuild } from "./build.js";
|
|
4
|
+
import { runEject } from "./eject/index.js";
|
|
5
|
+
import { runInit } from "./init/index.js";
|
|
6
|
+
import { messageOf } from "./message.js";
|
|
7
|
+
import { runPreview } from "./preview/index.js";
|
|
8
|
+
/** Run whichever command the arguments asked for. */
|
|
9
|
+
async function run(args) {
|
|
10
|
+
switch (args.command) {
|
|
11
|
+
case "init": {
|
|
12
|
+
return runInit(args);
|
|
13
|
+
}
|
|
14
|
+
case "preview": {
|
|
15
|
+
return runPreview(args);
|
|
16
|
+
}
|
|
17
|
+
case "eject": {
|
|
18
|
+
return runEject(args);
|
|
19
|
+
}
|
|
20
|
+
case "generate": {
|
|
21
|
+
return runBuild(args);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
5
25
|
async function main() {
|
|
6
26
|
const argv = process.argv.slice(2);
|
|
7
27
|
if (argv.includes("-h") || argv.includes("--help")) {
|
|
8
28
|
console.log(usage);
|
|
9
29
|
return;
|
|
10
30
|
}
|
|
11
|
-
|
|
12
|
-
const config = await loadConfig(args.configPath);
|
|
13
|
-
const results = await generate({
|
|
14
|
-
contentDir: args.contentDir,
|
|
15
|
-
overwrite: args.overwrite,
|
|
16
|
-
...(config !== undefined && { config }),
|
|
17
|
-
...(args.concurrency !== undefined && { concurrency: args.concurrency }),
|
|
18
|
-
onResult: (result) => {
|
|
19
|
-
// The URL is the half of a placement nothing else on the command line
|
|
20
|
-
// would show, and the quickest way to see a `urlBase` is wrong.
|
|
21
|
-
const served = result.url === undefined ? "" : ` -> ${result.url}`;
|
|
22
|
-
console.log(`${result.skipped ? "skip " : "wrote"} ${result.outputPath}${served}`);
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
const written = results.filter((result) => !result.skipped).length;
|
|
26
|
-
console.log(`Done: ${String(written)} written, ${String(results.length - written)} skipped.`);
|
|
31
|
+
await run(parseCliArgs(argv));
|
|
27
32
|
}
|
|
28
33
|
try {
|
|
29
34
|
await main();
|
|
30
35
|
}
|
|
31
36
|
catch (error) {
|
|
32
|
-
console.error(
|
|
37
|
+
console.error(messageOf(error));
|
|
33
38
|
process.exitCode = 1;
|
|
34
39
|
}
|
|
35
40
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,qDAAqD;AACrD,KAAK,UAAU,GAAG,CAAC,IAAa;IAC9B,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,SAAS,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,OAAO,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,UAAU,EAAE,CAAC;YAChB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,CAAC;IACH,MAAM,IAAI,EAAE,CAAC;AACf,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/cli/init/fs.ts"],"names":[],"mappings":"AAeA,0CAA0C;AAC1C,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7D;AAED,iDAAiD;AACjD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAElE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { stat } from "node:fs/promises";
|
|
2
|
+
/** Anything unreadable counts as absent, which is all these callers need. */
|
|
3
|
+
async function statMatches(target, isWanted) {
|
|
4
|
+
try {
|
|
5
|
+
return isWanted(await stat(target));
|
|
6
|
+
}
|
|
7
|
+
catch {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/** Whether a file is there to be read. */
|
|
12
|
+
export async function isFile(target) {
|
|
13
|
+
return statMatches(target, (stats) => stats.isFile());
|
|
14
|
+
}
|
|
15
|
+
/** Whether a directory is there to be walked. */
|
|
16
|
+
export async function isDirectory(target) {
|
|
17
|
+
return statMatches(target, (stats) => stats.isDirectory());
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/cli/init/fs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,6EAA6E;AAC7E,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,QAAmC;IAEnC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAc;IACzC,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc;IAC9C,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guess which directory holds the content, or return `undefined` where none of
|
|
3
|
+
* the usual ones is there.
|
|
4
|
+
*
|
|
5
|
+
* The guess only ever reaches the command line this prints for the project to
|
|
6
|
+
* run next, so being wrong costs a corrected argument rather than a wrong build.
|
|
7
|
+
*/
|
|
8
|
+
export declare function guessContentDir(dir: string): Promise<string | undefined>;
|
|
9
|
+
//# sourceMappingURL=guess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guess.d.ts","sourceRoot":"","sources":["../../../src/cli/init/guess.ts"],"names":[],"mappings":"AAkBA;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ7B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { isDirectory } from "./fs.js";
|
|
3
|
+
/**
|
|
4
|
+
* Where a static site usually keeps its posts, in the order to prefer them.
|
|
5
|
+
* The list is short on purpose: a directory that is not on it is one the run
|
|
6
|
+
* can name itself, and guessing further would be guessing wrongly.
|
|
7
|
+
*/
|
|
8
|
+
const candidates = [
|
|
9
|
+
"content",
|
|
10
|
+
"src/content",
|
|
11
|
+
"posts",
|
|
12
|
+
"src/posts",
|
|
13
|
+
"_posts",
|
|
14
|
+
"src/pages",
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Guess which directory holds the content, or return `undefined` where none of
|
|
18
|
+
* the usual ones is there.
|
|
19
|
+
*
|
|
20
|
+
* The guess only ever reaches the command line this prints for the project to
|
|
21
|
+
* run next, so being wrong costs a corrected argument rather than a wrong build.
|
|
22
|
+
*/
|
|
23
|
+
export async function guessContentDir(dir) {
|
|
24
|
+
const found = await Promise.all(candidates.map(async (candidate) => (await isDirectory(path.join(dir, candidate))) ? candidate : undefined));
|
|
25
|
+
return found.find((candidate) => candidate !== undefined);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=guess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guess.js","sourceRoot":"","sources":["../../../src/cli/init/guess.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;GAIG;AACH,MAAM,UAAU,GAAG;IACjB,SAAS;IACT,aAAa;IACb,OAAO;IACP,WAAW;IACX,QAAQ;IACR,WAAW;CACZ,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAW;IAEX,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CACjC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACvE,CACF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CliArgs } from "../args/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Write a starter config module into `dir`, the working directory by default,
|
|
4
|
+
* and say what to run against it.
|
|
5
|
+
*
|
|
6
|
+
* A config that is already there is replaced only under `--force`, and then at
|
|
7
|
+
* its own path rather than at the one this would have chosen: a project that
|
|
8
|
+
* settled on a TypeScript config should not end up holding two.
|
|
9
|
+
*/
|
|
10
|
+
export declare function runInit(args: CliArgs, dir?: string): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAiBhD;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,OAAO,EACb,GAAG,SAAgB,GAClB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { guessContentDir } from "./guess.js";
|
|
4
|
+
import { configFilename, existingConfig } from "./module.js";
|
|
5
|
+
import { scaffold } from "./scaffold.js";
|
|
6
|
+
/** The command to run next, which is the whole point of the guess. */
|
|
7
|
+
function nextStep(config, contentDir) {
|
|
8
|
+
if (contentDir === undefined) {
|
|
9
|
+
return (`No content directory found. Point the CLI at yours:\n` +
|
|
10
|
+
` colophon <contentDir> --config ${config}`);
|
|
11
|
+
}
|
|
12
|
+
return `Then render the images:\n colophon ${contentDir} --config ${config}`;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Write a starter config module into `dir`, the working directory by default,
|
|
16
|
+
* and say what to run against it.
|
|
17
|
+
*
|
|
18
|
+
* A config that is already there is replaced only under `--force`, and then at
|
|
19
|
+
* its own path rather than at the one this would have chosen: a project that
|
|
20
|
+
* settled on a TypeScript config should not end up holding two.
|
|
21
|
+
*/
|
|
22
|
+
export async function runInit(args, dir = process.cwd()) {
|
|
23
|
+
const [existing, chosen, guessed] = await Promise.all([
|
|
24
|
+
existingConfig(dir),
|
|
25
|
+
configFilename(dir),
|
|
26
|
+
guessContentDir(dir),
|
|
27
|
+
]);
|
|
28
|
+
if (existing !== undefined && !args.overwrite) {
|
|
29
|
+
throw new Error(`${existing} is already there. Pass --force to replace it.`);
|
|
30
|
+
}
|
|
31
|
+
const config = existing ?? chosen;
|
|
32
|
+
await writeFile(path.join(dir, config), scaffold, "utf8");
|
|
33
|
+
console.log(`Wrote ${config}.`);
|
|
34
|
+
console.log(nextStep(config, args.contentDir ?? guessed));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,sEAAsE;AACtE,SAAS,QAAQ,CAAC,MAAc,EAAE,UAA8B;IAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CACL,uDAAuD;YACvD,oCAAoC,MAAM,EAAE,CAC7C,CAAC;IACJ,CAAC;IAED,OAAO,uCAAuC,UAAU,aAAa,MAAM,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAa,EACb,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,cAAc,CAAC,GAAG,CAAC;QACnB,cAAc,CAAC,GAAG,CAAC;QACnB,eAAe,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,gDAAgD,CAC5D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC;IAClC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** The config module a project already has, whatever it chose to call it. */
|
|
2
|
+
export declare function existingConfig(dir: string): Promise<string | undefined>;
|
|
3
|
+
/**
|
|
4
|
+
* What to call the config this command writes.
|
|
5
|
+
*
|
|
6
|
+
* A Colophon config is an ES module: `defineConfig` is imported and the config
|
|
7
|
+
* is the default export. In a project without `"type": "module"` a `.js` file
|
|
8
|
+
* is CommonJS, so `--config` would fail to import the very file `init` had just
|
|
9
|
+
* written. `.mjs` is that case's way out, and `.js` is right everywhere else.
|
|
10
|
+
*/
|
|
11
|
+
export declare function configFilename(dir: string): Promise<string>;
|
|
12
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/cli/init/module.ts"],"names":[],"mappings":"AAiBA,6EAA6E;AAC7E,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ7E;AAcD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIjE"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { isFile } from "./fs.js";
|
|
4
|
+
/**
|
|
5
|
+
* The names a config module is written under, in the order a project is
|
|
6
|
+
* likeliest to have chosen. A `.ts` config works on a Node that strips types,
|
|
7
|
+
* and the docs use one, so it is the first thing to look for.
|
|
8
|
+
*/
|
|
9
|
+
const configNames = [
|
|
10
|
+
"colophon.config.ts",
|
|
11
|
+
"colophon.config.mts",
|
|
12
|
+
"colophon.config.js",
|
|
13
|
+
"colophon.config.mjs",
|
|
14
|
+
];
|
|
15
|
+
/** The config module a project already has, whatever it chose to call it. */
|
|
16
|
+
export async function existingConfig(dir) {
|
|
17
|
+
const found = await Promise.all(configNames.map(async (name) => (await isFile(path.join(dir, name))) ? name : undefined));
|
|
18
|
+
return found.find((name) => name !== undefined);
|
|
19
|
+
}
|
|
20
|
+
/** Whether the project has already declared itself an ES module. */
|
|
21
|
+
async function isModuleProject(dir) {
|
|
22
|
+
try {
|
|
23
|
+
const raw = await readFile(path.join(dir, "package.json"), "utf8");
|
|
24
|
+
return JSON.parse(raw).type === "module";
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// No package.json, or one that is not JSON. Either way there is nothing
|
|
28
|
+
// saying the project is ESM, so the safe extension is the one to write.
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* What to call the config this command writes.
|
|
34
|
+
*
|
|
35
|
+
* A Colophon config is an ES module: `defineConfig` is imported and the config
|
|
36
|
+
* is the default export. In a project without `"type": "module"` a `.js` file
|
|
37
|
+
* is CommonJS, so `--config` would fail to import the very file `init` had just
|
|
38
|
+
* written. `.mjs` is that case's way out, and `.js` is right everywhere else.
|
|
39
|
+
*/
|
|
40
|
+
export async function configFilename(dir) {
|
|
41
|
+
return (await isModuleProject(dir))
|
|
42
|
+
? "colophon.config.js"
|
|
43
|
+
: "colophon.config.mjs";
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/cli/init/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,GAAG;IAClB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;CACtB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAC7B,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CACxD,CACF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,oEAAoE;AACpE,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,OAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC,IAAI,KAAK,QAAQ,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,wEAAwE;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,OAAO,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,qBAAqB,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The config module `colophon init` writes.
|
|
3
|
+
*
|
|
4
|
+
* Most of it is commented out on purpose. What is left renders something
|
|
5
|
+
* recognisable straight away, and the comments say where the next decision goes
|
|
6
|
+
* rather than making every decision for the project up front. It is valid
|
|
7
|
+
* TypeScript as well as JavaScript, so it can be written to either extension.
|
|
8
|
+
*/
|
|
9
|
+
export declare const scaffold = "// Colophon config. Every field is optional.\n// Full documentation: https://colophonjs.dev/\nimport { defineConfig } from \"@kensio/colophon\";\n\nexport default defineConfig({\n // Brand colours. The default background is a gradient built from these.\n colors: {\n brand: \"#4f46e5\",\n brandDark: \"#3730a3\",\n brandWarm: \"#db2777\",\n },\n\n // Or start from a named look, which brings its own colours, background and\n // texture: aurora, bloom, ember, forest, midnight, paper, sandstone, slate.\n // theme: \"midnight\",\n\n // Drawn along the bottom of every image.\n footer: \"example.com\",\n\n // A small label above the title, on the banner template.\n // badge: { text: \"npm\" },\n\n // The sizes rendered for each post. This is the default pair.\n // sizes: [\n // { name: \"og\", width: 1200, height: 630 },\n // { name: \"square\", width: 1200, height: 1200 },\n // ],\n\n // Handing the renderer font files, rather than hoping the machine has the\n // family installed, is what makes a build render the same image everywhere.\n // fonts: [{ family: \"Inter\", path: \"fonts/Inter-Bold.ttf\" }],\n\n // Build image props from the frontmatter your posts already carry, so there\n // is no props block to add to every file.\n // content: {\n // defaultTemplate: \"banner\",\n // props: (frontmatter) => ({\n // title: frontmatter.title,\n // subtitle: frontmatter.description,\n // }),\n // },\n});\n";
|
|
10
|
+
//# sourceMappingURL=scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/cli/init/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,m8CA0CpB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The config module `colophon init` writes.
|
|
3
|
+
*
|
|
4
|
+
* Most of it is commented out on purpose. What is left renders something
|
|
5
|
+
* recognisable straight away, and the comments say where the next decision goes
|
|
6
|
+
* rather than making every decision for the project up front. It is valid
|
|
7
|
+
* TypeScript as well as JavaScript, so it can be written to either extension.
|
|
8
|
+
*/
|
|
9
|
+
export const scaffold = `// Colophon config. Every field is optional.
|
|
10
|
+
// Full documentation: https://colophonjs.dev/
|
|
11
|
+
import { defineConfig } from "@kensio/colophon";
|
|
12
|
+
|
|
13
|
+
export default defineConfig({
|
|
14
|
+
// Brand colours. The default background is a gradient built from these.
|
|
15
|
+
colors: {
|
|
16
|
+
brand: "#4f46e5",
|
|
17
|
+
brandDark: "#3730a3",
|
|
18
|
+
brandWarm: "#db2777",
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
// Or start from a named look, which brings its own colours, background and
|
|
22
|
+
// texture: aurora, bloom, ember, forest, midnight, paper, sandstone, slate.
|
|
23
|
+
// theme: "midnight",
|
|
24
|
+
|
|
25
|
+
// Drawn along the bottom of every image.
|
|
26
|
+
footer: "example.com",
|
|
27
|
+
|
|
28
|
+
// A small label above the title, on the banner template.
|
|
29
|
+
// badge: { text: "npm" },
|
|
30
|
+
|
|
31
|
+
// The sizes rendered for each post. This is the default pair.
|
|
32
|
+
// sizes: [
|
|
33
|
+
// { name: "og", width: 1200, height: 630 },
|
|
34
|
+
// { name: "square", width: 1200, height: 1200 },
|
|
35
|
+
// ],
|
|
36
|
+
|
|
37
|
+
// Handing the renderer font files, rather than hoping the machine has the
|
|
38
|
+
// family installed, is what makes a build render the same image everywhere.
|
|
39
|
+
// fonts: [{ family: "Inter", path: "fonts/Inter-Bold.ttf" }],
|
|
40
|
+
|
|
41
|
+
// Build image props from the frontmatter your posts already carry, so there
|
|
42
|
+
// is no props block to add to every file.
|
|
43
|
+
// content: {
|
|
44
|
+
// defaultTemplate: "banner",
|
|
45
|
+
// props: (frontmatter) => ({
|
|
46
|
+
// title: frontmatter.title,
|
|
47
|
+
// subtitle: frontmatter.description,
|
|
48
|
+
// }),
|
|
49
|
+
// },
|
|
50
|
+
});
|
|
51
|
+
`;
|
|
52
|
+
//# sourceMappingURL=scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/cli/init/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CvB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What to print when something has gone wrong. A stack trace is noise for the
|
|
3
|
+
* mistakes this CLI reports, which are nearly all a bad path, a bad flag or a
|
|
4
|
+
* config that does not add up.
|
|
5
|
+
*/
|
|
6
|
+
export declare function messageOf(error: unknown): string;
|
|
7
|
+
//# sourceMappingURL=message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/cli/message.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What to print when something has gone wrong. A stack trace is noise for the
|
|
3
|
+
* mistakes this CLI reports, which are nearly all a bad path, a bad flag or a
|
|
4
|
+
* config that does not add up.
|
|
5
|
+
*/
|
|
6
|
+
export function messageOf(error) {
|
|
7
|
+
return error instanceof Error ? error.message : String(error);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/cli/message.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CliArgs } from "../args/index.js";
|
|
2
|
+
export { previewImage } from "./render.js";
|
|
3
|
+
export type { PreviewOptions } from "./render.js";
|
|
4
|
+
/**
|
|
5
|
+
* Render one post and open the image.
|
|
6
|
+
*
|
|
7
|
+
* Tuning a template, a palette or a snippet otherwise means running the whole
|
|
8
|
+
* build and finding the one image it produced that was the point. The path is
|
|
9
|
+
* printed as well as opened, so a shell that would rather do its own thing with
|
|
10
|
+
* the file can.
|
|
11
|
+
*/
|
|
12
|
+
export declare function runPreview(args: CliArgs): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAKhD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { loadConfig } from "../config.js";
|
|
2
|
+
import { openFile } from "./open.js";
|
|
3
|
+
import { previewImage } from "./render.js";
|
|
4
|
+
export { previewImage } from "./render.js";
|
|
5
|
+
/**
|
|
6
|
+
* Render one post and open the image.
|
|
7
|
+
*
|
|
8
|
+
* Tuning a template, a palette or a snippet otherwise means running the whole
|
|
9
|
+
* build and finding the one image it produced that was the point. The path is
|
|
10
|
+
* printed as well as opened, so a shell that would rather do its own thing with
|
|
11
|
+
* the file can.
|
|
12
|
+
*/
|
|
13
|
+
export async function runPreview(args) {
|
|
14
|
+
if (args.file === undefined) {
|
|
15
|
+
throw new Error("colophon preview needs a content file, as in" +
|
|
16
|
+
" `colophon preview content/post/index.md`.");
|
|
17
|
+
}
|
|
18
|
+
const config = await loadConfig(args.configPath);
|
|
19
|
+
const output = await previewImage({
|
|
20
|
+
file: args.file,
|
|
21
|
+
config,
|
|
22
|
+
size: args.size,
|
|
23
|
+
});
|
|
24
|
+
console.log(output);
|
|
25
|
+
openFile(output);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/preview/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAa;IAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,8CAA8C;YAC5C,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Open a file in whatever the desktop uses for it, detached so that the CLI
|
|
3
|
+
* exits rather than waiting for a picture viewer to be closed.
|
|
4
|
+
*
|
|
5
|
+
* A failure is reported and no more. The path has already been printed, and a
|
|
6
|
+
* machine with nothing to open an image with, such as a build server, is not a
|
|
7
|
+
* mistake worth failing the command over.
|
|
8
|
+
*/
|
|
9
|
+
export declare function openFile(file: string): void;
|
|
10
|
+
//# sourceMappingURL=open.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/cli/preview/open.ts"],"names":[],"mappings":"AAsBA;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAY3C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
function opener() {
|
|
3
|
+
if (process.platform === "darwin") {
|
|
4
|
+
return { command: "open", args: [] };
|
|
5
|
+
}
|
|
6
|
+
if (process.platform === "win32") {
|
|
7
|
+
// `start` takes a window title first, and an empty one keeps a path with
|
|
8
|
+
// spaces in it from being read as the title.
|
|
9
|
+
return { command: "cmd", args: ["/c", "start", ""] };
|
|
10
|
+
}
|
|
11
|
+
return { command: "xdg-open", args: [] };
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Open a file in whatever the desktop uses for it, detached so that the CLI
|
|
15
|
+
* exits rather than waiting for a picture viewer to be closed.
|
|
16
|
+
*
|
|
17
|
+
* A failure is reported and no more. The path has already been printed, and a
|
|
18
|
+
* machine with nothing to open an image with, such as a build server, is not a
|
|
19
|
+
* mistake worth failing the command over.
|
|
20
|
+
*/
|
|
21
|
+
export function openFile(file) {
|
|
22
|
+
const { command, args } = opener();
|
|
23
|
+
const child = spawn(command, [...args, file], {
|
|
24
|
+
detached: true,
|
|
25
|
+
stdio: "ignore",
|
|
26
|
+
});
|
|
27
|
+
child.on("error", () => {
|
|
28
|
+
console.log(`Could not open ${file}; open it yourself.`);
|
|
29
|
+
});
|
|
30
|
+
child.unref();
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/cli/preview/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQ3C,SAAS,MAAM;IACb,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,yEAAyE;QACzE,6CAA6C;QAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;QAC5C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,qBAAqB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ColophonConfig } from "../../types.js";
|
|
2
|
+
/** What a preview renders: one post, at one size, with one config. */
|
|
3
|
+
export interface PreviewOptions {
|
|
4
|
+
readonly file: string;
|
|
5
|
+
readonly config: ColophonConfig | undefined;
|
|
6
|
+
/** Which configured size, or the first of them. */
|
|
7
|
+
readonly size: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Render one post to a temporary image and return where it landed.
|
|
11
|
+
*
|
|
12
|
+
* The image goes to the system temp directory rather than into the tree,
|
|
13
|
+
* because a preview is not a build output. Beside the post it would land on the
|
|
14
|
+
* real image, which the next build would then find unstamped and render again,
|
|
15
|
+
* so tuning a template would quietly invalidate the tree it was tuned against.
|
|
16
|
+
* Nothing is stamped either, for the matching reason: a preview was asked for,
|
|
17
|
+
* so there is never anything to skip.
|
|
18
|
+
*
|
|
19
|
+
* Only one image is rendered, since the point is to look at it. Every other
|
|
20
|
+
* size the config declares is a `--size` away.
|
|
21
|
+
*/
|
|
22
|
+
export declare function previewImage(options: PreviewOptions): Promise<string>;
|
|
23
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/cli/preview/render.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CA8B3E"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { resolveConfig } from "../../config/index.js";
|
|
5
|
+
import { resolveConfigForSize } from "../../config/size.js";
|
|
6
|
+
import { readContentFile } from "../../content/index.js";
|
|
7
|
+
import { extensionFor } from "../../encode/index.js";
|
|
8
|
+
import { buildSvg, renderSvgToImage } from "../../render/index.js";
|
|
9
|
+
import { contentRootFor } from "./root.js";
|
|
10
|
+
import { pickSize } from "./size.js";
|
|
11
|
+
/**
|
|
12
|
+
* Render one post to a temporary image and return where it landed.
|
|
13
|
+
*
|
|
14
|
+
* The image goes to the system temp directory rather than into the tree,
|
|
15
|
+
* because a preview is not a build output. Beside the post it would land on the
|
|
16
|
+
* real image, which the next build would then find unstamped and render again,
|
|
17
|
+
* so tuning a template would quietly invalidate the tree it was tuned against.
|
|
18
|
+
* Nothing is stamped either, for the matching reason: a preview was asked for,
|
|
19
|
+
* so there is never anything to skip.
|
|
20
|
+
*
|
|
21
|
+
* Only one image is rendered, since the point is to look at it. Every other
|
|
22
|
+
* size the config declares is a `--size` away.
|
|
23
|
+
*/
|
|
24
|
+
export async function previewImage(options) {
|
|
25
|
+
const resolved = resolveConfig(options.config);
|
|
26
|
+
const size = pickSize(resolved.sizes, options.size);
|
|
27
|
+
const file = await readContentFile(options.file, contentRootFor(options.file), options.config?.content);
|
|
28
|
+
if (file === undefined) {
|
|
29
|
+
throw new Error(`${options.file} declares no image props, so there is nothing to preview.`);
|
|
30
|
+
}
|
|
31
|
+
const config = resolveConfigForSize(options.config, size);
|
|
32
|
+
const dimensions = { width: size.width, height: size.height };
|
|
33
|
+
const svg = await buildSvg(file.props, config, dimensions);
|
|
34
|
+
const image = await renderSvgToImage(svg, dimensions, config);
|
|
35
|
+
const output = path.join(tmpdir(), "colophon-preview", `${file.slug}-${size.name}${extensionFor(config.format)}`);
|
|
36
|
+
await mkdir(path.dirname(output), { recursive: true });
|
|
37
|
+
await writeFile(output, image);
|
|
38
|
+
return output;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/cli/preview/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAUrC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAuB;IACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAChC,OAAO,CAAC,IAAI,EACZ,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5B,OAAO,CAAC,MAAM,EAAE,OAAO,CACxB,CAAC;IAEF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,IAAI,2DAA2D,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,MAAM,EAAE,EACR,kBAAkB,EAClB,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAC1D,CAAC;IACF,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE/B,OAAO,MAAM,CAAC;AAChB,CAAC"}
|