create header and footer only when needed
This commit is contained in:
		
							parent
							
								
									406008135f
								
							
						
					
					
						commit
						4b4b875f34
					
				| @ -93,28 +93,30 @@ func merge(base, doc *html.Node) (out *html.Node) { | |||||||
| 	footer := findRec(body, atom.Footer) | 	footer := findRec(body, atom.Footer) | ||||||
| 	main := findRec(body, atom.Main) | 	main := findRec(body, atom.Main) | ||||||
| 
 | 
 | ||||||
| 	if header == nil { | 	// TODO: merge attributes | ||||||
| 		header = createElement(atom.Header) | 
 | ||||||
| 		body.InsertBefore(header, body.FirstChild) |  | ||||||
| 	} |  | ||||||
| 	for { | 	for { | ||||||
| 		n := findRec(newBody, atom.Header) | 		n := findRec(newBody, atom.Header) | ||||||
| 		if n == nil { | 		if n == nil { | ||||||
| 			break | 			break | ||||||
| 		} | 		} | ||||||
|  | 		if header == nil { | ||||||
|  | 			header = createElement(atom.Header) | ||||||
|  | 			body.InsertBefore(header, body.FirstChild) | ||||||
|  | 		} | ||||||
| 		reparentChildren(header, n) | 		reparentChildren(header, n) | ||||||
| 		n.Parent.RemoveChild(n) | 		n.Parent.RemoveChild(n) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if footer == nil { |  | ||||||
| 		footer = createElement(atom.Header) |  | ||||||
| 		body.InsertBefore(footer, body.FirstChild) |  | ||||||
| 	} |  | ||||||
| 	for { | 	for { | ||||||
| 		n := findRec(newBody, atom.Footer) | 		n := findRec(newBody, atom.Footer) | ||||||
| 		if n == nil { | 		if n == nil { | ||||||
| 			break | 			break | ||||||
| 		} | 		} | ||||||
|  | 		if footer == nil { | ||||||
|  | 			footer = createElement(atom.Header) | ||||||
|  | 			body.InsertBefore(footer, body.FirstChild) | ||||||
|  | 		} | ||||||
| 		reparentChildren(footer, n) | 		reparentChildren(footer, n) | ||||||
| 		n.Parent.RemoveChild(n) | 		n.Parent.RemoveChild(n) | ||||||
| 	} | 	} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user