Skip to content

Commit f691ade

Browse files
committed
Use html.Parse rather than html.ParseFragment
There have been a few issues with html.ParseFragment - just use html.Parse instead. Signed-off-by: Andrew Thornton <[email protected]>
1 parent 681e81b commit f691ade

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

modules/markup/html.go

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -304,27 +304,22 @@ func postProcess(ctx *RenderContext, procs []processor, input io.Reader, output
304304
_, _ = res.WriteString("</body></html>")
305305

306306
// parse the HTML
307-
nodes, err := html.ParseFragment(res, nil)
307+
node, err := html.Parse(res)
308308
if err != nil {
309309
return &postProcessError{"invalid HTML", err}
310310
}
311311

312-
for _, node := range nodes {
313-
visitNode(ctx, procs, node, true)
314-
}
312+
visitNode(ctx, procs, node, true)
315313

316-
newNodes := make([]*html.Node, 0, len(nodes))
314+
newNodes := make([]*html.Node, 0, 5)
317315

318-
for _, node := range nodes {
319-
if node.Data == "html" {
320-
node = node.FirstChild
321-
for node != nil && node.Data != "body" {
322-
node = node.NextSibling
323-
}
324-
}
325-
if node == nil {
326-
continue
316+
if node.Data == "html" {
317+
node = node.FirstChild
318+
for node != nil && node.Data != "body" {
319+
node = node.NextSibling
327320
}
321+
}
322+
if node != nil {
328323
if node.Data == "body" {
329324
child := node.FirstChild
330325
for child != nil {

0 commit comments

Comments
 (0)