feat: 建立 DOCX 主题映射引擎
This commit is contained in:
@@ -234,25 +234,45 @@ export function resolveDocxThemeStyle(
|
||||
preset: inferDocxStylePreset(manifest)
|
||||
}
|
||||
);
|
||||
const preset = presetOverrides[declared.preset];
|
||||
const presetName =
|
||||
declared.basePreset ??
|
||||
declared.preset ??
|
||||
inferDocxStylePreset(manifest);
|
||||
const preset = presetOverrides[presetName];
|
||||
const overrides = declared.overrides;
|
||||
const base = {
|
||||
...baseStyle,
|
||||
...preset
|
||||
};
|
||||
return {
|
||||
preset: declared.preset,
|
||||
body: mergeSection(base.body, declared.body),
|
||||
headings: mergeSection(base.headings, declared.headings),
|
||||
code: mergeSection(base.code, declared.code),
|
||||
preset: presetName,
|
||||
body: mergeSection(
|
||||
mergeSection(base.body, declared.body),
|
||||
overrides?.body
|
||||
),
|
||||
headings: mergeSection(
|
||||
mergeSection(base.headings, declared.headings),
|
||||
overrides?.headings
|
||||
),
|
||||
code: mergeSection(
|
||||
mergeSection(base.code, declared.code),
|
||||
overrides?.code
|
||||
),
|
||||
blockQuote: mergeSection(
|
||||
base.blockQuote,
|
||||
declared.blockQuote
|
||||
mergeSection(base.blockQuote, declared.blockQuote),
|
||||
overrides?.blockQuote
|
||||
),
|
||||
table: mergeSection(
|
||||
mergeSection(base.table, declared.table),
|
||||
overrides?.table
|
||||
),
|
||||
caption: mergeSection(
|
||||
mergeSection(base.caption, declared.caption),
|
||||
overrides?.caption
|
||||
),
|
||||
table: mergeSection(base.table, declared.table),
|
||||
caption: mergeSection(base.caption, declared.caption),
|
||||
hyperlink: mergeSection(
|
||||
base.hyperlink,
|
||||
declared.hyperlink
|
||||
mergeSection(base.hyperlink, declared.hyperlink),
|
||||
overrides?.hyperlink
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user