@bendyline/squisq-formats 1.1.0 → 1.1.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/README.md +23 -10
- package/dist/{chunk-MQHCXI56.js → chunk-6OVREALI.js} +31 -13
- package/dist/chunk-6OVREALI.js.map +1 -0
- package/dist/{chunk-ULLIPBEJ.js → chunk-743COJWQ.js} +6 -2
- package/dist/chunk-743COJWQ.js.map +1 -0
- package/dist/{chunk-KAK4V57E.js → chunk-BHHEDPRB.js} +16 -112
- package/dist/chunk-BHHEDPRB.js.map +1 -0
- package/dist/chunk-FIFCQN3W.js +630 -0
- package/dist/chunk-FIFCQN3W.js.map +1 -0
- package/dist/chunk-KJ4NS4DX.js +120 -0
- package/dist/chunk-KJ4NS4DX.js.map +1 -0
- package/dist/{chunk-TBPD5PCU.js → chunk-PP5N46YD.js} +33 -11
- package/dist/chunk-PP5N46YD.js.map +1 -0
- package/dist/docx/export.d.ts +6 -0
- package/dist/docx/export.d.ts.map +1 -1
- package/dist/docx/export.js +24 -7
- package/dist/docx/export.js.map +1 -1
- package/dist/html/htmlTemplate.d.ts +6 -0
- package/dist/html/htmlTemplate.d.ts.map +1 -1
- package/dist/html/htmlTemplate.js +5 -1
- package/dist/html/htmlTemplate.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/ooxml/index.d.ts +1 -1
- package/dist/ooxml/index.d.ts.map +1 -1
- package/dist/ooxml/index.js +1 -1
- package/dist/ooxml/index.js.map +1 -1
- package/dist/ooxml/namespaces.d.ts +10 -0
- package/dist/ooxml/namespaces.d.ts.map +1 -1
- package/dist/ooxml/namespaces.js +10 -0
- package/dist/ooxml/namespaces.js.map +1 -1
- package/dist/pdf/export.d.ts +6 -0
- package/dist/pdf/export.d.ts.map +1 -1
- package/dist/pdf/export.js +37 -9
- package/dist/pdf/export.js.map +1 -1
- package/dist/pptx/export.d.ts +75 -0
- package/dist/pptx/export.d.ts.map +1 -0
- package/dist/pptx/export.js +722 -0
- package/dist/pptx/export.js.map +1 -0
- package/dist/pptx/index.d.ts +12 -27
- package/dist/pptx/index.d.ts.map +1 -1
- package/dist/pptx/index.js +12 -22
- package/dist/pptx/index.js.map +1 -1
- package/dist/pptx/styles.d.ts +54 -0
- package/dist/pptx/styles.d.ts.map +1 -0
- package/dist/pptx/styles.js +73 -0
- package/dist/pptx/styles.js.map +1 -0
- package/dist/pptx/templates.d.ts +24 -0
- package/dist/pptx/templates.d.ts.map +1 -0
- package/dist/pptx/templates.js +158 -0
- package/dist/pptx/templates.js.map +1 -0
- package/package.json +2 -2
- package/src/docx/export.ts +36 -8
- package/src/html/htmlTemplate.ts +13 -0
- package/src/index.ts +2 -2
- package/src/ooxml/index.ts +7 -0
- package/src/ooxml/namespaces.ts +23 -0
- package/src/pdf/export.ts +57 -9
- package/src/pptx/export.ts +1041 -0
- package/src/pptx/index.ts +15 -37
- package/src/pptx/styles.ts +96 -0
- package/src/pptx/templates.ts +187 -0
- package/dist/chunk-532L4D5D.js +0 -21
- package/dist/chunk-532L4D5D.js.map +0 -1
- package/dist/chunk-KAK4V57E.js.map +0 -1
- package/dist/chunk-MQHCXI56.js.map +0 -1
- package/dist/chunk-TBPD5PCU.js.map +0 -1
- package/dist/chunk-ULLIPBEJ.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/pptx/export.ts"],"names":[],"mappings":"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"}
|
package/dist/pptx/index.d.ts
CHANGED
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @bendyline/squisq-formats PPTX Module
|
|
2
|
+
* @bendyline/squisq-formats PPTX Module
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* PowerPoint .pptx export support using PresentationML (`<p:presentation>`,
|
|
5
|
+
* `<p:sld>`) via the shared ooxml/ infrastructure.
|
|
6
|
+
*
|
|
7
|
+
* Slide segmentation: each H1/H2 heading starts a new slide by default.
|
|
8
|
+
* Inline formatting (bold, italic, code, links) is preserved as DrawingML runs.
|
|
9
|
+
*
|
|
10
|
+
* Import is not yet implemented.
|
|
7
11
|
*
|
|
8
12
|
* @example
|
|
9
13
|
* ```ts
|
|
10
14
|
* import { markdownDocToPptx } from '@bendyline/squisq-formats/pptx';
|
|
11
15
|
* ```
|
|
12
16
|
*/
|
|
17
|
+
export { markdownDocToPptx, docToPptx } from './export.js';
|
|
18
|
+
export type { PptxExportOptions } from './export.js';
|
|
13
19
|
import type { MarkdownDocument } from '@bendyline/squisq/markdown';
|
|
14
20
|
import type { Doc } from '@bendyline/squisq/schemas';
|
|
15
|
-
/**
|
|
16
|
-
* Options for PPTX export (placeholder).
|
|
17
|
-
*/
|
|
18
|
-
export interface PptxExportOptions {
|
|
19
|
-
/** Presentation title */
|
|
20
|
-
title?: string;
|
|
21
|
-
/** Presentation author */
|
|
22
|
-
author?: string;
|
|
23
|
-
}
|
|
24
21
|
/**
|
|
25
22
|
* Options for PPTX import (placeholder).
|
|
26
23
|
*/
|
|
@@ -28,28 +25,16 @@ export interface PptxImportOptions {
|
|
|
28
25
|
/** Whether to extract embedded images as data URIs */
|
|
29
26
|
extractImages?: boolean;
|
|
30
27
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Convert a MarkdownDocument to a .pptx Blob.
|
|
33
|
-
*
|
|
34
|
-
* @throws Error — PPTX support is not yet implemented
|
|
35
|
-
*/
|
|
36
|
-
export declare function markdownDocToPptx(_doc: MarkdownDocument, _options?: PptxExportOptions): Promise<Blob>;
|
|
37
|
-
/**
|
|
38
|
-
* Convert a squisq Doc to a .pptx Blob.
|
|
39
|
-
*
|
|
40
|
-
* @throws Error — PPTX support is not yet implemented
|
|
41
|
-
*/
|
|
42
|
-
export declare function docToPptx(_doc: Doc, _options?: PptxExportOptions): Promise<Blob>;
|
|
43
28
|
/**
|
|
44
29
|
* Convert a .pptx file to a MarkdownDocument.
|
|
45
30
|
*
|
|
46
|
-
* @throws Error — PPTX
|
|
31
|
+
* @throws Error — PPTX import is not yet implemented
|
|
47
32
|
*/
|
|
48
33
|
export declare function pptxToMarkdownDoc(_data: ArrayBuffer | Blob, _options?: PptxImportOptions): Promise<MarkdownDocument>;
|
|
49
34
|
/**
|
|
50
35
|
* Convert a .pptx file to a squisq Doc.
|
|
51
36
|
*
|
|
52
|
-
* @throws Error — PPTX
|
|
37
|
+
* @throws Error — PPTX import is not yet implemented
|
|
53
38
|
*/
|
|
54
39
|
export declare function pptxToDoc(_data: ArrayBuffer | Blob, _options?: PptxImportOptions): Promise<Doc>;
|
|
55
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/pptx/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pptx/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pptx/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,GAAG,IAAI,EACzB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,GAAG,IAAI,EACzB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,GAAG,CAAC,CAEd"}
|
package/dist/pptx/index.js
CHANGED
|
@@ -1,35 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @bendyline/squisq-formats PPTX Module
|
|
2
|
+
* @bendyline/squisq-formats PPTX Module
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* PowerPoint .pptx export support using PresentationML (`<p:presentation>`,
|
|
5
|
+
* `<p:sld>`) via the shared ooxml/ infrastructure.
|
|
6
|
+
*
|
|
7
|
+
* Slide segmentation: each H1/H2 heading starts a new slide by default.
|
|
8
|
+
* Inline formatting (bold, italic, code, links) is preserved as DrawingML runs.
|
|
9
|
+
*
|
|
10
|
+
* Import is not yet implemented.
|
|
7
11
|
*
|
|
8
12
|
* @example
|
|
9
13
|
* ```ts
|
|
10
14
|
* import { markdownDocToPptx } from '@bendyline/squisq-formats/pptx';
|
|
11
15
|
* ```
|
|
12
16
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*
|
|
16
|
-
* @throws Error — PPTX support is not yet implemented
|
|
17
|
-
*/
|
|
18
|
-
export async function markdownDocToPptx(_doc, _options) {
|
|
19
|
-
throw new Error('PPTX export is not yet implemented');
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Convert a squisq Doc to a .pptx Blob.
|
|
23
|
-
*
|
|
24
|
-
* @throws Error — PPTX support is not yet implemented
|
|
25
|
-
*/
|
|
26
|
-
export async function docToPptx(_doc, _options) {
|
|
27
|
-
throw new Error('PPTX export is not yet implemented');
|
|
28
|
-
}
|
|
17
|
+
// Export
|
|
18
|
+
export { markdownDocToPptx, docToPptx } from './export.js';
|
|
29
19
|
/**
|
|
30
20
|
* Convert a .pptx file to a MarkdownDocument.
|
|
31
21
|
*
|
|
32
|
-
* @throws Error — PPTX
|
|
22
|
+
* @throws Error — PPTX import is not yet implemented
|
|
33
23
|
*/
|
|
34
24
|
export async function pptxToMarkdownDoc(_data, _options) {
|
|
35
25
|
throw new Error('PPTX import is not yet implemented');
|
|
@@ -37,7 +27,7 @@ export async function pptxToMarkdownDoc(_data, _options) {
|
|
|
37
27
|
/**
|
|
38
28
|
* Convert a .pptx file to a squisq Doc.
|
|
39
29
|
*
|
|
40
|
-
* @throws Error — PPTX
|
|
30
|
+
* @throws Error — PPTX import is not yet implemented
|
|
41
31
|
*/
|
|
42
32
|
export async function pptxToDoc(_data, _options) {
|
|
43
33
|
throw new Error('PPTX import is not yet implemented');
|
package/dist/pptx/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pptx/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pptx/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAe3D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAyB,EACzB,QAA4B;IAE5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAyB,EACzB,QAA4B;IAE5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PPTX Constants & Style Definitions
|
|
3
|
+
*
|
|
4
|
+
* Shared constants for PPTX export: slide dimensions, text box positioning,
|
|
5
|
+
* font sizes, and unit conversion helpers. All dimensions are in EMU
|
|
6
|
+
* (English Metric Units) unless otherwise noted.
|
|
7
|
+
*
|
|
8
|
+
* 1 inch = 914400 EMU
|
|
9
|
+
* 1 point = 12700 EMU
|
|
10
|
+
* Font sizes in PPTX are in hundredths of a point (centi-points).
|
|
11
|
+
*/
|
|
12
|
+
/** Widescreen slide width: 10 inches */
|
|
13
|
+
export declare const SLIDE_WIDTH = 9144000;
|
|
14
|
+
/** Widescreen slide height: 7.5 inches */
|
|
15
|
+
export declare const SLIDE_HEIGHT = 6858000;
|
|
16
|
+
/** Title shape left offset: 0.5 inches */
|
|
17
|
+
export declare const TITLE_LEFT = 457200;
|
|
18
|
+
/** Title shape top offset: 0.3 inches */
|
|
19
|
+
export declare const TITLE_TOP = 274638;
|
|
20
|
+
/** Title shape width: 9 inches */
|
|
21
|
+
export declare const TITLE_WIDTH = 8229600;
|
|
22
|
+
/** Title shape height: 1.25 inches */
|
|
23
|
+
export declare const TITLE_HEIGHT = 1143000;
|
|
24
|
+
/** Body shape left offset: 0.5 inches */
|
|
25
|
+
export declare const BODY_LEFT = 457200;
|
|
26
|
+
/** Body shape top offset: 1.75 inches */
|
|
27
|
+
export declare const BODY_TOP = 1600200;
|
|
28
|
+
/** Body shape width: 9 inches */
|
|
29
|
+
export declare const BODY_WIDTH = 8229600;
|
|
30
|
+
/** Body shape height: 4.95 inches */
|
|
31
|
+
export declare const BODY_HEIGHT = 4525963;
|
|
32
|
+
/** Default font for body text */
|
|
33
|
+
export declare const DEFAULT_FONT = "Calibri";
|
|
34
|
+
/** Default font for titles */
|
|
35
|
+
export declare const DEFAULT_TITLE_FONT = "Calibri Light";
|
|
36
|
+
/** Default font for code blocks */
|
|
37
|
+
export declare const DEFAULT_CODE_FONT = "Consolas";
|
|
38
|
+
/** Default title font size in centi-points (44pt) */
|
|
39
|
+
export declare const DEFAULT_TITLE_SIZE = 4400;
|
|
40
|
+
/** Default body font size in centi-points (18pt) */
|
|
41
|
+
export declare const DEFAULT_BODY_SIZE = 1800;
|
|
42
|
+
/** Default code font size in centi-points (14pt) */
|
|
43
|
+
export declare const DEFAULT_CODE_SIZE = 1400;
|
|
44
|
+
/** Hyperlink color (standard blue) */
|
|
45
|
+
export declare const HYPERLINK_COLOR = "0563C1";
|
|
46
|
+
/**
|
|
47
|
+
* Convert inches to EMUs.
|
|
48
|
+
*/
|
|
49
|
+
export declare function inchesToEmu(inches: number): number;
|
|
50
|
+
/**
|
|
51
|
+
* Convert points to centi-points (PPTX font size unit).
|
|
52
|
+
*/
|
|
53
|
+
export declare function pointsToCentiPoints(points: number): number;
|
|
54
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/pptx/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,wCAAwC;AACxC,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,0CAA0C;AAC1C,eAAO,MAAM,YAAY,UAAU,CAAC;AAMpC,0CAA0C;AAC1C,eAAO,MAAM,UAAU,SAAS,CAAC;AAEjC,yCAAyC;AACzC,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC,kCAAkC;AAClC,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,sCAAsC;AACtC,eAAO,MAAM,YAAY,UAAU,CAAC;AAMpC,yCAAyC;AACzC,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC,yCAAyC;AACzC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAEhC,iCAAiC;AACjC,eAAO,MAAM,UAAU,UAAU,CAAC;AAElC,qCAAqC;AACrC,eAAO,MAAM,WAAW,UAAU,CAAC;AAMnC,iCAAiC;AACjC,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD,mCAAmC;AACnC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,sCAAsC;AACtC,eAAO,MAAM,eAAe,WAAW,CAAC;AAMxC;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PPTX Constants & Style Definitions
|
|
3
|
+
*
|
|
4
|
+
* Shared constants for PPTX export: slide dimensions, text box positioning,
|
|
5
|
+
* font sizes, and unit conversion helpers. All dimensions are in EMU
|
|
6
|
+
* (English Metric Units) unless otherwise noted.
|
|
7
|
+
*
|
|
8
|
+
* 1 inch = 914400 EMU
|
|
9
|
+
* 1 point = 12700 EMU
|
|
10
|
+
* Font sizes in PPTX are in hundredths of a point (centi-points).
|
|
11
|
+
*/
|
|
12
|
+
// ============================================
|
|
13
|
+
// Slide Dimensions (EMU)
|
|
14
|
+
// ============================================
|
|
15
|
+
/** Widescreen slide width: 10 inches */
|
|
16
|
+
export const SLIDE_WIDTH = 9144000;
|
|
17
|
+
/** Widescreen slide height: 7.5 inches */
|
|
18
|
+
export const SLIDE_HEIGHT = 6858000;
|
|
19
|
+
// ============================================
|
|
20
|
+
// Title Shape Positioning (EMU)
|
|
21
|
+
// ============================================
|
|
22
|
+
/** Title shape left offset: 0.5 inches */
|
|
23
|
+
export const TITLE_LEFT = 457200;
|
|
24
|
+
/** Title shape top offset: 0.3 inches */
|
|
25
|
+
export const TITLE_TOP = 274638;
|
|
26
|
+
/** Title shape width: 9 inches */
|
|
27
|
+
export const TITLE_WIDTH = 8229600;
|
|
28
|
+
/** Title shape height: 1.25 inches */
|
|
29
|
+
export const TITLE_HEIGHT = 1143000;
|
|
30
|
+
// ============================================
|
|
31
|
+
// Body Shape Positioning (EMU)
|
|
32
|
+
// ============================================
|
|
33
|
+
/** Body shape left offset: 0.5 inches */
|
|
34
|
+
export const BODY_LEFT = 457200;
|
|
35
|
+
/** Body shape top offset: 1.75 inches */
|
|
36
|
+
export const BODY_TOP = 1600200;
|
|
37
|
+
/** Body shape width: 9 inches */
|
|
38
|
+
export const BODY_WIDTH = 8229600;
|
|
39
|
+
/** Body shape height: 4.95 inches */
|
|
40
|
+
export const BODY_HEIGHT = 4525963;
|
|
41
|
+
// ============================================
|
|
42
|
+
// Default Fonts & Sizes
|
|
43
|
+
// ============================================
|
|
44
|
+
/** Default font for body text */
|
|
45
|
+
export const DEFAULT_FONT = 'Calibri';
|
|
46
|
+
/** Default font for titles */
|
|
47
|
+
export const DEFAULT_TITLE_FONT = 'Calibri Light';
|
|
48
|
+
/** Default font for code blocks */
|
|
49
|
+
export const DEFAULT_CODE_FONT = 'Consolas';
|
|
50
|
+
/** Default title font size in centi-points (44pt) */
|
|
51
|
+
export const DEFAULT_TITLE_SIZE = 4400;
|
|
52
|
+
/** Default body font size in centi-points (18pt) */
|
|
53
|
+
export const DEFAULT_BODY_SIZE = 1800;
|
|
54
|
+
/** Default code font size in centi-points (14pt) */
|
|
55
|
+
export const DEFAULT_CODE_SIZE = 1400;
|
|
56
|
+
/** Hyperlink color (standard blue) */
|
|
57
|
+
export const HYPERLINK_COLOR = '0563C1';
|
|
58
|
+
// ============================================
|
|
59
|
+
// Unit Helpers
|
|
60
|
+
// ============================================
|
|
61
|
+
/**
|
|
62
|
+
* Convert inches to EMUs.
|
|
63
|
+
*/
|
|
64
|
+
export function inchesToEmu(inches) {
|
|
65
|
+
return Math.round(inches * 914400);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Convert points to centi-points (PPTX font size unit).
|
|
69
|
+
*/
|
|
70
|
+
export function pointsToCentiPoints(points) {
|
|
71
|
+
return Math.round(points * 100);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/pptx/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+CAA+C;AAC/C,yBAAyB;AACzB,+CAA+C;AAE/C,wCAAwC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AAEpC,+CAA+C;AAC/C,gCAAgC;AAChC,+CAA+C;AAE/C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AAEjC,yCAAyC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEhC,kCAAkC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,sCAAsC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AAEpC,+CAA+C;AAC/C,+BAA+B;AAC/B,+CAA+C;AAE/C,yCAAyC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEhC,yCAAyC;AACzC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEhC,iCAAiC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC,qCAAqC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,iCAAiC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;AAEtC,8BAA8B;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,mCAAmC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE5C,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,oDAAoD;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC,oDAAoD;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC,sCAAsC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAExC,+CAA+C;AAC/C,eAAe;AACf,+CAA+C;AAE/C;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PPTX Boilerplate Templates
|
|
3
|
+
*
|
|
4
|
+
* Minimal but valid XML templates for the required PPTX support parts:
|
|
5
|
+
* slide master, slide layout, and theme. These are semi-static — they
|
|
6
|
+
* don't change per-document but are required for PowerPoint to open the file.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Build presentation.xml — the root document listing all slides.
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildPresentationXml(slideCount: number, slideRelIds: string[], slideMasterRelId: string, _themeRelId: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Build a minimal slide master (slideMaster1.xml).
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildSlideMasterXml(layoutRelId: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Build a minimal slide layout (slideLayout1.xml) — title + content.
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildSlideLayoutXml(_masterRelId: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Build a minimal DrawingML theme (theme1.xml).
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildThemeXml(): string;
|
|
24
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/pptx/templates.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,GAClB,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAuB/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAuChE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CA2DtC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PPTX Boilerplate Templates
|
|
3
|
+
*
|
|
4
|
+
* Minimal but valid XML templates for the required PPTX support parts:
|
|
5
|
+
* slide master, slide layout, and theme. These are semi-static — they
|
|
6
|
+
* don't change per-document but are required for PowerPoint to open the file.
|
|
7
|
+
*/
|
|
8
|
+
import { xmlDeclaration } from '../ooxml/xmlUtils.js';
|
|
9
|
+
import { NS_PML, NS_DRAWINGML, NS_R } from '../ooxml/namespaces.js';
|
|
10
|
+
import { SLIDE_WIDTH, SLIDE_HEIGHT, TITLE_LEFT, TITLE_TOP, TITLE_WIDTH, TITLE_HEIGHT, BODY_LEFT, BODY_TOP, BODY_WIDTH, BODY_HEIGHT, } from './styles.js';
|
|
11
|
+
/**
|
|
12
|
+
* Build presentation.xml — the root document listing all slides.
|
|
13
|
+
*/
|
|
14
|
+
export function buildPresentationXml(slideCount, slideRelIds, slideMasterRelId, _themeRelId) {
|
|
15
|
+
const sldIdList = [];
|
|
16
|
+
for (let i = 0; i < slideCount; i++) {
|
|
17
|
+
// Slide IDs start at 256 (PowerPoint convention)
|
|
18
|
+
sldIdList.push(`<p:sldId id="${256 + i}" r:id="${slideRelIds[i]}"/>`);
|
|
19
|
+
}
|
|
20
|
+
return (xmlDeclaration() +
|
|
21
|
+
`<p:presentation xmlns:a="${NS_DRAWINGML}" xmlns:r="${NS_R}" xmlns:p="${NS_PML}"` +
|
|
22
|
+
` saveSubsetFonts="1">` +
|
|
23
|
+
`<p:sldMasterIdLst>` +
|
|
24
|
+
`<p:sldMasterId id="2147483648" r:id="${slideMasterRelId}"/>` +
|
|
25
|
+
`</p:sldMasterIdLst>` +
|
|
26
|
+
`<p:sldIdLst>${sldIdList.join('')}</p:sldIdLst>` +
|
|
27
|
+
`<p:sldSz cx="${SLIDE_WIDTH}" cy="${SLIDE_HEIGHT}" type="screen4x3"/>` +
|
|
28
|
+
`<p:notesSz cx="${SLIDE_HEIGHT}" cy="${SLIDE_WIDTH}"/>` +
|
|
29
|
+
`</p:presentation>`);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Build a minimal slide master (slideMaster1.xml).
|
|
33
|
+
*/
|
|
34
|
+
export function buildSlideMasterXml(layoutRelId) {
|
|
35
|
+
return (xmlDeclaration() +
|
|
36
|
+
`<p:sldMaster xmlns:a="${NS_DRAWINGML}" xmlns:r="${NS_R}" xmlns:p="${NS_PML}">` +
|
|
37
|
+
`<p:cSld>` +
|
|
38
|
+
`<p:bg>` +
|
|
39
|
+
`<p:bgRef idx="1001">` +
|
|
40
|
+
`<a:schemeClr val="bg1"/>` +
|
|
41
|
+
`</p:bgRef>` +
|
|
42
|
+
`</p:bg>` +
|
|
43
|
+
`<p:spTree>` +
|
|
44
|
+
`<p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr>` +
|
|
45
|
+
`<p:grpSpPr/>` +
|
|
46
|
+
`</p:spTree>` +
|
|
47
|
+
`</p:cSld>` +
|
|
48
|
+
`<p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2"` +
|
|
49
|
+
` accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4"` +
|
|
50
|
+
` accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>` +
|
|
51
|
+
`<p:sldLayoutIdLst>` +
|
|
52
|
+
`<p:sldLayoutId id="2147483649" r:id="${layoutRelId}"/>` +
|
|
53
|
+
`</p:sldLayoutIdLst>` +
|
|
54
|
+
`</p:sldMaster>`);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Build a minimal slide layout (slideLayout1.xml) — title + content.
|
|
58
|
+
*/
|
|
59
|
+
export function buildSlideLayoutXml(_masterRelId) {
|
|
60
|
+
return (xmlDeclaration() +
|
|
61
|
+
`<p:sldLayout xmlns:a="${NS_DRAWINGML}" xmlns:r="${NS_R}" xmlns:p="${NS_PML}"` +
|
|
62
|
+
` type="obj" preserve="1">` +
|
|
63
|
+
`<p:cSld name="Title and Content">` +
|
|
64
|
+
`<p:spTree>` +
|
|
65
|
+
`<p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr>` +
|
|
66
|
+
`<p:grpSpPr/>` +
|
|
67
|
+
// Title placeholder
|
|
68
|
+
`<p:sp>` +
|
|
69
|
+
`<p:nvSpPr>` +
|
|
70
|
+
`<p:cNvPr id="2" name="Title 1"/>` +
|
|
71
|
+
`<p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr>` +
|
|
72
|
+
`<p:nvPr><p:ph type="title"/></p:nvPr>` +
|
|
73
|
+
`</p:nvSpPr>` +
|
|
74
|
+
`<p:spPr>` +
|
|
75
|
+
`<a:xfrm><a:off x="${TITLE_LEFT}" y="${TITLE_TOP}"/>` +
|
|
76
|
+
`<a:ext cx="${TITLE_WIDTH}" cy="${TITLE_HEIGHT}"/></a:xfrm>` +
|
|
77
|
+
`</p:spPr>` +
|
|
78
|
+
`<p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody>` +
|
|
79
|
+
`</p:sp>` +
|
|
80
|
+
// Content placeholder
|
|
81
|
+
`<p:sp>` +
|
|
82
|
+
`<p:nvSpPr>` +
|
|
83
|
+
`<p:cNvPr id="3" name="Content 2"/>` +
|
|
84
|
+
`<p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr>` +
|
|
85
|
+
`<p:nvPr><p:ph idx="1"/></p:nvPr>` +
|
|
86
|
+
`</p:nvSpPr>` +
|
|
87
|
+
`<p:spPr>` +
|
|
88
|
+
`<a:xfrm><a:off x="${BODY_LEFT}" y="${BODY_TOP}"/>` +
|
|
89
|
+
`<a:ext cx="${BODY_WIDTH}" cy="${BODY_HEIGHT}"/></a:xfrm>` +
|
|
90
|
+
`</p:spPr>` +
|
|
91
|
+
`<p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody>` +
|
|
92
|
+
`</p:sp>` +
|
|
93
|
+
`</p:spTree>` +
|
|
94
|
+
`</p:cSld>` +
|
|
95
|
+
`</p:sldLayout>`);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Build a minimal DrawingML theme (theme1.xml).
|
|
99
|
+
*/
|
|
100
|
+
export function buildThemeXml() {
|
|
101
|
+
return (xmlDeclaration() +
|
|
102
|
+
`<a:theme xmlns:a="${NS_DRAWINGML}" name="Office Theme">` +
|
|
103
|
+
`<a:themeElements>` +
|
|
104
|
+
// Color scheme
|
|
105
|
+
`<a:clrScheme name="Office">` +
|
|
106
|
+
`<a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1>` +
|
|
107
|
+
`<a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1>` +
|
|
108
|
+
`<a:dk2><a:srgbClr val="44546A"/></a:dk2>` +
|
|
109
|
+
`<a:lt2><a:srgbClr val="E7E6E6"/></a:lt2>` +
|
|
110
|
+
`<a:accent1><a:srgbClr val="4472C4"/></a:accent1>` +
|
|
111
|
+
`<a:accent2><a:srgbClr val="ED7D31"/></a:accent2>` +
|
|
112
|
+
`<a:accent3><a:srgbClr val="A5A5A5"/></a:accent3>` +
|
|
113
|
+
`<a:accent4><a:srgbClr val="FFC000"/></a:accent4>` +
|
|
114
|
+
`<a:accent5><a:srgbClr val="5B9BD5"/></a:accent5>` +
|
|
115
|
+
`<a:accent6><a:srgbClr val="70AD47"/></a:accent6>` +
|
|
116
|
+
`<a:hlink><a:srgbClr val="0563C1"/></a:hlink>` +
|
|
117
|
+
`<a:folHlink><a:srgbClr val="954F72"/></a:folHlink>` +
|
|
118
|
+
`</a:clrScheme>` +
|
|
119
|
+
// Font scheme
|
|
120
|
+
`<a:fontScheme name="Office">` +
|
|
121
|
+
`<a:majorFont>` +
|
|
122
|
+
`<a:latin typeface="Calibri Light"/>` +
|
|
123
|
+
`<a:ea typeface=""/>` +
|
|
124
|
+
`<a:cs typeface=""/>` +
|
|
125
|
+
`</a:majorFont>` +
|
|
126
|
+
`<a:minorFont>` +
|
|
127
|
+
`<a:latin typeface="Calibri"/>` +
|
|
128
|
+
`<a:ea typeface=""/>` +
|
|
129
|
+
`<a:cs typeface=""/>` +
|
|
130
|
+
`</a:minorFont>` +
|
|
131
|
+
`</a:fontScheme>` +
|
|
132
|
+
// Format scheme (minimal)
|
|
133
|
+
`<a:fmtScheme name="Office">` +
|
|
134
|
+
`<a:fillStyleLst>` +
|
|
135
|
+
`<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>` +
|
|
136
|
+
`<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>` +
|
|
137
|
+
`<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>` +
|
|
138
|
+
`</a:fillStyleLst>` +
|
|
139
|
+
`<a:lnStyleLst>` +
|
|
140
|
+
`<a:ln w="6350"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln>` +
|
|
141
|
+
`<a:ln w="6350"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln>` +
|
|
142
|
+
`<a:ln w="6350"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln>` +
|
|
143
|
+
`</a:lnStyleLst>` +
|
|
144
|
+
`<a:effectStyleLst>` +
|
|
145
|
+
`<a:effectStyle><a:effectLst/></a:effectStyle>` +
|
|
146
|
+
`<a:effectStyle><a:effectLst/></a:effectStyle>` +
|
|
147
|
+
`<a:effectStyle><a:effectLst/></a:effectStyle>` +
|
|
148
|
+
`</a:effectStyleLst>` +
|
|
149
|
+
`<a:bgFillStyleLst>` +
|
|
150
|
+
`<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>` +
|
|
151
|
+
`<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>` +
|
|
152
|
+
`<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>` +
|
|
153
|
+
`</a:bgFillStyleLst>` +
|
|
154
|
+
`</a:fmtScheme>` +
|
|
155
|
+
`</a:themeElements>` +
|
|
156
|
+
`</a:theme>`);
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/pptx/templates.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/squisq-formats",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Document format converters — DOCX, PDF, OOXML import/export",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"typecheck": "tsc --noEmit"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@bendyline/squisq": "1.1.
|
|
80
|
+
"@bendyline/squisq": "1.1.1",
|
|
81
81
|
"jszip": "^3.10.1",
|
|
82
82
|
"pdf-lib": "^1.17.1",
|
|
83
83
|
"pdfjs-dist": "^4.9.155"
|
package/src/docx/export.ts
CHANGED
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
import type { Doc } from '@bendyline/squisq/schemas';
|
|
20
|
+
import type { Doc, Theme } from '@bendyline/squisq/schemas';
|
|
21
|
+
import { resolveTheme } from '@bendyline/squisq/schemas';
|
|
21
22
|
import { docToMarkdown } from '@bendyline/squisq/doc';
|
|
22
23
|
import type {
|
|
23
24
|
MarkdownDocument,
|
|
@@ -90,6 +91,12 @@ export interface DocxExportOptions {
|
|
|
90
91
|
defaultFont?: string;
|
|
91
92
|
/** Default body font size in points. Default: 11 */
|
|
92
93
|
defaultFontSize?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Squisq theme ID to apply (e.g., 'documentary', 'cinematic').
|
|
96
|
+
* When set, overrides fonts with the theme's typography and applies
|
|
97
|
+
* the theme's primary color to headings.
|
|
98
|
+
*/
|
|
99
|
+
themeId?: string;
|
|
93
100
|
}
|
|
94
101
|
|
|
95
102
|
/**
|
|
@@ -167,13 +174,32 @@ class ExportContext {
|
|
|
167
174
|
hasFootnotes = false;
|
|
168
175
|
|
|
169
176
|
readonly font: string;
|
|
177
|
+
readonly headingFont: string;
|
|
170
178
|
readonly fontSize: number;
|
|
179
|
+
/** Heading text color (hex without #), or undefined for default */
|
|
180
|
+
readonly headingColor: string | undefined;
|
|
171
181
|
|
|
172
182
|
constructor(options: DocxExportOptions) {
|
|
173
|
-
|
|
183
|
+
let themeFont: string | undefined;
|
|
184
|
+
let themeTitleFont: string | undefined;
|
|
185
|
+
let themeHeadingColor: string | undefined;
|
|
186
|
+
|
|
187
|
+
if (options.themeId) {
|
|
188
|
+
const theme: Theme = resolveTheme(options.themeId);
|
|
189
|
+
themeFont = theme.typography?.bodyFontFamily;
|
|
190
|
+
themeTitleFont = theme.typography?.titleFontFamily;
|
|
191
|
+
if (theme.colors?.primary) {
|
|
192
|
+
const c = theme.colors.primary;
|
|
193
|
+
themeHeadingColor = c.startsWith('#') ? c.slice(1) : c;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
this.font = options.defaultFont ?? themeFont ?? DEFAULT_FONT;
|
|
198
|
+
this.headingFont = themeTitleFont ?? this.font;
|
|
174
199
|
this.fontSize = options.defaultFontSize
|
|
175
200
|
? options.defaultFontSize * 2
|
|
176
201
|
: DEFAULT_FONT_SIZE_HALF_POINTS;
|
|
202
|
+
this.headingColor = themeHeadingColor;
|
|
177
203
|
}
|
|
178
204
|
|
|
179
205
|
/** Allocate a new relationship ID */
|
|
@@ -632,7 +658,7 @@ async function buildDocxPackage(
|
|
|
632
658
|
pkg.addPart('word/document.xml', documentXml, CONTENT_TYPE_DOCX_DOCUMENT);
|
|
633
659
|
|
|
634
660
|
// --- word/styles.xml ---
|
|
635
|
-
const stylesXml = buildStylesXml(options);
|
|
661
|
+
const stylesXml = buildStylesXml(options, ctx);
|
|
636
662
|
pkg.addPart('word/styles.xml', stylesXml, CONTENT_TYPE_DOCX_STYLES);
|
|
637
663
|
|
|
638
664
|
// --- word/settings.xml ---
|
|
@@ -754,9 +780,9 @@ function buildDocumentXml(bodyXml: string): string {
|
|
|
754
780
|
);
|
|
755
781
|
}
|
|
756
782
|
|
|
757
|
-
function buildStylesXml(options: DocxExportOptions): string {
|
|
758
|
-
const font =
|
|
759
|
-
const headingFont =
|
|
783
|
+
function buildStylesXml(options: DocxExportOptions, ctx: ExportContext): string {
|
|
784
|
+
const font = ctx.font;
|
|
785
|
+
const headingFont = ctx.headingFont;
|
|
760
786
|
|
|
761
787
|
return (
|
|
762
788
|
xmlDeclaration() +
|
|
@@ -776,7 +802,7 @@ function buildStylesXml(options: DocxExportOptions): string {
|
|
|
776
802
|
`<w:qFormat/>` +
|
|
777
803
|
`</w:style>` +
|
|
778
804
|
// Heading styles
|
|
779
|
-
buildHeadingStyles(headingFont) +
|
|
805
|
+
buildHeadingStyles(headingFont, ctx.headingColor) +
|
|
780
806
|
// Quote style
|
|
781
807
|
`<w:style w:type="paragraph" w:styleId="Quote">` +
|
|
782
808
|
`<w:name w:val="Quote"/>` +
|
|
@@ -827,11 +853,12 @@ function buildStylesXml(options: DocxExportOptions): string {
|
|
|
827
853
|
);
|
|
828
854
|
}
|
|
829
855
|
|
|
830
|
-
function buildHeadingStyles(headingFont: string): string {
|
|
856
|
+
function buildHeadingStyles(headingFont: string, headingColor?: string): string {
|
|
831
857
|
let result = '';
|
|
832
858
|
for (let depth = 1; depth <= 6; depth++) {
|
|
833
859
|
const styleId = DEPTH_TO_STYLE_ID[depth];
|
|
834
860
|
const fontSize = HEADING_FONT_SIZES[depth] ?? 22;
|
|
861
|
+
const colorXml = headingColor ? `<w:color w:val="${headingColor}"/>` : '';
|
|
835
862
|
result +=
|
|
836
863
|
`<w:style w:type="paragraph" w:styleId="${styleId}">` +
|
|
837
864
|
`<w:name w:val="heading ${depth}"/>` +
|
|
@@ -842,6 +869,7 @@ function buildHeadingStyles(headingFont: string): string {
|
|
|
842
869
|
`<w:rPr>` +
|
|
843
870
|
`<w:rFonts w:ascii="${escapeXml(headingFont)}" w:hAnsi="${escapeXml(headingFont)}"/>` +
|
|
844
871
|
`<w:b/>` +
|
|
872
|
+
colorXml +
|
|
845
873
|
`<w:sz w:val="${fontSize}"/>` +
|
|
846
874
|
`<w:szCs w:val="${fontSize}"/>` +
|
|
847
875
|
`</w:rPr>` +
|