mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-09-23 04:34:15 -04:00
(search) add search for api, terms, privacy and license
This commit is contained in:
parent
36dbf51c75
commit
cf0acf7a8e
@ -17,6 +17,7 @@ import { parsePronouns } from '~/src/buildPronoun.ts';
|
||||
import { buildCalendar } from '~/src/calendar/calendar.ts';
|
||||
import { Day } from '~/src/calendar/helpers.ts';
|
||||
import { genders, gendersWithNumerus } from '~/src/classes.ts';
|
||||
import forbidden from '~/src/forbidden.ts';
|
||||
import { clearLinkedText, buildImageUrl } from '~/src/helpers.ts';
|
||||
import parseMarkdown from '~/src/parseMarkdown.ts';
|
||||
import { normaliseQuery, type SearchDocument, validateQuery } from '~/src/search.ts';
|
||||
@ -376,6 +377,84 @@ const kinds: SearchKind[] = [
|
||||
});
|
||||
}
|
||||
|
||||
if (config.user.enabled) {
|
||||
addDocument({
|
||||
url: `/${encodeURIComponent(config.user.termsRoute)}`,
|
||||
title: translator.translate('terms.header'),
|
||||
content: [
|
||||
translator.has('terms.translationDisclaimer')
|
||||
? translator.translate('terms.translationDisclaimer')
|
||||
: '',
|
||||
translator.translate('terms.content.consent'),
|
||||
|
||||
translator.translate('terms.content.accounts.header'),
|
||||
translator.translate('terms.content.accounts.age'),
|
||||
translator.translate('terms.content.accounts.authentication'),
|
||||
translator.translate('terms.content.accounts.termination'),
|
||||
translator.translate('terms.content.accounts.inactivity'),
|
||||
|
||||
translator.translate('terms.content.content.header'),
|
||||
translator.translate('terms.content.content.ownership'),
|
||||
translator.translate('terms.content.content.liability'),
|
||||
translator.translate('terms.content.content.violations'),
|
||||
forbidden.map((violation) => {
|
||||
translator.translate(`terms.content.content.violationsExamples.${violation}`);
|
||||
}).join(translator.translate('terms.content.content.violationsSeparator')),
|
||||
translator.translate('terms.content.content.violationsEnd'),
|
||||
translator.translate('terms.content.content.violationsStrict'),
|
||||
translator.translate('terms.content.content.responsibility'),
|
||||
|
||||
translator.translate('terms.content.closing.header'),
|
||||
translator.translate('terms.content.closing.jurisdiction'),
|
||||
translator.translate('terms.content.closing.changes'),
|
||||
].join(' '),
|
||||
});
|
||||
addDocument({
|
||||
url: `/${encodeURIComponent(config.user.privacyRoute)}`,
|
||||
title: translator.translate('privacy.header'),
|
||||
content: [
|
||||
translator.has('terms.translationDisclaimer')
|
||||
? translator.translate('terms.translationDisclaimer')
|
||||
: '',
|
||||
translator.translate('privacy.content.intro'),
|
||||
translator.translate('privacy.content.effort'),
|
||||
translator.translate('privacy.content.data'),
|
||||
translator.translate('privacy.content.editRemoval'),
|
||||
translator.translate('privacy.content.contact'),
|
||||
translator.translate('privacy.content.cookies'),
|
||||
translator.translate('privacy.content.plausible'),
|
||||
translator.translate('privacy.content.turnstile'),
|
||||
translator.translate('privacy.content.sentry'),
|
||||
config.ads?.enabled ? translator.translate('privacy.content.publift') : '',
|
||||
config.ads?.enabled ? translator.translate('privacy.content.gtm') : '',
|
||||
translator.translate('privacy.content.logsBackups'),
|
||||
translator.translate('privacy.content.gdpr'),
|
||||
].join(' '),
|
||||
});
|
||||
}
|
||||
|
||||
if (config.api) {
|
||||
addDocument({
|
||||
url: '/api',
|
||||
title: translator.translate('api.header'),
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
const content = await fs.readFile(`${rootDir}/LICENSE.md`, 'utf-8');
|
||||
const title = content.match(/^# (.*)\n/)?.[1];
|
||||
// exclude title, date and author from searchable content
|
||||
const trimmed = content.replace(/^(.+\n+){2}/, '');
|
||||
const markdown = marked(trimmed);
|
||||
const parsed = await parseMarkdown(markdown, translator);
|
||||
const text = JSDOM.fragment(parsed.content ?? '').textContent?.replaceAll(/\s+/g, ' ');
|
||||
addDocument({
|
||||
url: '/license',
|
||||
title: title ?? '',
|
||||
content: text ?? '',
|
||||
});
|
||||
}
|
||||
|
||||
addDocument({
|
||||
url: 'https://shop.pronouns.page',
|
||||
title: translator.translate('contact.groups.shop'),
|
||||
|
Loading…
x
Reference in New Issue
Block a user