Skip to content

Commit 9dade12

Browse files
committed
fix: šŸ› properly escape arrays of strings in frontmatter (e.g. for authors or tags)
1 parent 5e7fc5c commit 9dade12

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

ā€Žsrc/main.ts

+11-7
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,18 @@ export default class ReadwiseMirror extends Plugin {
4141
// Copy the metadata object to avoid modifying the original
4242
const processedMetadata = { ...metadata } as ReadwiseMetadata;
4343
for (const field of fieldsToProcess) {
44-
if (
45-
field in processedMetadata &&
46-
processedMetadata[field as keyof ReadwiseMetadata] &&
47-
typeof processedMetadata[field as keyof ReadwiseMetadata] === 'string'
48-
) {
44+
if (field in processedMetadata && processedMetadata[field as keyof ReadwiseMetadata]) {
4945
const key = field as keyof ReadwiseMetadata;
50-
if (typeof processedMetadata[key] === 'string') {
51-
(processedMetadata[key] as unknown) = this.escapeYamlValue(processedMetadata[key] as string);
46+
const value = processedMetadata[key];
47+
48+
const escapeStringValue = (str: string) => this.escapeYamlValue(str);
49+
50+
if (Array.isArray(value)) {
51+
(processedMetadata[key] as unknown) = value.map(item =>
52+
typeof item === 'string' ? escapeStringValue(item) : item
53+
);
54+
} else if (typeof value === 'string') {
55+
(processedMetadata[key] as unknown) = escapeStringValue(value);
5256
}
5357
}
5458
}

0 commit comments

Comments
Ā (0)