TRenderEngineOptions
interface
TRenderEngineOptions
<
 Â
E
extends
string
>
{
 Â
cssProcessorConfig
?
:
Partial
<
CSSProcessorConfig
>
;
 Â
customizeHTMLModels
?
:
(
defaultHTMLElementModels
:
{
     Â
a
:
HTMLElementModel
<
"a"
,
mixed
>
;
     Â
abbr
:
HTMLElementModel
<
"abbr"
,
textual
>
;
     Â
accesskey
:
HTMLElementModel
<
"accesskey"
,
none
>
;
     Â
acronym
:
HTMLElementModel
<
"acronym"
,
textual
>
;
     Â
address
:
HTMLElementModel
<
"address"
,
block
>
;
     Â
area
:
HTMLElementModel
<
"area"
,
none
>
;
     Â
article
:
HTMLElementModel
<
"article"
,
block
>
;
     Â
aside
:
HTMLElementModel
<
"aside"
,
block
>
;
     Â
audio
:
HTMLElementModel
<
"audio"
,
none
>
;
     Â
b
:
HTMLElementModel
<
"b"
,
textual
>
;
     Â
base
:
HTMLElementModel
<
"base"
,
none
>
;
     Â
bdi
:
HTMLElementModel
<
"bdi"
,
textual
>
;
     Â
bdo
:
HTMLElementModel
<
"bdo"
,
textual
>
;
     Â
big
:
HTMLElementModel
<
"big"
,
textual
>
;
     Â
blockquote
:
HTMLElementModel
<
"blockquote"
,
block
>
;
     Â
body
:
HTMLElementModel
<
"body"
,
block
>
;
     Â
br
:
HTMLElementModel
<
"br"
,
textual
>
;
     Â
button
:
HTMLElementModel
<
"button"
,
none
>
;
     Â
canvas
:
HTMLElementModel
<
"canvas"
,
none
>
;
     Â
caption
:
HTMLElementModel
<
"caption"
,
none
>
;
     Â
cite
:
HTMLElementModel
<
"cite"
,
textual
>
;
     Â
code
:
HTMLElementModel
<
"code"
,
textual
>
;
     Â
col
:
HTMLElementModel
<
"col"
,
none
>
;
     Â
colgroup
:
HTMLElementModel
<
"colgroup"
,
none
>
;
     Â
data
:
HTMLElementModel
<
"data"
,
textual
>
;
     Â
datalist
:
HTMLElementModel
<
"datalist"
,
none
>
;
     Â
dd
:
HTMLElementModel
<
"dd"
,
block
>
;
     Â
del
:
HTMLElementModel
<
"del"
,
mixed
>
;
     Â
details
:
HTMLElementModel
<
"details"
,
none
>
;
     Â
dfn
:
HTMLElementModel
<
"dfn"
,
textual
>
;
     Â
dialog
:
HTMLElementModel
<
"dialog"
,
none
>
;
     Â
dir
:
HTMLElementModel
<
"dir"
,
block
>
;
     Â
div
:
HTMLElementModel
<
"div"
,
block
>
;
     Â
dl
:
HTMLElementModel
<
"dl"
,
block
>
;
     Â
dt
:
HTMLElementModel
<
"dt"
,
block
>
;
     Â
em
:
HTMLElementModel
<
"em"
,
textual
>
;
     Â
embed
:
HTMLElementModel
<
"embed"
,
none
>
;
     Â
fieldset
:
HTMLElementModel
<
"fieldset"
,
none
>
;
     Â
figcaption
:
HTMLElementModel
<
"figcaption"
,
block
>
;
     Â
figure
:
HTMLElementModel
<
"figure"
,
block
>
;
     Â
footer
:
HTMLElementModel
<
"footer"
,
block
>
;
     Â
form
:
HTMLElementModel
<
"form"
,
none
>
;
     Â
h1
:
HTMLElementModel
<
"h1"
,
block
>
;
     Â
h2
:
HTMLElementModel
<
"h2"
,
block
>
;
     Â
h3
:
HTMLElementModel
<
"h3"
,
block
>
;
     Â
h4
:
HTMLElementModel
<
"h4"
,
block
>
;
     Â
h5
:
HTMLElementModel
<
"h5"
,
block
>
;
     Â
h6
:
HTMLElementModel
<
"h6"
,
block
>
;
     Â
head
:
HTMLElementModel
<
"head"
,
none
>
;
     Â
header
:
HTMLElementModel
<
"header"
,
block
>
;
     Â
hgroup
:
HTMLElementModel
<
"hgroup"
,
block
>
;
     Â
hr
:
HTMLElementModel
<
"hr"
,
block
>
;
     Â
i
:
HTMLElementModel
<
"i"
,
textual
>
;
     Â
iframe
:
HTMLElementModel
<
"iframe"
,
none
>
;
     Â
img
:
HTMLElementModel
<
"img"
,
block
>
;
     Â
input
:
HTMLElementModel
<
"input"
,
none
>
;
     Â
ins
:
HTMLElementModel
<
"ins"
,
mixed
>
;
     Â
kbd
:
HTMLElementModel
<
"kbd"
,
textual
>
;
     Â
label
:
HTMLElementModel
<
"label"
,
none
>
;
     Â
legend
:
HTMLElementModel
<
"legend"
,
none
>
;
     Â
li
:
HTMLElementModel
<
"li"
,
block
>
;
     Â
link
:
HTMLElementModel
<
"link"
,
none
>
;
     Â
listing
:
HTMLElementModel
<
"listing"
,
block
>
;
     Â
main
:
HTMLElementModel
<
"main"
,
block
>
;
     Â
map
:
HTMLElementModel
<
"map"
,
none
>
;
     Â
mark
:
HTMLElementModel
<
"mark"
,
textual
>
;
     Â
math
:
HTMLElementModel
<
"math"
,
none
>
;
     Â
menu
:
HTMLElementModel
<
"menu"
,
block
>
;
     Â
meta
:
HTMLElementModel
<
"meta"
,
none
>
;
     Â
meter
:
HTMLElementModel
<
"meter"
,
none
>
;
     Â
nav
:
HTMLElementModel
<
"nav"
,
block
>
;
     Â
object
:
HTMLElementModel
<
"object"
,
none
>
;
     Â
ol
:
HTMLElementModel
<
"ol"
,
block
>
;
     Â
optgroup
:
HTMLElementModel
<
"optgroup"
,
none
>
;
     Â
option
:
HTMLElementModel
<
"option"
,
none
>
;
     Â
output
:
HTMLElementModel
<
"output"
,
none
>
;
     Â
p
:
HTMLElementModel
<
"p"
,
block
>
;
     Â
param
:
HTMLElementModel
<
"param"
,
none
>
;
     Â
picture
:
HTMLElementModel
<
"picture"
,
block
>
;
     Â
plaintext
:
HTMLElementModel
<
"plaintext"
,
block
>
;
     Â
pre
:
HTMLElementModel
<
"pre"
,
block
>
;
     Â
progress
:
HTMLElementModel
<
"progress"
,
none
>
;
     Â
q
:
HTMLElementModel
<
"q"
,
textual
>
;
     Â
rp
:
HTMLElementModel
<
"rp"
,
textual
>
;
     Â
rt
:
HTMLElementModel
<
"rt"
,
textual
>
;
     Â
ruby
:
HTMLElementModel
<
"ruby"
,
textual
>
;
     Â
s
:
HTMLElementModel
<
"s"
,
textual
>
;
     Â
samp
:
HTMLElementModel
<
"samp"
,
textual
>
;
     Â
section
:
HTMLElementModel
<
"section"
,
block
>
;
     Â
select
:
HTMLElementModel
<
"select"
,
none
>
;
     Â
small
:
HTMLElementModel
<
"small"
,
textual
>
;
     Â
source
:
HTMLElementModel
<
"source"
,
none
>
;
     Â
span
:
HTMLElementModel
<
"span"
,
textual
>
;
     Â
strike
:
HTMLElementModel
<
"strike"
,
textual
>
;
     Â
strong
:
HTMLElementModel
<
"strong"
,
textual
>
;
     Â
sub
:
HTMLElementModel
<
"sub"
,
textual
>
;
     Â
summary
:
HTMLElementModel
<
"summary"
,
none
>
;
     Â
sup
:
HTMLElementModel
<
"sup"
,
textual
>
;
     Â
svg
:
HTMLElementModel
<
"svg"
,
none
>
;
     Â
table
:
HTMLElementModel
<
"table"
,
block
>
;
     Â
tbody
:
HTMLElementModel
<
"tbody"
,
block
>
;
     Â
td
:
HTMLElementModel
<
"td"
,
block
>
;
     Â
textarea
:
HTMLElementModel
<
"textarea"
,
none
>
;
     Â
tfoot
:
HTMLElementModel
<
"tfoot"
,
block
>
;
     Â
th
:
HTMLElementModel
<
"th"
,
block
>
;
     Â
thead
:
HTMLElementModel
<
"thead"
,
block
>
;
     Â
time
:
HTMLElementModel
<
"time"
,
textual
>
;
     Â
title
:
HTMLElementModel
<
"title"
,
none
>
;
     Â
tr
:
HTMLElementModel
<
"tr"
,
block
>
;
     Â
track
:
HTMLElementModel
<
"track"
,
none
>
;
     Â
tt
:
HTMLElementModel
<
"tt"
,
textual
>
;
     Â
u
:
HTMLElementModel
<
"u"
,
textual
>
;
     Â
ul
:
HTMLElementModel
<
"ul"
,
block
>
;
     Â
var
:
HTMLElementModel
<
"var"
,
textual
>
;
     Â
video
:
HTMLElementModel
<
"video"
,
none
>
;
     Â
wbr
:
HTMLElementModel
<
"wbr"
,
textual
>
;
     Â
xmp
:
HTMLElementModel
<
"xmp"
,
block
>
;
   Â
}
)
=>
HTMLModelRecord
<
TagName
|
E
,
HTMLContentModel
>
;
 Â
dangerouslyDisableHoisting
?
:
boolean
;
 Â
dangerouslyDisableWhitespaceCollapsing
?
:
boolean
;
 Â
domVisitors
?
:
DomVisitorCallbacks
;
 Â
htmlParserOptions
?
:
Readonly
<
ParserOptions
>
;
 Â
ignoreDomNode
?
:
(
node
:
Node
,
parent
:
NodeWithChildren
)
=>
unknown
;
 Â
ignoredDomTags
?
:
Array
<
string
>
;
 Â
removeLineBreaksAroundEastAsianDiscardSet
?
:
boolean
;
 Â
selectDomRoot
?
:
(
node
:
NodeWithChildren
)
=>
any
;
 Â
setMarkersForTNode
?
:
SetMarkersForTNode
;
 Â
stylesConfig
?
:
StylesConfig
;
}
@native-html/transient-render-engine
#
Type ParametersE
#
#
FieldscssProcessorConfig
#
Customization for CSS inline processing.
customizeHTMLModels
#
customizeHTMLModels
?
:
(
defaultHTMLElementModels
:
{
   Â
a
:
HTMLElementModel
<
"a"
,
mixed
>
;
   Â
abbr
:
HTMLElementModel
<
"abbr"
,
textual
>
;
   Â
accesskey
:
HTMLElementModel
<
"accesskey"
,
none
>
;
   Â
acronym
:
HTMLElementModel
<
"acronym"
,
textual
>
;
   Â
address
:
HTMLElementModel
<
"address"
,
block
>
;
   Â
area
:
HTMLElementModel
<
"area"
,
none
>
;
   Â
article
:
HTMLElementModel
<
"article"
,
block
>
;
   Â
aside
:
HTMLElementModel
<
"aside"
,
block
>
;
   Â
audio
:
HTMLElementModel
<
"audio"
,
none
>
;
   Â
b
:
HTMLElementModel
<
"b"
,
textual
>
;
   Â
base
:
HTMLElementModel
<
"base"
,
none
>
;
   Â
bdi
:
HTMLElementModel
<
"bdi"
,
textual
>
;
   Â
bdo
:
HTMLElementModel
<
"bdo"
,
textual
>
;
   Â
big
:
HTMLElementModel
<
"big"
,
textual
>
;
   Â
blockquote
:
HTMLElementModel
<
"blockquote"
,
block
>
;
   Â
body
:
HTMLElementModel
<
"body"
,
block
>
;
   Â
br
:
HTMLElementModel
<
"br"
,
textual
>
;
   Â
button
:
HTMLElementModel
<
"button"
,
none
>
;
   Â
canvas
:
HTMLElementModel
<
"canvas"
,
none
>
;
   Â
caption
:
HTMLElementModel
<
"caption"
,
none
>
;
   Â
cite
:
HTMLElementModel
<
"cite"
,
textual
>
;
   Â
code
:
HTMLElementModel
<
"code"
,
textual
>
;
   Â
col
:
HTMLElementModel
<
"col"
,
none
>
;
   Â
colgroup
:
HTMLElementModel
<
"colgroup"
,
none
>
;
   Â
data
:
HTMLElementModel
<
"data"
,
textual
>
;
   Â
datalist
:
HTMLElementModel
<
"datalist"
,
none
>
;
   Â
dd
:
HTMLElementModel
<
"dd"
,
block
>
;
   Â
del
:
HTMLElementModel
<
"del"
,
mixed
>
;
   Â
details
:
HTMLElementModel
<
"details"
,
none
>
;
   Â
dfn
:
HTMLElementModel
<
"dfn"
,
textual
>
;
   Â
dialog
:
HTMLElementModel
<
"dialog"
,
none
>
;
   Â
dir
:
HTMLElementModel
<
"dir"
,
block
>
;
   Â
div
:
HTMLElementModel
<
"div"
,
block
>
;
   Â
dl
:
HTMLElementModel
<
"dl"
,
block
>
;
   Â
dt
:
HTMLElementModel
<
"dt"
,
block
>
;
   Â
em
:
HTMLElementModel
<
"em"
,
textual
>
;
   Â
embed
:
HTMLElementModel
<
"embed"
,
none
>
;
   Â
fieldset
:
HTMLElementModel
<
"fieldset"
,
none
>
;
   Â
figcaption
:
HTMLElementModel
<
"figcaption"
,
block
>
;
   Â
figure
:
HTMLElementModel
<
"figure"
,
block
>
;
   Â
footer
:
HTMLElementModel
<
"footer"
,
block
>
;
   Â
form
:
HTMLElementModel
<
"form"
,
none
>
;
   Â
h1
:
HTMLElementModel
<
"h1"
,
block
>
;
   Â
h2
:
HTMLElementModel
<
"h2"
,
block
>
;
   Â
h3
:
HTMLElementModel
<
"h3"
,
block
>
;
   Â
h4
:
HTMLElementModel
<
"h4"
,
block
>
;
   Â
h5
:
HTMLElementModel
<
"h5"
,
block
>
;
   Â
h6
:
HTMLElementModel
<
"h6"
,
block
>
;
   Â
head
:
HTMLElementModel
<
"head"
,
none
>
;
   Â
header
:
HTMLElementModel
<
"header"
,
block
>
;
   Â
hgroup
:
HTMLElementModel
<
"hgroup"
,
block
>
;
   Â
hr
:
HTMLElementModel
<
"hr"
,
block
>
;
   Â
i
:
HTMLElementModel
<
"i"
,
textual
>
;
   Â
iframe
:
HTMLElementModel
<
"iframe"
,
none
>
;
   Â
img
:
HTMLElementModel
<
"img"
,
block
>
;
   Â
input
:
HTMLElementModel
<
"input"
,
none
>
;
   Â
ins
:
HTMLElementModel
<
"ins"
,
mixed
>
;
   Â
kbd
:
HTMLElementModel
<
"kbd"
,
textual
>
;
   Â
label
:
HTMLElementModel
<
"label"
,
none
>
;
   Â
legend
:
HTMLElementModel
<
"legend"
,
none
>
;
   Â
li
:
HTMLElementModel
<
"li"
,
block
>
;
   Â
link
:
HTMLElementModel
<
"link"
,
none
>
;
   Â
listing
:
HTMLElementModel
<
"listing"
,
block
>
;
   Â
main
:
HTMLElementModel
<
"main"
,
block
>
;
   Â
map
:
HTMLElementModel
<
"map"
,
none
>
;
   Â
mark
:
HTMLElementModel
<
"mark"
,
textual
>
;
   Â
math
:
HTMLElementModel
<
"math"
,
none
>
;
   Â
menu
:
HTMLElementModel
<
"menu"
,
block
>
;
   Â
meta
:
HTMLElementModel
<
"meta"
,
none
>
;
   Â
meter
:
HTMLElementModel
<
"meter"
,
none
>
;
   Â
nav
:
HTMLElementModel
<
"nav"
,
block
>
;
   Â
object
:
HTMLElementModel
<
"object"
,
none
>
;
   Â
ol
:
HTMLElementModel
<
"ol"
,
block
>
;
   Â
optgroup
:
HTMLElementModel
<
"optgroup"
,
none
>
;
   Â
option
:
HTMLElementModel
<
"option"
,
none
>
;
   Â
output
:
HTMLElementModel
<
"output"
,
none
>
;
   Â
p
:
HTMLElementModel
<
"p"
,
block
>
;
   Â
param
:
HTMLElementModel
<
"param"
,
none
>
;
   Â
picture
:
HTMLElementModel
<
"picture"
,
block
>
;
   Â
plaintext
:
HTMLElementModel
<
"plaintext"
,
block
>
;
   Â
pre
:
HTMLElementModel
<
"pre"
,
block
>
;
   Â
progress
:
HTMLElementModel
<
"progress"
,
none
>
;
   Â
q
:
HTMLElementModel
<
"q"
,
textual
>
;
   Â
rp
:
HTMLElementModel
<
"rp"
,
textual
>
;
   Â
rt
:
HTMLElementModel
<
"rt"
,
textual
>
;
   Â
ruby
:
HTMLElementModel
<
"ruby"
,
textual
>
;
   Â
s
:
HTMLElementModel
<
"s"
,
textual
>
;
   Â
samp
:
HTMLElementModel
<
"samp"
,
textual
>
;
   Â
section
:
HTMLElementModel
<
"section"
,
block
>
;
   Â
select
:
HTMLElementModel
<
"select"
,
none
>
;
   Â
small
:
HTMLElementModel
<
"small"
,
textual
>
;
   Â
source
:
HTMLElementModel
<
"source"
,
none
>
;
   Â
span
:
HTMLElementModel
<
"span"
,
textual
>
;
   Â
strike
:
HTMLElementModel
<
"strike"
,
textual
>
;
   Â
strong
:
HTMLElementModel
<
"strong"
,
textual
>
;
   Â
sub
:
HTMLElementModel
<
"sub"
,
textual
>
;
   Â
summary
:
HTMLElementModel
<
"summary"
,
none
>
;
   Â
sup
:
HTMLElementModel
<
"sup"
,
textual
>
;
   Â
svg
:
HTMLElementModel
<
"svg"
,
none
>
;
   Â
table
:
HTMLElementModel
<
"table"
,
block
>
;
   Â
tbody
:
HTMLElementModel
<
"tbody"
,
block
>
;
   Â
td
:
HTMLElementModel
<
"td"
,
block
>
;
   Â
textarea
:
HTMLElementModel
<
"textarea"
,
none
>
;
   Â
tfoot
:
HTMLElementModel
<
"tfoot"
,
block
>
;
   Â
th
:
HTMLElementModel
<
"th"
,
block
>
;
   Â
thead
:
HTMLElementModel
<
"thead"
,
block
>
;
   Â
time
:
HTMLElementModel
<
"time"
,
textual
>
;
   Â
title
:
HTMLElementModel
<
"title"
,
none
>
;
   Â
tr
:
HTMLElementModel
<
"tr"
,
block
>
;
   Â
track
:
HTMLElementModel
<
"track"
,
none
>
;
   Â
tt
:
HTMLElementModel
<
"tt"
,
textual
>
;
   Â
u
:
HTMLElementModel
<
"u"
,
textual
>
;
   Â
ul
:
HTMLElementModel
<
"ul"
,
block
>
;
   Â
var
:
HTMLElementModel
<
"var"
,
textual
>
;
   Â
video
:
HTMLElementModel
<
"video"
,
none
>
;
   Â
wbr
:
HTMLElementModel
<
"wbr"
,
textual
>
;
   Â
xmp
:
HTMLElementModel
<
"xmp"
,
block
>
;
 Â
}
)
=>
HTMLModelRecord
<
TagName
|
E
,
HTMLContentModel
>
;
Customize supported tags in the engine.
Remarks
If you need to add new tags, always use lowercase names.
dangerouslyDisableHoisting
#
dangerouslyDisableHoisting
?
:
boolean
;
Disable hoisting. Note that your layout might break!
dangerouslyDisableWhitespaceCollapsing
#
dangerouslyDisableWhitespaceCollapsing
?
:
boolean
;
Disable whitespace collapsing. Especially useful if your html is being pre-processed server-side with a minifier.
domVisitors
#
An object which callbacks will be invoked when a DOM element or text node has been parsed and its children attached.
htmlParserOptions
#
htmlParserOptions
?
:
Readonly
<
ParserOptions
>
;
Options for htmlparser2 library parser.
ignoreDomNode
#
Ignore specific DOM nodes.
Warning: when this function is invoked, the node has not yet been
attached to its parent or siblings. Use the second argument (parent
)
if you need to perform logic based on parent.
Returns: true
if this node should not be included in the DOM, anything
else otherwise.
Remarks
The function is applied during parsing, thus with very little overhead. However, it means that one node next siblings won't be available.
ignoredDomTags
#
ignoredDomTags
?
:
Array
<
string
>
;
A list of tags which should not be included in the DOM.
removeLineBreaksAroundEastAsianDiscardSet
#
removeLineBreaksAroundEastAsianDiscardSet
?
:
boolean
;
Remove line breaks around special east-asian characters such as defined here: https://www.w3.org/TR/2020/WD-css-text-3-20200429/#line-break-transform
Default: false
selectDomRoot
#
Select the DOM root before TTree generation. For example, you could iterate over children until you reach an article element and return this element.
Remarks
Applied after DOM parsing, before normalization and TTree construction. Before normalization implies that a body will be added in the tree after selecting root.
setMarkersForTNode
#
Customize markers logic by extracting markers from TNode properties such as classes, ids, attributes, tagName ...
Remarks
If you are using JavaScript, you can use module augmentation and
declaration merging to add properties to the ​Markers
shape.
stylesConfig
#
Various configuration for styling.