@@ -2,7 +2,6 @@ import { Next, RenderOption } from ".";
22import MarkType from "../nodes/mark-type" ;
33import Node from "../nodes/node" ;
44import NodeType from "../nodes/node-type" ;
5- import * as DOMPurify from 'dompurify' ;
65
76export const defaultNodeOption : RenderOption = {
87 [ NodeType . DOCUMENT ] :( node : Node ) => {
@@ -12,19 +11,16 @@ export const defaultNodeOption: RenderOption = {
1211 return `<p${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs [ 'class-name' ] ? ` class="${ node . attrs [ 'class-name' ] } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } >${ next ( node . children ) } </p>`
1312 } ,
1413 [ NodeType . LINK ] :( node : Node , next : Next ) => {
15- const sanitizedHref = DOMPurify . sanitize ( node . attrs . href || node . attrs . url ) ;
1614 if ( node . attrs . target ) {
17- return `<a${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs [ ' class-name' ] ? ` class="${ node . attrs [ ' class-name' ] } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } href="${ sanitizedHref } " target="${ node . attrs . target } ">${ next ( node . children ) } </a>`
15+ return `<a${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs . class ? ` class="${ node . attrs . class } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } href="${ node . attrs . href || node . attrs . url } " target="${ node . attrs . target } ">${ next ( node . children ) } </a>`
1816 }
19- return `<a${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs [ ' class-name' ] ? ` class="${ node . attrs [ ' class-name' ] } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } href="${ sanitizedHref } ">${ next ( node . children ) } </a>`
17+ return `<a${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs . class ? ` class="${ node . attrs . class } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } href="${ node . attrs . href || node . attrs . url } ">${ next ( node . children ) } </a>`
2018 } ,
2119 [ NodeType . IMAGE ] :( node : Node , next : Next ) => {
22- const sanitizedSrc = DOMPurify . sanitize ( node . attrs . src || node . attrs . url ) ;
23- return `<img${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs [ 'class-name' ] ? ` class="${ node . attrs [ 'class-name' ] } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } src="${ sanitizedSrc } " />${ next ( node . children ) } `
20+ return `<img${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs . class ? ` class="${ node . attrs . class } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } src="${ node . attrs . src || node . attrs . url } " />${ next ( node . children ) } `
2421 } ,
2522 [ NodeType . EMBED ] :( node : Node , next : Next ) => {
26- const sanitizedSrc = DOMPurify . sanitize ( node . attrs . src || node . attrs . url ) ;
27- return `<iframe${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs [ 'class-name' ] ? ` class="${ node . attrs [ 'class-name' ] } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } src="${ sanitizedSrc } ">${ next ( node . children ) } </iframe>`
23+ return `<iframe${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs . class ? ` class="${ node . attrs . class } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } src="${ node . attrs . src || node . attrs . url } ">${ next ( node . children ) } </iframe>`
2824 } ,
2925 [ NodeType . HEADING_1 ] :( node : Node , next : Next ) => {
3026 return `<h1${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs [ 'class-name' ] ? ` class="${ node . attrs [ 'class-name' ] } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } >${ next ( node . children ) } </h1>`
@@ -104,9 +100,8 @@ export const defaultNodeOption: RenderOption = {
104100 } ,
105101
106102 [ 'reference' ] :( node : Node , next : Next ) => {
107- const sanitizedAsset = DOMPurify . sanitize ( node . attrs [ 'asset-link' ] ) ;
108103 if ( node . attrs . type === 'asset' ) {
109- return `<img${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs [ ' class-name' ] ? ` class="${ node . attrs [ ' class-name' ] } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } src="${ sanitizedAsset } " />`
104+ return `<img${ node . attrs . style ? ` style="${ node . attrs . style } "` : `` } ${ node . attrs . class ? ` class="${ node . attrs . class } "` : `` } ${ node . attrs . id ? ` id="${ node . attrs . id } "` : `` } src="${ node . attrs [ 'asset-link' ] } " />`
110105 }
111106 return ``
112107 } ,
0 commit comments