Skip to content

Commit 95d1300

Browse files
committed
don't overwrite but merge keys for pandoc
1 parent 10af0a2 commit 95d1300

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/command/render/pandoc.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,8 +1147,22 @@ export async function runPandoc(
11471147
if (key === kFieldCategories && projectIsWebsite(options.project)) {
11481148
continue;
11491149
}
1150-
// perform the override
1151-
pandocMetadata[key] = engineMetadata[key];
1150+
1151+
if (
1152+
(typeof pandocMetadata[key] === "object" &&
1153+
typeof engineMetadata[key] === "object") ||
1154+
(Array.isArray(pandocMetadata[key]) &&
1155+
Array.isArray(engineMetadata[key]))
1156+
) {
1157+
// Merge objects and arrays instead of replacing
1158+
pandocMetadata[key] = mergeConfigs(
1159+
pandocMetadata[key],
1160+
engineMetadata[key],
1161+
);
1162+
} else {
1163+
// Replace values otherwise
1164+
pandocMetadata[key] = engineMetadata[key];
1165+
}
11521166
}
11531167
}
11541168

0 commit comments

Comments
 (0)