56 lines
2.7 KiB
JavaScript
56 lines
2.7 KiB
JavaScript
// welcome to the shitty temporary file for managing the bbcode/markdown/whatever button
|
|
const MszParsing = (() => {
|
|
const defineTag = (name, open, close, summary, icon) => {
|
|
return {
|
|
name: name,
|
|
open: open,
|
|
close: close,
|
|
summary: summary,
|
|
icon: icon,
|
|
};
|
|
};
|
|
|
|
const bbTags = [
|
|
defineTag('bb-bold', '[b]', '[/b]', 'Bold [b]<text>[/b]', 'fas fa-bold fa-fw'),
|
|
defineTag('bb-italic', '[i]', '[/i]', 'Italic [i]<text>[/i]', 'fas fa-italic fa-fw'),
|
|
defineTag('bb-underline', '[u]', '[/u]', 'Underline [u]<text>[/u]', 'fas fa-underline fa-fw'),
|
|
defineTag('bb-strike', '[s]', '[/s]', 'Strikethrough [s]<text>[/s]', 'fas fa-strikethrough fa-fw'),
|
|
defineTag('bb-link', '[url=]', '[/url]', 'Link [url]<url>[/url] or [url=<url>]<text>[/url]', 'fas fa-link fa-fw'),
|
|
defineTag('bb-image', '[img]', '[/img]', 'Image [img]<url>[/img]', 'fas fa-image fa-fw'),
|
|
defineTag('bb-audio', '[audio]', '[/audio]', 'Audio [audio]<url>[/audio]', 'fas fa-music fa-fw'),
|
|
defineTag('bb-video', '[video]', '[/video]', 'Video [video]<url>[/video]', 'fas fa-video fa-fw'),
|
|
defineTag('bb-code', '[code]', '[/code]', 'Code [code]<code>[/code]', 'fas fa-code fa-fw'),
|
|
defineTag('bb-zalgo', '[zalgo]', '[/zalgo]', 'Zalgo [zalgo]<text>[/zalgo]', 'fas fa-frog fa-fw'),
|
|
];
|
|
|
|
const mdTags = [
|
|
defineTag('md-bold', '**', '**', 'Bold **<text>**', 'fas fa-bold fa-fw'),
|
|
defineTag('md-italic', '*', '*', 'Italic *<text>* or _<text>_', 'fas fa-italic fa-fw'),
|
|
defineTag('md-underline', '__', '__', 'Underline __<text>__', 'fas fa-underline fa-fw'),
|
|
defineTag('md-strike', '~~', '~~', 'Strikethrough ~~<text>~~', 'fas fa-strikethrough fa-fw'),
|
|
defineTag('md-link', '[](', ')', 'Link [<text>](<url>)', 'fas fa-link fa-fw'),
|
|
defineTag('md-image', '![](', ')', 'Image ![<alt text>](<url>)', 'fas fa-image fa-fw'),
|
|
defineTag('md-audio', '![](', ')', 'Audio ![<alt text>](<url>)', 'fas fa-music fa-fw'),
|
|
defineTag('md-video', '![](', ')', 'Video ![<alt text>](<url>)', 'fas fa-video fa-fw'),
|
|
defineTag('md-code', '```', '```', 'Code `<code>` or ```<code>```', 'fas fa-code fa-fw'),
|
|
];
|
|
|
|
const getTagsFor = parser => {
|
|
if(typeof parser !== 'number')
|
|
parser = parseInt(parser);
|
|
|
|
if(parser === 1)
|
|
return bbTags;
|
|
if(parser === 2)
|
|
return mdTags;
|
|
|
|
return [];
|
|
};
|
|
|
|
return {
|
|
getTagsFor: getTagsFor,
|
|
getTagsForPlainText: () => getTagsFor(0),
|
|
getTagsForBBcode: () => getTagsFor(1),
|
|
getTagsForMarkdown: () => getTagsFor(2),
|
|
};
|
|
})();
|