Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 158x 158x 158x 1x 1x 7x 7x 4x 4x 2x 4x 8x 158x | import { DateTime } from 'luxon';
import { Mod } from '../../model/tag';
import { Template } from '../../model/template';
export const DEFAULT_WIKI_PREFIX = 'wiki:';
export const wikiConfig: Template = {
tag: 'config/wiki',
name: $localize`📔️ Wiki`,
config: {
mod: $localize`📔️ Wiki`,
version: 1,
type: 'config',
default: true,
generated: $localize`Generated by jasper-ui ${DateTime.now().toISO()}`,
description: $localize`Activates built-in Wiki support and allows users to create Wikis.`,
icons: [{ label: $localize`📔️`, scheme: DEFAULT_WIKI_PREFIX, title: $localize`Wiki`, order: 3 }],
filters: [
{ scheme: 'wiki:', label: $localize`wiki:`, title: $localize`Wiki Pages`, group: $localize`Schemes 🏳️️` },
],
/**
* Set prefix for wiki links.
*/
prefix: DEFAULT_WIKI_PREFIX,
/**
* Open wiki links externally.
*/
external: false,
},
};
export function wikiTitleFormat(title: string, prefix?: string) {
prefix ||= DEFAULT_WIKI_PREFIX;
return wikiUriFormat(title)
.substring(prefix.length)
.replace(/_/g, ' ');
}
export function wikiUriFormat(uri: string, prefix?: string) {
prefix ||= DEFAULT_WIKI_PREFIX!;
if (!uri) return prefix;
uri = uri.trim();
if (uri.startsWith(prefix)) {
uri = uri.substring(prefix.length);
}
return prefix + uri
.replace(/\s+/g, '_')
.replace(/_+/g, '_')
.replace(/[^\w!"$&'()*,.\/:;=?@\\^`~\x80-\xFF-]+/g, '')
.split(':').map(s => s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase()).join(':');
}
export function isWiki(uri: string, prefix?: string) {
prefix ||= DEFAULT_WIKI_PREFIX!;
return uri.startsWith(prefix);
}
export const wikiMod: Mod = {
template: [
wikiConfig,
]
};
|