mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-09-24 05:05:20 -04:00
(search) hide spoiler content of sources
This commit is contained in:
parent
9f5b83583d
commit
e337e046a1
@ -42,7 +42,7 @@ interface LoadedSearchKind {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const DEFAULT_OPTIONS: Options<SearchDocument> = {
|
const DEFAULT_OPTIONS: Options<SearchDocument> = {
|
||||||
fields: ['title', 'titleSmall', 'content'],
|
fields: ['title', 'titleSmall', 'content', 'contentHidden'],
|
||||||
storeFields: ['kind'],
|
storeFields: ['kind'],
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -132,6 +132,7 @@ const transformResult = (indices: Map<SearchDocument['kind'],
|
|||||||
const transformed = structuredClone(document);
|
const transformed = structuredClone(document);
|
||||||
transformed.title = highlightMatches(document.title, termsByField.title);
|
transformed.title = highlightMatches(document.title, termsByField.title);
|
||||||
transformed.content = highlightMatches(document.content, termsByField.content, true);
|
transformed.content = highlightMatches(document.content, termsByField.content, true);
|
||||||
|
delete transformed.contentHidden;
|
||||||
if (kind.transformDocument) {
|
if (kind.transformDocument) {
|
||||||
kind.transformDocument(transformed, termsByField);
|
kind.transformDocument(transformed, termsByField);
|
||||||
}
|
}
|
||||||
@ -474,14 +475,20 @@ const kinds: SearchKind[] = [
|
|||||||
title += `, ${source.year}`;
|
title += `, ${source.year}`;
|
||||||
|
|
||||||
let content = '';
|
let content = '';
|
||||||
|
let contentHidden = '';
|
||||||
if (source.comment) {
|
if (source.comment) {
|
||||||
content += `${source.comment} `;
|
content += `${source.comment} `;
|
||||||
}
|
}
|
||||||
content += source.fragments
|
const fragments = source.fragments
|
||||||
.replaceAll('[[', '')
|
.replaceAll('[[', '')
|
||||||
.replaceAll(']]', '')
|
.replaceAll(']]', '')
|
||||||
.replaceAll('|', ' ')
|
.replaceAll('|', ' ')
|
||||||
.replaceAll(/(?<!\\)@/g, '; ');
|
.replaceAll(/(?<!\\)@/g, '; ');
|
||||||
|
if (source.spoiler) {
|
||||||
|
contentHidden += fragments;
|
||||||
|
} else {
|
||||||
|
content += fragments;
|
||||||
|
}
|
||||||
|
|
||||||
const images = source.images ? source.images.split(',') : [];
|
const images = source.images ? source.images.split(',') : [];
|
||||||
const image = images.length > 0
|
const image = images.length > 0
|
||||||
@ -495,6 +502,7 @@ const kinds: SearchKind[] = [
|
|||||||
title,
|
title,
|
||||||
image: image ? { src: image } : undefined,
|
image: image ? { src: image } : undefined,
|
||||||
content,
|
content,
|
||||||
|
contentHidden,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -12,6 +12,7 @@ export interface SearchDocument {
|
|||||||
titleSmall?: string | undefined;
|
titleSmall?: string | undefined;
|
||||||
image?: SearchDocumentImage | undefined;
|
image?: SearchDocumentImage | undefined;
|
||||||
content: string;
|
content: string;
|
||||||
|
contentHidden?: string;
|
||||||
date?: string;
|
date?: string;
|
||||||
authors?: string[];
|
authors?: string[];
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user