fix: Improve reliability of inter-linking documents through importer. closes OLN-156
This commit is contained in:
@@ -5,6 +5,7 @@ import emptyLists from "./emptyLists";
|
|||||||
import emptyParagraph from "./emptyParagraph";
|
import emptyParagraph from "./emptyParagraph";
|
||||||
import frames from "./frames";
|
import frames from "./frames";
|
||||||
import images from "./images";
|
import images from "./images";
|
||||||
|
import inlineLink from "./inlineLink";
|
||||||
import sanitizeLists from "./sanitizeLists";
|
import sanitizeLists from "./sanitizeLists";
|
||||||
import sanitizeTables from "./sanitizeTables";
|
import sanitizeTables from "./sanitizeTables";
|
||||||
import underlines from "./underlines";
|
import underlines from "./underlines";
|
||||||
@@ -24,6 +25,7 @@ const service = new TurndownService({
|
|||||||
})
|
})
|
||||||
.remove(["script", "style", "title", "head"])
|
.remove(["script", "style", "title", "head"])
|
||||||
.use(gfm)
|
.use(gfm)
|
||||||
|
.use(inlineLink)
|
||||||
.use(emptyParagraph)
|
.use(emptyParagraph)
|
||||||
.use(sanitizeTables)
|
.use(sanitizeTables)
|
||||||
.use(sanitizeLists)
|
.use(sanitizeLists)
|
||||||
|
|||||||
22
server/utils/turndown/inlineLink.ts
Normal file
22
server/utils/turndown/inlineLink.ts
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import TurndownService from "turndown";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A turndown plugin for converting anchors to inline links without a title.
|
||||||
|
*
|
||||||
|
* @param turndownService The TurndownService instance.
|
||||||
|
*/
|
||||||
|
export default function underlines(turndownService: TurndownService) {
|
||||||
|
turndownService.addRule("inlineLink", {
|
||||||
|
filter(node, options) {
|
||||||
|
return !!(
|
||||||
|
options.linkStyle === "inlined" &&
|
||||||
|
node.nodeName === "A" &&
|
||||||
|
node.getAttribute("href")
|
||||||
|
);
|
||||||
|
},
|
||||||
|
replacement(content, node: HTMLElement) {
|
||||||
|
const href = node.getAttribute("href");
|
||||||
|
return "[" + content + "](" + href + ")";
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user