mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-16 10:50:38 +09:00
24 lines
514 B
TypeScript
24 lines
514 B
TypeScript
|
|
const BLOCK_MARKER_PATTERNS = [
|
||
|
|
/^#{1,6}\s+/m,
|
||
|
|
/^>\s+/m,
|
||
|
|
/^[-*+]\s+/m,
|
||
|
|
/^\d+\.\s+/m,
|
||
|
|
/^```/m,
|
||
|
|
/^~~~/m,
|
||
|
|
/^\|.+\|$/m,
|
||
|
|
/^---$/m,
|
||
|
|
/^\*\*\*$/m,
|
||
|
|
/^___$/m,
|
||
|
|
];
|
||
|
|
|
||
|
|
export function normalizePastedMarkdown(text: string): string {
|
||
|
|
return text.replace(/\r\n?/g, "\n");
|
||
|
|
}
|
||
|
|
|
||
|
|
export function looksLikeMarkdownPaste(text: string): boolean {
|
||
|
|
const normalized = normalizePastedMarkdown(text).trim();
|
||
|
|
if (!normalized) return false;
|
||
|
|
|
||
|
|
return BLOCK_MARKER_PATTERNS.some((pattern) => pattern.test(normalized));
|
||
|
|
}
|