Add 'Copy as Markdown' action

Remove smart quotes from Markdown export, closes #5303
This commit is contained in:
Tom Moor
2023-12-09 15:00:33 -05:00
parent f9c3b0e193
commit 3f3d7b4978
5 changed files with 55 additions and 13 deletions

View File

@@ -0,0 +1,29 @@
interface DocumentInterface {
emoji?: string | null;
title: string;
text: string;
}
export default class MarkdownHelper {
/**
* Returns the document as cleaned Markdown for export.
*
* @param document The document or revision to convert
* @returns The document title and content as a Markdown string
*/
static toMarkdown(document: DocumentInterface) {
const text = document.text
.replace(/\n\\\n/g, "\n\n")
.replace(/“/g, '"')
.replace(/”/g, '"')
.replace(//g, "'")
.replace(//g, "'")
.trim();
const title = `${document.emoji ? document.emoji + " " : ""}${
document.title
}`;
return `# ${title}\n\n${text}`;
}
}