Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–295 unchanged (295 lines)
296 {{- end}}
297{{- end}}
298<!DOCTYPE html>
299<html>
300 <head>
301 <title>{{html .Name}}</title>
302 <meta charset="utf-8">
303 <meta name="color-scheme" content="light dark">
304 <meta name="viewport" content="width=device-width, initial-scale=1.0">
305<style>
306* { padding: 0; margin: 0; box-sizing: border-box; }
307
308body {
…lines 309–1144 unchanged (836 lines)

After

…lines 1–295 unchanged (295 lines)
296 {{- end}}
297{{- end}}
298<!DOCTYPE html>
299<html>
300 <head>
301 <title>{{html .Name}}</title>
302 <link rel="canonical" href="{{.Path}}/" />
303 <meta charset="utf-8">
304 <meta name="color-scheme" content="light dark">
305 <meta name="viewport" content="width=device-width, initial-scale=1.0">
306<style>
307* { padding: 0; margin: 0; box-sizing: border-box; }
308
…lines 309–1145 unchanged (837 lines)

Before

document
text "{{- define \"icon\"}}\n\t{{- if .IsDir}}\n\t\t{{- if .IsSymlink}}"
element (+157 nodes collapsed)
text "{{- else}}"
element (+131 nodes collapsed)
text "{{- end}}\n\t{{- else if or (eq .Name \"LICENSE\") (eq .Name \"RE"...
element (+141 nodes collapsed)
text "{{- else if .HasExt \".jpg\" \".jpeg\" \".png\" \".gif\" \".webp\" \".t"...
element
start_tag
< "<"
tag_name "img"
attribute
attribute_name "loading"
= "="
quoted_attribute_value
" "\""
attribute_value "lazy"
" "\""
attribute
attribute_name "src"
= "="
quoted_attribute_value
" "\""
attribute_value "{{html .Name}}"
" "\""
> ">"
text "{{- else}}"
element (+153 nodes collapsed)
text "{{- end}}\n\t{{- else if .HasExt \".mp4\" \".mov\" \".mpeg\" \".mpg\" "...
element (+201 nodes collapsed)
text "{{- else if .HasExt \".mp3\" \".m4a\" \".aac\" \".ogg\" \".flac\" \".wa"...
element (+153 nodes collapsed)
text "{{- else if .HasExt \".pdf\"}}"
element (+177 nodes collapsed)
text "{{- else if .HasExt \".csv\" \".tsv\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".txt\" \".doc\" \".docx\" \".odt\" \".fodt\" \".r"...
element (+165 nodes collapsed)
text "{{- else if .HasExt \".xls\" \".xlsx\" \".ods\" \".fods\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".ppt\" \".pptx\" \".odp\" \".fodp\"}}"
element (+189 nodes collapsed)
text "{{- else if .HasExt \".zip\" \".gz\" \".xz\" \".tar\" \".7z\" \".rar\" \""...
element (+201 nodes collapsed)
text "{{- else if .HasExt \".deb\" \".dpkg\"}}"
element (+129 nodes collapsed)
text "{{- else if .HasExt \".rpm\" \".exe\" \".flatpak\" \".appimage\" \".j"...
element (+165 nodes collapsed)
text "{{- else if .HasExt \".ps1\"}}"
element (+141 nodes collapsed)
text "{{- else if .HasExt \".py\" \".pyc\" \".pyo\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".bash\" \".sh\" \".com\" \".bat\" \".dll\" \".so\""...
element (+117 nodes collapsed)
text "{{- else if .HasExt \".dmg\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".iso\" \".img\"}}"
element (+153 nodes collapsed)
text "{{- else if .HasExt \".md\" \".mdown\" \".markdown\"}}"
element (+141 nodes collapsed)
text "{{- else if .HasExt \".ttf\" \".otf\" \".woff\" \".woff2\" \".eof\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".go\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".html\" \".htm\"}}"
element (+213 nodes collapsed)
text "{{- else if .HasExt \".js\"}}"
element (+153 nodes collapsed)
text "{{- else if .HasExt \".css\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".json\" \".json5\" \".jsonc\"}}"
element (+153 nodes collapsed)
text "{{- else if .HasExt \".ts\"}}"
element (+177 nodes collapsed)
text "{{- else if .HasExt \".sql\"}}"
element (+189 nodes collapsed)
text "{{- else if .HasExt \".db\" \".sqlite\" \".bak\" \".mdb\"}}"
element (+141 nodes collapsed)
text "{{- else if .HasExt \".eml\" \".email\" \".mailbox\" \".mbox\" \".msg"...
element (+129 nodes collapsed)
text "{{- else if .HasExt \".crt\" \".pem\" \".x509\" \".cer\" \".ca-bundle"...
element (+177 nodes collapsed)
text "{{- else if .HasExt \".key\" \".keystore\" \".jks\" \".p12\" \".pfx\" "...
element (+129 nodes collapsed)
text "{{- else}}\n\t\t{{- if .IsSymlink}}"
element (+153 nodes collapsed)
text "{{- else}}"
element (+129 nodes collapsed)
text "{{- end}}\n\t{{- end}}\n{{- end}}"
doctype
<! "<!"
doctype "DOCTYPE"
> ">"
element
start_tag
< "<"
tag_name "html"
> ">"
element
start_tag
< "<"
tag_name "head"
> ">"
element
start_tag
< "<"
tag_name "title"
> ">"
text "{{html .Name}}"
end_tag
</ "</"
tag_name "title"
> ">"
element
start_tag
< "<"
tag_name "meta"
attribute
attribute_name "charset"
= "="
quoted_attribute_value
" "\""
attribute_value "utf-8"
" "\""
> ">"
element
start_tag
< "<"
tag_name "meta"
attribute
attribute_name "name"
= "="
quoted_attribute_value
" "\""
attribute_value "color-scheme"
" "\""
attribute
attribute_name "content"
= "="
quoted_attribute_value
" "\""
attribute_value "light dark"
" "\""
> ">"
element
start_tag
< "<"
tag_name "meta"
attribute
attribute_name "name"
= "="
quoted_attribute_value
" "\""
attribute_value "viewport"
" "\""
attribute
attribute_name "content"
= "="
quoted_attribute_value
" "\""
attribute_value "width=device-width, initial-scale=1.0"
" "\""
> ">"
style_element
start_tag
< "<"
tag_name "style"
> ">"
raw_text "\n* { padding: 0; margin: 0; box-sizing: border-box; }\n\nbody "...
end_tag
</ "</"
tag_name "style"
> ">"
text "{{- if eq .Layout \"grid\"}}"
style_element
start_tag
< "<"
tag_name "style"
> ">"
raw_text ".wrapper { max-width: none; } main { margin-top: 1px; }"
end_tag
</ "</"
tag_name "style"
> ">"
text "{{- end}}"
end_tag
</ "</"
tag_name "head"
> ">"
element (+3530 nodes collapsed)
end_tag
</ "</"
tag_name "html"
> ">"

After

document
text "{{- define \"icon\"}}\n\t{{- if .IsDir}}\n\t\t{{- if .IsSymlink}}"
element (+157 nodes collapsed)
text "{{- else}}"
element (+131 nodes collapsed)
text "{{- end}}\n\t{{- else if or (eq .Name \"LICENSE\") (eq .Name \"RE"...
element (+141 nodes collapsed)
text "{{- else if .HasExt \".jpg\" \".jpeg\" \".png\" \".gif\" \".webp\" \".t"...
element
start_tag
< "<"
tag_name "img"
attribute
attribute_name "loading"
= "="
quoted_attribute_value
" "\""
attribute_value "lazy"
" "\""
attribute
attribute_name "src"
= "="
quoted_attribute_value
" "\""
attribute_value "{{html .Name}}"
" "\""
> ">"
text "{{- else}}"
element (+153 nodes collapsed)
text "{{- end}}\n\t{{- else if .HasExt \".mp4\" \".mov\" \".mpeg\" \".mpg\" "...
element (+201 nodes collapsed)
text "{{- else if .HasExt \".mp3\" \".m4a\" \".aac\" \".ogg\" \".flac\" \".wa"...
element (+153 nodes collapsed)
text "{{- else if .HasExt \".pdf\"}}"
element (+177 nodes collapsed)
text "{{- else if .HasExt \".csv\" \".tsv\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".txt\" \".doc\" \".docx\" \".odt\" \".fodt\" \".r"...
element (+165 nodes collapsed)
text "{{- else if .HasExt \".xls\" \".xlsx\" \".ods\" \".fods\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".ppt\" \".pptx\" \".odp\" \".fodp\"}}"
element (+189 nodes collapsed)
text "{{- else if .HasExt \".zip\" \".gz\" \".xz\" \".tar\" \".7z\" \".rar\" \""...
element (+201 nodes collapsed)
text "{{- else if .HasExt \".deb\" \".dpkg\"}}"
element (+129 nodes collapsed)
text "{{- else if .HasExt \".rpm\" \".exe\" \".flatpak\" \".appimage\" \".j"...
element (+165 nodes collapsed)
text "{{- else if .HasExt \".ps1\"}}"
element (+141 nodes collapsed)
text "{{- else if .HasExt \".py\" \".pyc\" \".pyo\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".bash\" \".sh\" \".com\" \".bat\" \".dll\" \".so\""...
element (+117 nodes collapsed)
text "{{- else if .HasExt \".dmg\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".iso\" \".img\"}}"
element (+153 nodes collapsed)
text "{{- else if .HasExt \".md\" \".mdown\" \".markdown\"}}"
element (+141 nodes collapsed)
text "{{- else if .HasExt \".ttf\" \".otf\" \".woff\" \".woff2\" \".eof\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".go\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".html\" \".htm\"}}"
element (+213 nodes collapsed)
text "{{- else if .HasExt \".js\"}}"
element (+153 nodes collapsed)
text "{{- else if .HasExt \".css\"}}"
element (+165 nodes collapsed)
text "{{- else if .HasExt \".json\" \".json5\" \".jsonc\"}}"
element (+153 nodes collapsed)
text "{{- else if .HasExt \".ts\"}}"
element (+177 nodes collapsed)
text "{{- else if .HasExt \".sql\"}}"
element (+189 nodes collapsed)
text "{{- else if .HasExt \".db\" \".sqlite\" \".bak\" \".mdb\"}}"
element (+141 nodes collapsed)
text "{{- else if .HasExt \".eml\" \".email\" \".mailbox\" \".mbox\" \".msg"...
element (+129 nodes collapsed)
text "{{- else if .HasExt \".crt\" \".pem\" \".x509\" \".cer\" \".ca-bundle"...
element (+177 nodes collapsed)
text "{{- else if .HasExt \".key\" \".keystore\" \".jks\" \".p12\" \".pfx\" "...
element (+129 nodes collapsed)
text "{{- else}}\n\t\t{{- if .IsSymlink}}"
element (+153 nodes collapsed)
text "{{- else}}"
element (+129 nodes collapsed)
text "{{- end}}\n\t{{- end}}\n{{- end}}"
doctype
<! "<!"
doctype "DOCTYPE"
> ">"
element
start_tag
< "<"
tag_name "html"
> ">"
element
start_tag
< "<"
tag_name "head"
> ">"
element
start_tag
< "<"
tag_name "title"
> ">"
text "{{html .Name}}"
end_tag
</ "</"
tag_name "title"
> ">"
element
self_closing_tag
< "<"
tag_name "link"
attribute
attribute_name "rel"
= "="
quoted_attribute_value
" "\""
attribute_value "canonical"
" "\""
attribute
attribute_name "href"
= "="
quoted_attribute_value
" "\""
attribute_value "{{.Path}}/"
" "\""
/> "/>"
element
start_tag
< "<"
tag_name "meta"
attribute
attribute_name "charset"
= "="
quoted_attribute_value
" "\""
attribute_value "utf-8"
" "\""
> ">"
element
start_tag
< "<"
tag_name "meta"
attribute
attribute_name "name"
= "="
quoted_attribute_value
" "\""
attribute_value "color-scheme"
" "\""
attribute
attribute_name "content"
= "="
quoted_attribute_value
" "\""
attribute_value "light dark"
" "\""
> ">"
element
start_tag
< "<"
tag_name "meta"
attribute
attribute_name "name"
= "="
quoted_attribute_value
" "\""
attribute_value "viewport"
" "\""
attribute
attribute_name "content"
= "="
quoted_attribute_value
" "\""
attribute_value "width=device-width, initial-scale=1.0"
" "\""
> ">"
style_element
start_tag
< "<"
tag_name "style"
> ">"
raw_text "\n* { padding: 0; margin: 0; box-sizing: border-box; }\n\nbody "...
end_tag
</ "</"
tag_name "style"
> ">"
text "{{- if eq .Layout \"grid\"}}"
style_element
start_tag
< "<"
tag_name "style"
> ">"
raw_text ".wrapper { max-width: none; } main { margin-top: 1px; }"
end_tag
</ "</"
tag_name "style"
> ">"
text "{{- end}}"
end_tag
</ "</"
tag_name "head"
> ">"
element (+3530 nodes collapsed)
end_tag
</ "</"
tag_name "html"
> ">"