This commit is contained in:
Timothy Jaeryang Baek
2026-08-24 19:20:24 -04:00
parent 0169b10979
commit 11db926a7b
3 changed files with 27 additions and 1 deletions
@@ -107,6 +107,8 @@
<br />
{:else if token.type === 'del'}
<del><svelte:self id={`${id}-del`} tokens={token.tokens} {onSourceClick} /></del>
{:else if token.type === 'underline'}
<u><svelte:self id={`${id}-underline`} tokens={token.tokens} {onSourceClick} /></u>
{:else if token.type === 'inlineKatex'}
{#if token.text}
<KatexRenderer content={token.text} displayMode={token?.displayMode ?? false} />
@@ -125,6 +125,11 @@
}
});
turndownService.addRule('underline', {
filter: 'u',
replacement: (content) => `<u>${content}</u>`
});
import { onMount, onDestroy, tick, getContext } from 'svelte';
import { createEventDispatcher } from 'svelte';
+20 -1
View File
@@ -102,11 +102,30 @@ function detailsExtension() {
};
}
function underlineExtension() {
return {
name: 'underline',
level: 'inline',
start: (src: string) => src.indexOf('<u>'),
tokenizer(this: any, src: string) {
const match = /^<u>([\s\S]+?)<\/u>/.exec(src);
if (!match) return;
return {
type: 'underline',
raw: match[0],
text: match[1],
tokens: this.lexer.inlineTokens(match[1])
};
}
};
}
export default function (options = {}) {
return {
tokenizer: {
lheading: lheadingTokenizer as any
},
extensions: [detailsExtension()]
extensions: [detailsExtension(), underlineExtension()]
};
}