things+stuff
This commit is contained in:
67
server/public/crackdown.js
Normal file
67
server/public/crackdown.js
Normal file
@@ -0,0 +1,67 @@
|
||||
// ____ _ ____
|
||||
// / ___|_ __ __ _ ___| | _| _ \ _____ ___ __
|
||||
// | | | '__/ _` |/ __| |/ / | | |/ _ \ \ /\ / / '_ \
|
||||
// | |___| | | (_| | (__| <| |_| | (_) \ V V /| | | |
|
||||
// \____|_| \__,_|\___|_|\_\____/ \___/ \_/\_/ |_| |_|
|
||||
//
|
||||
//
|
||||
// _ __ __ _ _ __ ___ ___ _ __
|
||||
// | '_ \ / _` | '__/ __|/ _ \ '__|
|
||||
// | |_) | (_| | | \__ \ __/ |
|
||||
// | .__/ \__,_|_| |___/\___|_|
|
||||
// |_|
|
||||
export function crackdown(text) {
|
||||
console.debug("starting crack parsing");
|
||||
console.debug(text);
|
||||
return text
|
||||
.replace(/[&<>"'`]/g, (c) => {
|
||||
switch (c) {
|
||||
case "&":
|
||||
return "&";
|
||||
case "<":
|
||||
return "<";
|
||||
case ">":
|
||||
return ">";
|
||||
case '"':
|
||||
return """;
|
||||
case "'":
|
||||
return "'";
|
||||
case "`":
|
||||
return "`";
|
||||
default:
|
||||
return c;
|
||||
}
|
||||
})
|
||||
.replace(
|
||||
/---(([a-zA-Z0-9:].*?[a-zA-Z0-9:])|[a-zA-Z0-9:])---/g,
|
||||
'<span class="strike">$1</span>',
|
||||
) // line-through
|
||||
.replace(
|
||||
/___(([a-zA-Z0-9:].*?[a-zA-Z0-9:])|[a-zA-Z0-9:])___/g,
|
||||
'<span class="underline">$1</span>',
|
||||
) // underline
|
||||
.replace(
|
||||
/_(([a-zA-Z0-9:].*?[a-zA-Z0-9:])|[a-zA-Z0-9:])_/g,
|
||||
'<span class="italic">$1</span>',
|
||||
) // italic
|
||||
.replace(
|
||||
/\*(([a-zA-Z0-9:].*?[a-zA-Z0-9:])|[a-zA-Z0-9:])\*/g,
|
||||
'<span class="bold">$1</span>',
|
||||
) // bold
|
||||
.replace(
|
||||
/\.{3}(([a-zA-Z0-9:].*?[a-zA-Z0-9:])|[a-zA-Z0-9:])\.{3}/g,
|
||||
'<span class="undercurl">$1</span>',
|
||||
) // undercurl
|
||||
.replace(
|
||||
/\({3}(([a-zA-Z0-9:].*?[a-zA-Z0-9:])|[a-zA-Z0-9:])\){3}/g,
|
||||
'<span class="faint">($1)</span>',
|
||||
) // faint with parentheses
|
||||
.replace(
|
||||
/\({2}(([a-zA-Z0-9:].*?[a-zA-Z0-9:])|[a-zA-Z0-9:])\){2}/g,
|
||||
'<span class="faint">$1</span>',
|
||||
); // faint with parentheses
|
||||
|
||||
console.debug("crack output", text);
|
||||
|
||||
return text;
|
||||
}
|
||||
Reference in New Issue
Block a user