mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Showdown: parse single underscores as italics
This commit is contained in:
22
public/scripts/showdown-underscore.js
Normal file
22
public/scripts/showdown-underscore.js
Normal file
@ -0,0 +1,22 @@
|
||||
// Showdown extension that replaces words surrounded by singular underscores with <em> tags
|
||||
export const markdownUnderscoreExt = () => {
|
||||
if (!canUseNegativeLookbehind()) {
|
||||
console.log('Showdown-underscore extension: Negative lookbehind not supported. Skipping.');
|
||||
return [];
|
||||
}
|
||||
|
||||
return [{
|
||||
type: 'lang',
|
||||
regex: /\b(?<!_)_(?!_)(.*?)(?<!_)_(?!_)\b/g,
|
||||
replace: '<em>$1</em>',
|
||||
}];
|
||||
};
|
||||
|
||||
function canUseNegativeLookbehind() {
|
||||
try {
|
||||
new RegExp('(?<!_)');
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user