@bendyline/squisq 0.1.2 → 1.0.1
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/dist/{themeLibrary-DySHPcgj.d.ts → Doc-1hmT1LZl.d.ts} +1 -42
- package/dist/__tests__/animationUtils.test.d.ts +2 -0
- package/dist/__tests__/animationUtils.test.d.ts.map +1 -0
- package/dist/__tests__/animationUtils.test.js +60 -0
- package/dist/__tests__/animationUtils.test.js.map +1 -0
- package/dist/__tests__/contentExtractor.test.d.ts +2 -0
- package/dist/__tests__/contentExtractor.test.d.ts.map +1 -0
- package/dist/__tests__/contentExtractor.test.js +151 -0
- package/dist/__tests__/contentExtractor.test.js.map +1 -0
- package/dist/__tests__/geohash.test.d.ts +2 -0
- package/dist/__tests__/geohash.test.d.ts.map +1 -0
- package/dist/__tests__/geohash.test.js +87 -0
- package/dist/__tests__/geohash.test.js.map +1 -0
- package/dist/__tests__/getLayers.test.d.ts +2 -0
- package/dist/__tests__/getLayers.test.d.ts.map +1 -0
- package/dist/__tests__/getLayers.test.js +167 -0
- package/dist/__tests__/getLayers.test.js.map +1 -0
- package/dist/__tests__/haversine.test.d.ts +2 -0
- package/dist/__tests__/haversine.test.d.ts.map +1 -0
- package/dist/__tests__/haversine.test.js +56 -0
- package/dist/__tests__/haversine.test.js.map +1 -0
- package/dist/__tests__/localForageAdapter.test.d.ts +8 -0
- package/dist/__tests__/localForageAdapter.test.d.ts.map +1 -0
- package/dist/__tests__/localForageAdapter.test.js +130 -0
- package/dist/__tests__/localForageAdapter.test.js.map +1 -0
- package/dist/__tests__/markdown.test.d.ts +2 -0
- package/dist/__tests__/markdown.test.d.ts.map +1 -0
- package/dist/__tests__/markdown.test.js +654 -0
- package/dist/__tests__/markdown.test.js.map +1 -0
- package/dist/__tests__/markdownToDoc.test.d.ts +2 -0
- package/dist/__tests__/markdownToDoc.test.d.ts.map +1 -0
- package/dist/__tests__/markdownToDoc.test.js +313 -0
- package/dist/__tests__/markdownToDoc.test.js.map +1 -0
- package/dist/__tests__/seededRandom.test.d.ts +2 -0
- package/dist/__tests__/seededRandom.test.d.ts.map +1 -0
- package/dist/__tests__/seededRandom.test.js +125 -0
- package/dist/__tests__/seededRandom.test.js.map +1 -0
- package/dist/__tests__/slideshowGenerator.test.d.ts +2 -0
- package/dist/__tests__/slideshowGenerator.test.d.ts.map +1 -0
- package/dist/__tests__/slideshowGenerator.test.js +114 -0
- package/dist/__tests__/slideshowGenerator.test.js.map +1 -0
- package/dist/__tests__/storage.test.d.ts +2 -0
- package/dist/__tests__/storage.test.d.ts.map +1 -0
- package/dist/__tests__/storage.test.js +51 -0
- package/dist/__tests__/storage.test.js.map +1 -0
- package/dist/__tests__/templates.test.d.ts +2 -0
- package/dist/__tests__/templates.test.d.ts.map +1 -0
- package/dist/__tests__/templates.test.js +217 -0
- package/dist/__tests__/templates.test.js.map +1 -0
- package/dist/__tests__/timing.test.d.ts +2 -0
- package/dist/__tests__/timing.test.d.ts.map +1 -0
- package/dist/__tests__/timing.test.js +131 -0
- package/dist/__tests__/timing.test.js.map +1 -0
- package/dist/chunk-3E5F2XMR.js +129 -0
- package/dist/chunk-3E5F2XMR.js.map +1 -0
- package/dist/chunk-6YJPI6VI.js +35 -0
- package/dist/chunk-6YJPI6VI.js.map +1 -0
- package/dist/chunk-FVTQSNR7.js +100 -0
- package/dist/chunk-FVTQSNR7.js.map +1 -0
- package/dist/chunk-V543AI2F.js +1 -0
- package/dist/chunk-V543AI2F.js.map +1 -0
- package/dist/chunk-VP5SZTZ2.js +792 -0
- package/dist/chunk-VP5SZTZ2.js.map +1 -0
- package/dist/doc/docToMarkdown.d.ts +41 -0
- package/dist/doc/docToMarkdown.d.ts.map +1 -0
- package/dist/doc/docToMarkdown.js +88 -0
- package/dist/doc/docToMarkdown.js.map +1 -0
- package/dist/doc/getLayers.d.ts +65 -0
- package/dist/doc/getLayers.d.ts.map +1 -0
- package/dist/doc/getLayers.js +103 -0
- package/dist/doc/getLayers.js.map +1 -0
- package/dist/doc/index.d.ts +9 -3
- package/dist/doc/index.d.ts.map +1 -0
- package/dist/doc/index.js +6 -125
- package/dist/doc/index.js.map +1 -1
- package/dist/doc/markdownToDoc.d.ts +68 -0
- package/dist/doc/markdownToDoc.d.ts.map +1 -0
- package/dist/doc/markdownToDoc.js +225 -0
- package/dist/doc/markdownToDoc.js.map +1 -0
- package/dist/doc/templates/accentImage.d.ts +59 -0
- package/dist/doc/templates/accentImage.d.ts.map +1 -0
- package/dist/doc/templates/accentImage.js +275 -0
- package/dist/doc/templates/accentImage.js.map +1 -0
- package/dist/doc/templates/captionUtils.d.ts +20 -0
- package/dist/doc/templates/captionUtils.d.ts.map +1 -0
- package/dist/doc/templates/captionUtils.js +29 -0
- package/dist/doc/templates/captionUtils.js.map +1 -0
- package/dist/doc/templates/comparisonBar.d.ts +13 -0
- package/dist/doc/templates/comparisonBar.d.ts.map +1 -0
- package/dist/doc/templates/comparisonBar.js +127 -0
- package/dist/doc/templates/comparisonBar.js.map +1 -0
- package/dist/doc/templates/coverBlock.d.ts +51 -0
- package/dist/doc/templates/coverBlock.d.ts.map +1 -0
- package/dist/doc/templates/coverBlock.js +125 -0
- package/dist/doc/templates/coverBlock.js.map +1 -0
- package/dist/doc/templates/dateEvent.d.ts +15 -0
- package/dist/doc/templates/dateEvent.d.ts.map +1 -0
- package/dist/doc/templates/dateEvent.js +110 -0
- package/dist/doc/templates/dateEvent.js.map +1 -0
- package/dist/doc/templates/definitionCard.d.ts +13 -0
- package/dist/doc/templates/definitionCard.d.ts.map +1 -0
- package/dist/doc/templates/definitionCard.js +114 -0
- package/dist/doc/templates/definitionCard.js.map +1 -0
- package/dist/doc/templates/factCard.d.ts +15 -0
- package/dist/doc/templates/factCard.d.ts.map +1 -0
- package/dist/doc/templates/factCard.js +100 -0
- package/dist/doc/templates/factCard.js.map +1 -0
- package/dist/doc/templates/fullBleedQuote.d.ts +13 -0
- package/dist/doc/templates/fullBleedQuote.d.ts.map +1 -0
- package/dist/doc/templates/fullBleedQuote.js +54 -0
- package/dist/doc/templates/fullBleedQuote.js.map +1 -0
- package/dist/doc/templates/imageWithCaption.d.ts +13 -0
- package/dist/doc/templates/imageWithCaption.d.ts.map +1 -0
- package/dist/doc/templates/imageWithCaption.js +142 -0
- package/dist/doc/templates/imageWithCaption.js.map +1 -0
- package/dist/doc/templates/index.d.ts +104 -0
- package/dist/doc/templates/index.d.ts.map +1 -0
- package/dist/doc/templates/index.js +442 -0
- package/dist/doc/templates/index.js.map +1 -0
- package/dist/doc/templates/listBlock.d.ts +13 -0
- package/dist/doc/templates/listBlock.d.ts.map +1 -0
- package/dist/doc/templates/listBlock.js +89 -0
- package/dist/doc/templates/listBlock.js.map +1 -0
- package/dist/doc/templates/mapBlock.d.ts +17 -0
- package/dist/doc/templates/mapBlock.d.ts.map +1 -0
- package/dist/doc/templates/mapBlock.js +112 -0
- package/dist/doc/templates/mapBlock.js.map +1 -0
- package/dist/doc/templates/persistentLayers.d.ts +39 -0
- package/dist/doc/templates/persistentLayers.d.ts.map +1 -0
- package/dist/doc/templates/persistentLayers.js +447 -0
- package/dist/doc/templates/persistentLayers.js.map +1 -0
- package/dist/doc/templates/photoGrid.d.ts +20 -0
- package/dist/doc/templates/photoGrid.d.ts.map +1 -0
- package/dist/doc/templates/photoGrid.js +172 -0
- package/dist/doc/templates/photoGrid.js.map +1 -0
- package/dist/doc/templates/pullQuote.d.ts +13 -0
- package/dist/doc/templates/pullQuote.d.ts.map +1 -0
- package/dist/doc/templates/pullQuote.js +109 -0
- package/dist/doc/templates/pullQuote.js.map +1 -0
- package/dist/doc/templates/quoteBlock.d.ts +15 -0
- package/dist/doc/templates/quoteBlock.d.ts.map +1 -0
- package/dist/doc/templates/quoteBlock.js +97 -0
- package/dist/doc/templates/quoteBlock.js.map +1 -0
- package/dist/doc/templates/sectionHeader.d.ts +14 -0
- package/dist/doc/templates/sectionHeader.d.ts.map +1 -0
- package/dist/doc/templates/sectionHeader.js +96 -0
- package/dist/doc/templates/sectionHeader.js.map +1 -0
- package/dist/doc/templates/statHighlight.d.ts +15 -0
- package/dist/doc/templates/statHighlight.d.ts.map +1 -0
- package/dist/doc/templates/statHighlight.js +99 -0
- package/dist/doc/templates/statHighlight.js.map +1 -0
- package/dist/doc/templates/titleBlock.d.ts +13 -0
- package/dist/doc/templates/titleBlock.d.ts.map +1 -0
- package/dist/doc/templates/titleBlock.js +92 -0
- package/dist/doc/templates/titleBlock.js.map +1 -0
- package/dist/doc/templates/twoColumn.d.ts +15 -0
- package/dist/doc/templates/twoColumn.d.ts.map +1 -0
- package/dist/doc/templates/twoColumn.js +219 -0
- package/dist/doc/templates/twoColumn.js.map +1 -0
- package/dist/doc/templates/videoPullQuote.d.ts +20 -0
- package/dist/doc/templates/videoPullQuote.d.ts.map +1 -0
- package/dist/doc/templates/videoPullQuote.js +118 -0
- package/dist/doc/templates/videoPullQuote.js.map +1 -0
- package/dist/doc/templates/videoWithCaption.d.ts +20 -0
- package/dist/doc/templates/videoWithCaption.d.ts.map +1 -0
- package/dist/doc/templates/videoWithCaption.js +104 -0
- package/dist/doc/templates/videoWithCaption.js.map +1 -0
- package/dist/doc/utils/animationUtils.d.ts +34 -0
- package/dist/doc/utils/animationUtils.d.ts.map +1 -0
- package/dist/doc/utils/animationUtils.js +110 -0
- package/dist/doc/utils/animationUtils.js.map +1 -0
- package/dist/doc/utils/themeUtils.d.ts +55 -0
- package/dist/doc/utils/themeUtils.d.ts.map +1 -0
- package/dist/doc/utils/themeUtils.js +109 -0
- package/dist/doc/utils/themeUtils.js.map +1 -0
- package/dist/generate/contentExtractor.d.ts +112 -0
- package/dist/generate/contentExtractor.d.ts.map +1 -0
- package/dist/generate/contentExtractor.js +638 -0
- package/dist/generate/contentExtractor.js.map +1 -0
- package/dist/generate/index.d.ts +7 -0
- package/dist/generate/index.d.ts.map +1 -0
- package/dist/generate/index.js +4 -0
- package/dist/generate/index.js.map +1 -0
- package/dist/generate/slideshowGenerator.d.ts +72 -0
- package/dist/generate/slideshowGenerator.d.ts.map +1 -0
- package/dist/generate/slideshowGenerator.js +159 -0
- package/dist/generate/slideshowGenerator.js.map +1 -0
- package/dist/generate/templateMapper.d.ts +23 -0
- package/dist/generate/templateMapper.d.ts.map +1 -0
- package/dist/generate/templateMapper.js +114 -0
- package/dist/generate/templateMapper.js.map +1 -0
- package/dist/index.d.ts +9 -8
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -216
- package/dist/index.js.map +1 -1
- package/dist/markdown/convert.d.ts +71 -0
- package/dist/markdown/convert.d.ts.map +1 -0
- package/dist/markdown/convert.js +746 -0
- package/dist/markdown/convert.js.map +1 -0
- package/dist/markdown/htmlParse.d.ts +26 -0
- package/dist/markdown/htmlParse.d.ts.map +1 -0
- package/dist/markdown/htmlParse.js +195 -0
- package/dist/markdown/htmlParse.js.map +1 -0
- package/dist/markdown/index.d.ts +19 -225
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +33 -32
- package/dist/markdown/index.js.map +1 -1
- package/dist/markdown/parse.d.ts +27 -0
- package/dist/markdown/parse.d.ts.map +1 -0
- package/dist/markdown/parse.js +90 -0
- package/dist/markdown/parse.js.map +1 -0
- package/dist/markdown/stringify.d.ts +32 -0
- package/dist/markdown/stringify.d.ts.map +1 -0
- package/dist/markdown/stringify.js +108 -0
- package/dist/markdown/stringify.js.map +1 -0
- package/dist/markdown/types.d.ts +496 -0
- package/dist/markdown/types.d.ts.map +1 -0
- package/dist/markdown/types.js +17 -0
- package/dist/markdown/types.js.map +1 -0
- package/dist/markdown/utils.d.ts +78 -0
- package/dist/markdown/utils.d.ts.map +1 -0
- package/dist/markdown/utils.js +149 -0
- package/dist/markdown/utils.js.map +1 -0
- package/dist/random/SeededRandom.d.ts +50 -0
- package/dist/random/SeededRandom.d.ts.map +1 -0
- package/dist/random/SeededRandom.js +115 -0
- package/dist/random/SeededRandom.js.map +1 -0
- package/dist/random/index.d.ts +2 -0
- package/dist/random/index.d.ts.map +1 -0
- package/dist/random/index.js +2 -0
- package/dist/random/index.js.map +1 -0
- package/dist/schemas/BlockTemplates.d.ts +583 -0
- package/dist/schemas/BlockTemplates.d.ts.map +1 -0
- package/dist/schemas/BlockTemplates.js +72 -0
- package/dist/schemas/BlockTemplates.js.map +1 -0
- package/dist/schemas/Doc.d.ts +411 -0
- package/dist/schemas/Doc.d.ts.map +1 -0
- package/dist/schemas/Doc.js +90 -0
- package/dist/schemas/Doc.js.map +1 -0
- package/dist/schemas/LayoutStrategy.d.ts +84 -0
- package/dist/schemas/LayoutStrategy.d.ts.map +1 -0
- package/dist/schemas/LayoutStrategy.js +123 -0
- package/dist/schemas/LayoutStrategy.js.map +1 -0
- package/dist/schemas/MediaProvider.d.ts +65 -0
- package/dist/schemas/MediaProvider.d.ts.map +1 -0
- package/dist/schemas/MediaProvider.js +13 -0
- package/dist/schemas/MediaProvider.js.map +1 -0
- package/dist/schemas/Theme.d.ts +163 -0
- package/dist/schemas/Theme.d.ts.map +1 -0
- package/dist/schemas/Theme.js +62 -0
- package/dist/schemas/Theme.js.map +1 -0
- package/dist/schemas/Types.d.ts +14 -0
- package/dist/schemas/Types.d.ts.map +1 -0
- package/dist/schemas/Types.js +5 -0
- package/dist/schemas/Types.js.map +1 -0
- package/dist/schemas/Viewport.d.ts +74 -0
- package/dist/schemas/Viewport.d.ts.map +1 -0
- package/dist/schemas/Viewport.js +63 -0
- package/dist/schemas/Viewport.js.map +1 -0
- package/dist/schemas/index.d.ts +10 -70
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +7 -60
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/themeLibrary.d.ts +41 -0
- package/dist/schemas/themeLibrary.d.ts.map +1 -0
- package/dist/schemas/themeLibrary.js +466 -0
- package/dist/schemas/themeLibrary.js.map +1 -0
- package/dist/spatial/Geohash.d.ts +85 -0
- package/dist/spatial/Geohash.d.ts.map +1 -0
- package/dist/spatial/Geohash.js +142 -0
- package/dist/spatial/Geohash.js.map +1 -0
- package/dist/spatial/Haversine.d.ts +24 -0
- package/dist/spatial/Haversine.d.ts.map +1 -0
- package/dist/spatial/Haversine.js +48 -0
- package/dist/spatial/Haversine.js.map +1 -0
- package/dist/spatial/index.d.ts +3 -111
- package/dist/spatial/index.d.ts.map +1 -0
- package/dist/spatial/index.js +2 -24
- package/dist/spatial/index.js.map +1 -1
- package/dist/storage/LocalForageAdapter.d.ts +36 -0
- package/dist/storage/LocalForageAdapter.d.ts.map +1 -0
- package/dist/storage/LocalForageAdapter.js +82 -0
- package/dist/storage/LocalForageAdapter.js.map +1 -0
- package/dist/storage/LocalStorageAdapter.d.ts +16 -0
- package/dist/storage/LocalStorageAdapter.d.ts.map +1 -0
- package/dist/storage/LocalStorageAdapter.js +50 -0
- package/dist/storage/LocalStorageAdapter.js.map +1 -0
- package/dist/storage/MemoryStorageAdapter.d.ts +15 -0
- package/dist/storage/MemoryStorageAdapter.d.ts.map +1 -0
- package/dist/storage/MemoryStorageAdapter.js +34 -0
- package/dist/storage/MemoryStorageAdapter.js.map +1 -0
- package/dist/storage/Storage.d.ts +23 -0
- package/dist/storage/Storage.d.ts.map +1 -0
- package/dist/storage/Storage.js +9 -0
- package/dist/storage/Storage.js.map +1 -0
- package/dist/storage/index.d.ts +6 -91
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +3 -10
- package/dist/storage/index.js.map +1 -1
- package/dist/story/index.d.ts +3 -2
- package/dist/themeLibrary-DR1VRo-8.d.ts +44 -0
- package/dist/timing/index.d.ts +4 -0
- package/dist/timing/index.d.ts.map +1 -0
- package/dist/timing/index.js +3 -0
- package/dist/timing/index.js.map +1 -0
- package/dist/timing/narrationTiming.d.ts +54 -0
- package/dist/timing/narrationTiming.d.ts.map +1 -0
- package/dist/timing/narrationTiming.js +190 -0
- package/dist/timing/narrationTiming.js.map +1 -0
- package/dist/timing/readingTime.d.ts +54 -0
- package/dist/timing/readingTime.d.ts.map +1 -0
- package/dist/timing/readingTime.js +49 -0
- package/dist/timing/readingTime.js.map +1 -0
- package/package.json +17 -3
- package/src/__tests__/contentExtractor.test.ts +183 -0
- package/src/__tests__/seededRandom.test.ts +142 -0
- package/src/__tests__/slideshowGenerator.test.ts +128 -0
- package/src/__tests__/timing.test.ts +167 -0
- package/src/generate/contentExtractor.ts +808 -0
- package/src/generate/index.ts +21 -0
- package/src/generate/slideshowGenerator.ts +273 -0
- package/src/generate/templateMapper.ts +170 -0
- package/src/index.ts +3 -0
- package/src/random/SeededRandom.ts +127 -0
- package/src/random/index.ts +1 -0
- package/src/timing/index.ts +17 -0
- package/src/timing/narrationTiming.ts +220 -0
- package/src/timing/readingTime.ts +94 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgBtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slideshow Generator
|
|
3
|
+
*
|
|
4
|
+
* Turns plain text + optional images into a complete squisq `Doc`.
|
|
5
|
+
*
|
|
6
|
+
* Pipeline:
|
|
7
|
+
* 1. Strip markdown (if needed)
|
|
8
|
+
* 2. Extract compelling content (stats, dates, quotes, …)
|
|
9
|
+
* 3. Estimate narration timing
|
|
10
|
+
* 4. Map extractions → template blocks
|
|
11
|
+
* 5. Interleave image slides
|
|
12
|
+
* 6. Return a ready-to-render `Doc`
|
|
13
|
+
*/
|
|
14
|
+
import type { Doc } from '../schemas/Doc.js';
|
|
15
|
+
import type { TemplateBlock, ColorScheme, AccentPosition } from '../schemas/BlockTemplates.js';
|
|
16
|
+
/** A Doc variant whose blocks are TemplateBlocks (no startTime required). */
|
|
17
|
+
export type SlideshowDoc = Omit<Doc, 'blocks'> & {
|
|
18
|
+
blocks: TemplateBlock[];
|
|
19
|
+
};
|
|
20
|
+
/** Image metadata passed to the generator. */
|
|
21
|
+
export interface SlideshowImage {
|
|
22
|
+
/** Image source path or URL. */
|
|
23
|
+
src: string;
|
|
24
|
+
/** Alt text for accessibility. */
|
|
25
|
+
alt?: string;
|
|
26
|
+
/** Photo credit. */
|
|
27
|
+
credit?: string;
|
|
28
|
+
/** License identifier. */
|
|
29
|
+
license?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Options for `generateSlideshow`. */
|
|
32
|
+
export interface SlideshowOptions {
|
|
33
|
+
/** Deterministic seed (default: hash of the text). */
|
|
34
|
+
seed?: number;
|
|
35
|
+
/** Title slide text. Omit to skip the title slide. */
|
|
36
|
+
title?: string;
|
|
37
|
+
/** Subtitle for the title slide. */
|
|
38
|
+
subtitle?: string;
|
|
39
|
+
/** Explicit total duration in seconds. When omitted, estimated from text. */
|
|
40
|
+
duration?: number;
|
|
41
|
+
/** Target number of content slides (default: 5–8, auto-scaled). */
|
|
42
|
+
targetSlides?: number;
|
|
43
|
+
/** Color schemes to rotate (default: ['blue','green','purple','orange','red']). */
|
|
44
|
+
colorSchemes?: ColorScheme[];
|
|
45
|
+
/** Ambient motions to rotate on images. */
|
|
46
|
+
ambientMotions?: Array<'zoomIn' | 'zoomOut' | 'panLeft' | 'panRight'>;
|
|
47
|
+
/** Accent positions to rotate on text slides. */
|
|
48
|
+
accentPositions?: AccentPosition[];
|
|
49
|
+
/** Minimum slide duration in seconds (default: 4). */
|
|
50
|
+
minSlideDuration?: number;
|
|
51
|
+
/** Maximum slide duration in seconds (default: 15). */
|
|
52
|
+
maxSlideDuration?: number;
|
|
53
|
+
/** Theme identifier to embed in the Doc. */
|
|
54
|
+
themeId?: string;
|
|
55
|
+
/** Whether the input text is markdown (default: false). */
|
|
56
|
+
isMarkdown?: boolean;
|
|
57
|
+
/** Minimum extraction confidence (default: 0.3). */
|
|
58
|
+
minConfidence?: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Generate a slideshow `Doc` from text and optional images.
|
|
62
|
+
*
|
|
63
|
+
* ```ts
|
|
64
|
+
* const doc = generateSlideshow(articleText, myImages, {
|
|
65
|
+
* title: 'Mount Rainier',
|
|
66
|
+
* themeId: 'documentary',
|
|
67
|
+
* });
|
|
68
|
+
* // doc is a complete Doc ready for DocPlayer / LinearDocView
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare function generateSlideshow(text: string, images?: SlideshowImage[], options?: SlideshowOptions): SlideshowDoc;
|
|
72
|
+
//# sourceMappingURL=slideshowGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slideshowGenerator.d.ts","sourceRoot":"","sources":["../../src/generate/slideshowGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EACV,aAAa,EAGb,WAAW,EAEX,cAAc,EACf,MAAM,8BAA8B,CAAC;AAQtC,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG;IAC/C,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;IACtE,iDAAiD;IACjD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,cAAc,EAAO,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,YAAY,CA0Id"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slideshow Generator
|
|
3
|
+
*
|
|
4
|
+
* Turns plain text + optional images into a complete squisq `Doc`.
|
|
5
|
+
*
|
|
6
|
+
* Pipeline:
|
|
7
|
+
* 1. Strip markdown (if needed)
|
|
8
|
+
* 2. Extract compelling content (stats, dates, quotes, …)
|
|
9
|
+
* 3. Estimate narration timing
|
|
10
|
+
* 4. Map extractions → template blocks
|
|
11
|
+
* 5. Interleave image slides
|
|
12
|
+
* 6. Return a ready-to-render `Doc`
|
|
13
|
+
*/
|
|
14
|
+
import { extractContent, stripMarkdown } from './contentExtractor.js';
|
|
15
|
+
import { mapElementToBlock } from './templateMapper.js';
|
|
16
|
+
import { estimateNarrationDuration } from '../timing/narrationTiming.js';
|
|
17
|
+
import { SeededRandom, hashString } from '../random/SeededRandom.js';
|
|
18
|
+
const DEFAULT_COLOR_SCHEMES = ['blue', 'green', 'purple', 'orange', 'red'];
|
|
19
|
+
const DEFAULT_AMBIENT_MOTIONS = [
|
|
20
|
+
'zoomIn',
|
|
21
|
+
'zoomOut',
|
|
22
|
+
'panLeft',
|
|
23
|
+
'panRight',
|
|
24
|
+
];
|
|
25
|
+
const DEFAULT_ACCENT_POSITIONS = ['left-strip', 'right-strip', 'bottom-strip'];
|
|
26
|
+
// ── Main ───────────────────────────────────────────────────────────
|
|
27
|
+
/**
|
|
28
|
+
* Generate a slideshow `Doc` from text and optional images.
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* const doc = generateSlideshow(articleText, myImages, {
|
|
32
|
+
* title: 'Mount Rainier',
|
|
33
|
+
* themeId: 'documentary',
|
|
34
|
+
* });
|
|
35
|
+
* // doc is a complete Doc ready for DocPlayer / LinearDocView
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function generateSlideshow(text, images = [], options = {}) {
|
|
39
|
+
const { seed, title, subtitle, duration: explicitDuration, targetSlides, colorSchemes = DEFAULT_COLOR_SCHEMES, ambientMotions = DEFAULT_AMBIENT_MOTIONS, accentPositions = DEFAULT_ACCENT_POSITIONS, minSlideDuration = 4, maxSlideDuration = 15, themeId, isMarkdown = false, minConfidence = 0.3, } = options;
|
|
40
|
+
const plainText = isMarkdown ? stripMarkdown(text) : text;
|
|
41
|
+
const rng = new SeededRandom(seed ?? hashString(plainText));
|
|
42
|
+
// 1. Estimate total duration
|
|
43
|
+
const totalDuration = explicitDuration ?? estimateNarrationDuration(plainText);
|
|
44
|
+
// 2. Extract compelling content
|
|
45
|
+
const extraction = extractContent(plainText, { minConfidence });
|
|
46
|
+
const allElements = extraction.elements;
|
|
47
|
+
// 3. Decide slide budget
|
|
48
|
+
const slideBudget = targetSlides ?? computeSlideBudget(totalDuration, allElements.length);
|
|
49
|
+
// Allocate slots between content and images
|
|
50
|
+
const imageSlotCount = images.length > 0 ? Math.max(1, Math.round(slideBudget * 0.4)) : 0;
|
|
51
|
+
const contentSlotCount = Math.max(0, slideBudget - imageSlotCount - (title ? 1 : 0));
|
|
52
|
+
// Select top elements by confidence, then restore source order
|
|
53
|
+
const sorted = [...allElements].sort((a, b) => b.confidence - a.confidence);
|
|
54
|
+
const selected = sorted.slice(0, contentSlotCount);
|
|
55
|
+
selected.sort((a, b) => a.sourcePosition - b.sourcePosition);
|
|
56
|
+
// 4. Build slides
|
|
57
|
+
const blocks = [];
|
|
58
|
+
let slideIndex = 0;
|
|
59
|
+
let colorIdx = 0;
|
|
60
|
+
let accentIdx = 0;
|
|
61
|
+
// Determine per-slide duration
|
|
62
|
+
const totalSlideCount = (title ? 1 : 0) + selected.length + Math.min(imageSlotCount, images.length);
|
|
63
|
+
const perSlide = totalSlideCount > 0
|
|
64
|
+
? Math.min(maxSlideDuration, Math.max(minSlideDuration, totalDuration / totalSlideCount))
|
|
65
|
+
: minSlideDuration;
|
|
66
|
+
// Title slide
|
|
67
|
+
if (title) {
|
|
68
|
+
const titleBlock = {
|
|
69
|
+
id: `slide-${slideIndex++}`,
|
|
70
|
+
template: 'titleBlock',
|
|
71
|
+
title,
|
|
72
|
+
subtitle,
|
|
73
|
+
duration: Math.min(perSlide, 6),
|
|
74
|
+
audioSegment: 0,
|
|
75
|
+
};
|
|
76
|
+
blocks.push(titleBlock);
|
|
77
|
+
}
|
|
78
|
+
// Prepare image pool for standalone + accent images
|
|
79
|
+
const standaloneImages = images.slice(0, Math.min(imageSlotCount, images.length));
|
|
80
|
+
const accentPool = images.length > standaloneImages.length ? images.slice(standaloneImages.length) : [...images]; // reuse if not enough
|
|
81
|
+
// Interleave pattern: insert an image slide every N content slides
|
|
82
|
+
const imageInterval = standaloneImages.length > 0
|
|
83
|
+
? Math.max(1, Math.floor(selected.length / (standaloneImages.length + 1)))
|
|
84
|
+
: Infinity;
|
|
85
|
+
let imgIdx = 0;
|
|
86
|
+
let sinceImage = 0;
|
|
87
|
+
for (let i = 0; i < selected.length; i++) {
|
|
88
|
+
// Maybe insert a standalone image slide before this content slide
|
|
89
|
+
if (sinceImage >= imageInterval && imgIdx < standaloneImages.length) {
|
|
90
|
+
blocks.push(createImageSlide(standaloneImages[imgIdx], slideIndex++, perSlide, rng, ambientMotions));
|
|
91
|
+
imgIdx++;
|
|
92
|
+
sinceImage = 0;
|
|
93
|
+
}
|
|
94
|
+
const element = selected[i];
|
|
95
|
+
// Optional accent image
|
|
96
|
+
let accentImage;
|
|
97
|
+
if (accentPool.length > 0) {
|
|
98
|
+
const img = accentPool[i % accentPool.length];
|
|
99
|
+
accentImage = {
|
|
100
|
+
src: img.src,
|
|
101
|
+
alt: img.alt ?? '',
|
|
102
|
+
position: accentPositions[accentIdx % accentPositions.length],
|
|
103
|
+
ambientMotion: rng.pickRequired(ambientMotions),
|
|
104
|
+
credit: img.credit,
|
|
105
|
+
license: img.license,
|
|
106
|
+
};
|
|
107
|
+
accentIdx++;
|
|
108
|
+
}
|
|
109
|
+
const block = mapElementToBlock(element, {
|
|
110
|
+
id: `slide-${slideIndex++}`,
|
|
111
|
+
duration: perSlide,
|
|
112
|
+
audioSegment: 0,
|
|
113
|
+
colorScheme: colorSchemes[colorIdx % colorSchemes.length],
|
|
114
|
+
accentImage,
|
|
115
|
+
});
|
|
116
|
+
blocks.push(block);
|
|
117
|
+
colorIdx++;
|
|
118
|
+
sinceImage++;
|
|
119
|
+
}
|
|
120
|
+
// Append any remaining standalone images
|
|
121
|
+
while (imgIdx < standaloneImages.length) {
|
|
122
|
+
blocks.push(createImageSlide(standaloneImages[imgIdx], slideIndex++, perSlide, rng, ambientMotions));
|
|
123
|
+
imgIdx++;
|
|
124
|
+
}
|
|
125
|
+
// 5. Assemble Doc
|
|
126
|
+
const doc = {
|
|
127
|
+
articleId: title ?? 'slideshow',
|
|
128
|
+
duration: totalDuration,
|
|
129
|
+
blocks,
|
|
130
|
+
audio: {
|
|
131
|
+
segments: [{ src: '', name: 'main', duration: totalDuration, startTime: 0 }],
|
|
132
|
+
},
|
|
133
|
+
themeId,
|
|
134
|
+
};
|
|
135
|
+
return doc;
|
|
136
|
+
}
|
|
137
|
+
// ── Helpers ────────────────────────────────────────────────────────
|
|
138
|
+
function computeSlideBudget(duration, elementCount) {
|
|
139
|
+
// Aim for ~5 slides per minute of content, clamped 3–12
|
|
140
|
+
const byDuration = Math.round((duration / 60) * 5);
|
|
141
|
+
// But don't exceed available elements + a few image slots
|
|
142
|
+
const budget = Math.min(byDuration, elementCount + 4);
|
|
143
|
+
return Math.max(3, Math.min(12, budget));
|
|
144
|
+
}
|
|
145
|
+
function createImageSlide(img, index, duration, rng, motions) {
|
|
146
|
+
return {
|
|
147
|
+
id: `slide-${index}`,
|
|
148
|
+
template: 'imageWithCaption',
|
|
149
|
+
imageSrc: img.src,
|
|
150
|
+
imageAlt: img.alt ?? '',
|
|
151
|
+
caption: img.alt,
|
|
152
|
+
duration,
|
|
153
|
+
audioSegment: 0,
|
|
154
|
+
ambientMotion: rng.pickRequired(motions),
|
|
155
|
+
imageCredit: img.credit,
|
|
156
|
+
imageLicense: img.license,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=slideshowGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slideshowGenerator.js","sourceRoot":"","sources":["../../src/generate/slideshowGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Mapper
|
|
3
|
+
*
|
|
4
|
+
* Converts extracted content elements into squisq TemplateBlock inputs.
|
|
5
|
+
* Each ExtractionType maps to a specific template from BlockTemplates.
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtractedElement } from './contentExtractor.js';
|
|
8
|
+
import type { TemplateBlock, ColorScheme, AccentImage } from '../schemas/BlockTemplates.js';
|
|
9
|
+
/** Options for mapping an element to a template block. */
|
|
10
|
+
export interface MapOptions {
|
|
11
|
+
id: string;
|
|
12
|
+
duration: number;
|
|
13
|
+
audioSegment: number;
|
|
14
|
+
colorScheme?: ColorScheme;
|
|
15
|
+
accentImage?: AccentImage;
|
|
16
|
+
sourceStartTime?: number;
|
|
17
|
+
sourceDuration?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Convert an extracted element into the matching squisq TemplateBlock.
|
|
21
|
+
*/
|
|
22
|
+
export declare function mapElementToBlock(element: ExtractedElement, options: MapOptions): TemplateBlock;
|
|
23
|
+
//# sourceMappingURL=templateMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateMapper.d.ts","sourceRoot":"","sources":["../../src/generate/templateMapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,gBAAgB,EASjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EASV,aAAa,EACb,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAEtC,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,GAAG,aAAa,CA2B/F"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Mapper
|
|
3
|
+
*
|
|
4
|
+
* Converts extracted content elements into squisq TemplateBlock inputs.
|
|
5
|
+
* Each ExtractionType maps to a specific template from BlockTemplates.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Convert an extracted element into the matching squisq TemplateBlock.
|
|
9
|
+
*/
|
|
10
|
+
export function mapElementToBlock(element, options) {
|
|
11
|
+
const base = {
|
|
12
|
+
id: options.id,
|
|
13
|
+
duration: options.duration,
|
|
14
|
+
audioSegment: options.audioSegment,
|
|
15
|
+
sourceStartTime: options.sourceStartTime,
|
|
16
|
+
sourceDuration: options.sourceDuration,
|
|
17
|
+
};
|
|
18
|
+
switch (element.data.type) {
|
|
19
|
+
case 'stat':
|
|
20
|
+
return mapStat(element.data, base, options);
|
|
21
|
+
case 'date':
|
|
22
|
+
return mapDate(element.data, base, options);
|
|
23
|
+
case 'quote':
|
|
24
|
+
return mapQuote(element.data, base, options);
|
|
25
|
+
case 'comparison':
|
|
26
|
+
return mapComparison(element.data, base, options);
|
|
27
|
+
case 'fact':
|
|
28
|
+
return mapFact(element.data, base, options);
|
|
29
|
+
case 'impactLine':
|
|
30
|
+
return mapImpactLine(element.data, base, options);
|
|
31
|
+
case 'list':
|
|
32
|
+
return mapList(element.data, base, options);
|
|
33
|
+
case 'definition':
|
|
34
|
+
return mapDefinition(element.data, base, options);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function mapStat(data, base, opts) {
|
|
38
|
+
return {
|
|
39
|
+
...base,
|
|
40
|
+
template: 'statHighlight',
|
|
41
|
+
stat: data.value,
|
|
42
|
+
description: data.description,
|
|
43
|
+
colorScheme: opts.colorScheme,
|
|
44
|
+
accentImage: opts.accentImage,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function mapDate(data, base, opts) {
|
|
48
|
+
return {
|
|
49
|
+
...base,
|
|
50
|
+
template: 'dateEvent',
|
|
51
|
+
date: data.date,
|
|
52
|
+
description: data.description,
|
|
53
|
+
mood: data.mood,
|
|
54
|
+
accentImage: opts.accentImage,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function mapQuote(data, base, opts) {
|
|
58
|
+
return {
|
|
59
|
+
...base,
|
|
60
|
+
template: 'quoteBlock',
|
|
61
|
+
quote: data.quote,
|
|
62
|
+
attribution: data.attribution,
|
|
63
|
+
accentImage: opts.accentImage,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function mapComparison(data, base, opts) {
|
|
67
|
+
return {
|
|
68
|
+
...base,
|
|
69
|
+
template: 'twoColumn',
|
|
70
|
+
left: data.left,
|
|
71
|
+
right: data.right,
|
|
72
|
+
header: data.header,
|
|
73
|
+
leftColor: opts.colorScheme,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function mapFact(data, base, opts) {
|
|
77
|
+
return {
|
|
78
|
+
...base,
|
|
79
|
+
template: 'factCard',
|
|
80
|
+
fact: data.fact,
|
|
81
|
+
explanation: data.explanation ?? '',
|
|
82
|
+
accentImage: opts.accentImage,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function mapImpactLine(data, base, opts) {
|
|
86
|
+
return {
|
|
87
|
+
...base,
|
|
88
|
+
template: 'fullBleedQuote',
|
|
89
|
+
text: data.text,
|
|
90
|
+
colorScheme: opts.colorScheme,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function mapList(data, base, opts) {
|
|
94
|
+
return {
|
|
95
|
+
...base,
|
|
96
|
+
template: 'listBlock',
|
|
97
|
+
items: data.items,
|
|
98
|
+
title: data.title,
|
|
99
|
+
colorScheme: opts.colorScheme,
|
|
100
|
+
accentImage: opts.accentImage,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function mapDefinition(data, base, opts) {
|
|
104
|
+
return {
|
|
105
|
+
...base,
|
|
106
|
+
template: 'definitionCard',
|
|
107
|
+
term: data.term,
|
|
108
|
+
definition: data.definition,
|
|
109
|
+
origin: data.origin,
|
|
110
|
+
colorScheme: opts.colorScheme,
|
|
111
|
+
accentImage: opts.accentImage,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=templateMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateMapper.js","sourceRoot":"","sources":["../../src/generate/templateMapper.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
1
|
+
export * from './schemas/index.js';
|
|
2
|
+
export * from './doc/index.js';
|
|
3
|
+
export * from './spatial/index.js';
|
|
4
|
+
export * from './storage/index.js';
|
|
5
|
+
export * from './markdown/index.js';
|
|
6
|
+
export * from './timing/index.js';
|
|
7
|
+
export * from './random/index.js';
|
|
8
|
+
export * from './generate/index.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,217 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
calculateBearing,
|
|
11
|
-
decodeGeohash,
|
|
12
|
-
encodeGeohash,
|
|
13
|
-
geohashOverlapsBounds,
|
|
14
|
-
geohashToHierarchicalPath,
|
|
15
|
-
getGeohash4Neighbors,
|
|
16
|
-
getGeohashPath,
|
|
17
|
-
getGeohashPrefix,
|
|
18
|
-
getNeighbors,
|
|
19
|
-
haversineDistance
|
|
20
|
-
} from "./chunk-7UDSRZKG.js";
|
|
21
|
-
import {
|
|
22
|
-
DEFAULT_LAYOUT,
|
|
23
|
-
adjustY,
|
|
24
|
-
comparisonBar,
|
|
25
|
-
countBlocks,
|
|
26
|
-
coverBlock,
|
|
27
|
-
createAccentLayers,
|
|
28
|
-
dateEvent,
|
|
29
|
-
definitionCard,
|
|
30
|
-
docToMarkdown,
|
|
31
|
-
expandCoverBlock,
|
|
32
|
-
expandDocBlocks,
|
|
33
|
-
expandPersistentLayers,
|
|
34
|
-
expandTemplateBlock,
|
|
35
|
-
factCard,
|
|
36
|
-
flattenBlocks,
|
|
37
|
-
fullBleedQuote,
|
|
38
|
-
getAccentLayout,
|
|
39
|
-
getAnimationProgress,
|
|
40
|
-
getAnimationStyle,
|
|
41
|
-
getAvailableTemplates,
|
|
42
|
-
getBlockDepth,
|
|
43
|
-
getDefaultAnimation,
|
|
44
|
-
getDefaultAnimationDuration,
|
|
45
|
-
getDocStyleConfig,
|
|
46
|
-
getLayers,
|
|
47
|
-
getOverlayOpacity,
|
|
48
|
-
getTemplateHint,
|
|
49
|
-
getTransitionClass,
|
|
50
|
-
hasTemplate,
|
|
51
|
-
imageWithCaption,
|
|
52
|
-
listBlock,
|
|
53
|
-
mapBlock,
|
|
54
|
-
markdownToDoc,
|
|
55
|
-
photoGrid,
|
|
56
|
-
pullQuote,
|
|
57
|
-
quoteBlock,
|
|
58
|
-
resolveColorScheme,
|
|
59
|
-
scaleAnimationDuration,
|
|
60
|
-
sectionHeader,
|
|
61
|
-
shouldUseShadow,
|
|
62
|
-
statHighlight,
|
|
63
|
-
templateRegistry,
|
|
64
|
-
themedFontSize,
|
|
65
|
-
titleBlock,
|
|
66
|
-
twoColumn,
|
|
67
|
-
videoPullQuote,
|
|
68
|
-
videoWithCaption
|
|
69
|
-
} from "./chunk-PJ7AODIM.js";
|
|
70
|
-
import {
|
|
71
|
-
DEFAULT_DOC_FONT,
|
|
72
|
-
DEFAULT_THEME,
|
|
73
|
-
DEFAULT_THEME_ID,
|
|
74
|
-
DEFAULT_TITLE_FONT,
|
|
75
|
-
THEMES,
|
|
76
|
-
VIEWPORT_PRESETS,
|
|
77
|
-
calculateFontScale,
|
|
78
|
-
createTemplateContext,
|
|
79
|
-
getAspectRatioString,
|
|
80
|
-
getAvailableThemes,
|
|
81
|
-
getLayoutHints,
|
|
82
|
-
getSafeTextBounds,
|
|
83
|
-
getThemeSummaries,
|
|
84
|
-
getTwoColumnPositions,
|
|
85
|
-
getViewport,
|
|
86
|
-
getViewportOrientation,
|
|
87
|
-
isPersistentLayerTemplate,
|
|
88
|
-
isTemplateBlock,
|
|
89
|
-
resolveTheme,
|
|
90
|
-
scaledFontSize,
|
|
91
|
-
scaledFontSize2
|
|
92
|
-
} from "./chunk-O5HCIUAD.js";
|
|
93
|
-
import {
|
|
94
|
-
LocalForageAdapter,
|
|
95
|
-
LocalStorageAdapter,
|
|
96
|
-
MemoryStorageAdapter
|
|
97
|
-
} from "./chunk-VJN7UB2Z.js";
|
|
98
|
-
import {
|
|
99
|
-
fromMdast,
|
|
100
|
-
parseHtmlToNodes,
|
|
101
|
-
parseMarkdown,
|
|
102
|
-
stringifyHtmlNodes,
|
|
103
|
-
stringifyMarkdown,
|
|
104
|
-
toMdast
|
|
105
|
-
} from "./chunk-URU6QMLY.js";
|
|
106
|
-
import {
|
|
107
|
-
countNodes,
|
|
108
|
-
createDocument,
|
|
109
|
-
extractPlainText,
|
|
110
|
-
findNodesByType,
|
|
111
|
-
getChildren,
|
|
112
|
-
parseFrontmatter,
|
|
113
|
-
walkMarkdownTree
|
|
114
|
-
} from "./chunk-QWVRN6I4.js";
|
|
115
|
-
export {
|
|
116
|
-
DEFAULT_DOC_FONT,
|
|
117
|
-
DEFAULT_LAYOUT,
|
|
118
|
-
DEFAULT_THEME,
|
|
119
|
-
DEFAULT_THEME_ID,
|
|
120
|
-
DEFAULT_TITLE_FONT,
|
|
121
|
-
LocalForageAdapter,
|
|
122
|
-
LocalStorageAdapter,
|
|
123
|
-
MemoryStorageAdapter,
|
|
124
|
-
THEMES,
|
|
125
|
-
VIEWPORT_PRESETS,
|
|
126
|
-
adjustY,
|
|
127
|
-
calculateBearing,
|
|
128
|
-
calculateDuration,
|
|
129
|
-
calculateFontScale,
|
|
130
|
-
comparisonBar,
|
|
131
|
-
countBlocks,
|
|
132
|
-
countNodes,
|
|
133
|
-
coverBlock,
|
|
134
|
-
createAccentLayers,
|
|
135
|
-
createDocument,
|
|
136
|
-
createTemplateContext,
|
|
137
|
-
createTheme,
|
|
138
|
-
dateEvent,
|
|
139
|
-
decodeGeohash,
|
|
140
|
-
definitionCard,
|
|
141
|
-
docToMarkdown,
|
|
142
|
-
encodeGeohash,
|
|
143
|
-
expandCoverBlock,
|
|
144
|
-
expandDocBlocks,
|
|
145
|
-
expandPersistentLayers,
|
|
146
|
-
expandTemplateBlock,
|
|
147
|
-
extractPlainText,
|
|
148
|
-
factCard,
|
|
149
|
-
findNodesByType,
|
|
150
|
-
flattenBlocks,
|
|
151
|
-
fromMdast,
|
|
152
|
-
fullBleedQuote,
|
|
153
|
-
geohashOverlapsBounds,
|
|
154
|
-
geohashToHierarchicalPath,
|
|
155
|
-
getAccentLayout,
|
|
156
|
-
getAnimationProgress,
|
|
157
|
-
getAnimationStyle,
|
|
158
|
-
getAspectRatioString,
|
|
159
|
-
getAvailableTemplates,
|
|
160
|
-
getAvailableThemes,
|
|
161
|
-
getBlockAtTime,
|
|
162
|
-
getBlockDepth,
|
|
163
|
-
getCaptionAtTime,
|
|
164
|
-
getChildren,
|
|
165
|
-
getDefaultAnimation,
|
|
166
|
-
getDefaultAnimationDuration,
|
|
167
|
-
getDocStyleConfig,
|
|
168
|
-
getGeohash4Neighbors,
|
|
169
|
-
getGeohashPath,
|
|
170
|
-
getGeohashPrefix,
|
|
171
|
-
getLayers,
|
|
172
|
-
getLayoutHints,
|
|
173
|
-
getNeighbors,
|
|
174
|
-
getOverlayOpacity,
|
|
175
|
-
getSafeTextBounds,
|
|
176
|
-
getSegmentAtTime,
|
|
177
|
-
getTemplateHint,
|
|
178
|
-
getThemeSummaries,
|
|
179
|
-
getTransitionClass,
|
|
180
|
-
getTwoColumnPositions,
|
|
181
|
-
getViewport,
|
|
182
|
-
getViewportOrientation,
|
|
183
|
-
hasTemplate,
|
|
184
|
-
haversineDistance,
|
|
185
|
-
imageWithCaption,
|
|
186
|
-
isPersistentLayerTemplate,
|
|
187
|
-
isTemplateBlock,
|
|
188
|
-
scaledFontSize as layoutScaledFontSize,
|
|
189
|
-
listBlock,
|
|
190
|
-
mapBlock,
|
|
191
|
-
markdownToDoc,
|
|
192
|
-
parseFrontmatter,
|
|
193
|
-
parseHtmlToNodes,
|
|
194
|
-
parseMarkdown,
|
|
195
|
-
photoGrid,
|
|
196
|
-
pullQuote,
|
|
197
|
-
quoteBlock,
|
|
198
|
-
resolveColorScheme,
|
|
199
|
-
resolveTheme,
|
|
200
|
-
scaleAnimationDuration,
|
|
201
|
-
scaledFontSize2 as scaledFontSize,
|
|
202
|
-
sectionHeader,
|
|
203
|
-
shouldUseShadow,
|
|
204
|
-
statHighlight,
|
|
205
|
-
stringifyHtmlNodes,
|
|
206
|
-
stringifyMarkdown,
|
|
207
|
-
templateRegistry,
|
|
208
|
-
themedFontSize,
|
|
209
|
-
titleBlock,
|
|
210
|
-
toMdast,
|
|
211
|
-
twoColumn,
|
|
212
|
-
validateDoc,
|
|
213
|
-
videoPullQuote,
|
|
214
|
-
videoWithCaption,
|
|
215
|
-
walkMarkdownTree
|
|
216
|
-
};
|
|
1
|
+
export * from './schemas/index.js';
|
|
2
|
+
export * from './doc/index.js';
|
|
3
|
+
export * from './spatial/index.js';
|
|
4
|
+
export * from './storage/index.js';
|
|
5
|
+
export * from './markdown/index.js';
|
|
6
|
+
export * from './timing/index.js';
|
|
7
|
+
export * from './random/index.js';
|
|
8
|
+
export * from './generate/index.js';
|
|
217
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|