mirror of
https://github.com/docmost/docmost.git
synced 2026-08-30 02:25:01 +08:00
cleanup two preceeding spaces in ordered lists item
This commit is contained in:
@@ -21,6 +21,7 @@ export function htmlToMarkdown(html: string): string {
|
|||||||
callout,
|
callout,
|
||||||
preserveDetail,
|
preserveDetail,
|
||||||
listParagraph,
|
listParagraph,
|
||||||
|
orderedListItem,
|
||||||
mathInline,
|
mathInline,
|
||||||
mathBlock,
|
mathBlock,
|
||||||
iframeEmbed,
|
iframeEmbed,
|
||||||
@@ -41,6 +42,38 @@ function listParagraph(turndownService: _TurndownService) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function orderedListItem(turndownService: _TurndownService) {
|
||||||
|
turndownService.addRule('orderedListItem', {
|
||||||
|
filter: 'li',
|
||||||
|
replacement: (content: string, node: HTMLInputElement, options: any) => {
|
||||||
|
const parent = node.parentNode as HTMLElement;
|
||||||
|
if (parent.nodeName !== 'OL' && parent.nodeName !== 'UL') {
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
content = content
|
||||||
|
.replace(/^\n+/, '')
|
||||||
|
.replace(/\n+$/, '\n')
|
||||||
|
.replace(/\n/gm, '\n ');
|
||||||
|
|
||||||
|
let prefix: string;
|
||||||
|
if (parent.nodeName === 'OL') {
|
||||||
|
const start = parseInt(parent.getAttribute('start') || '1', 10);
|
||||||
|
const index = Array.prototype.indexOf.call(parent.children, node);
|
||||||
|
prefix = `${start + index}. `;
|
||||||
|
} else {
|
||||||
|
prefix = `${options.bulletListMarker} `;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
prefix +
|
||||||
|
content +
|
||||||
|
(node.nextSibling && !/\n$/.test(content) ? '\n' : '')
|
||||||
|
);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function callout(turndownService: _TurndownService) {
|
function callout(turndownService: _TurndownService) {
|
||||||
turndownService.addRule('callout', {
|
turndownService.addRule('callout', {
|
||||||
filter: function (node: HTMLInputElement) {
|
filter: function (node: HTMLInputElement) {
|
||||||
|
|||||||
Reference in New Issue
Block a user