mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-24 06:59:52 +01:00
html rewrite: add 'force_html_decl' option, which if set in rewrite_opts, can be used to force an HTML decl, eg. <!DOCTYPE html> if a default one was not provided
This commit is contained in:
parent
9b08ca9005
commit
0f4d779b00
@ -109,6 +109,8 @@ class HTMLRewriterMixin(object):
|
|||||||
# get opts from urlrewriter
|
# get opts from urlrewriter
|
||||||
self.opts = url_rewriter.rewrite_opts
|
self.opts = url_rewriter.rewrite_opts
|
||||||
|
|
||||||
|
self.force_decl = self.opts.get('force_html_decl', None)
|
||||||
|
|
||||||
self.parsed_any = False
|
self.parsed_any = False
|
||||||
|
|
||||||
# ===========================
|
# ===========================
|
||||||
@ -300,6 +302,10 @@ class HTMLRewriterMixin(object):
|
|||||||
# Clear buffer to create new one for next rewrite()
|
# Clear buffer to create new one for next rewrite()
|
||||||
self.out = None
|
self.out = None
|
||||||
|
|
||||||
|
if self.force_decl:
|
||||||
|
result = self.force_decl + '\n' + result
|
||||||
|
self.force_decl = None
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
@ -409,6 +415,7 @@ class HTMLRewriter(HTMLRewriterMixin, HTMLParser):
|
|||||||
|
|
||||||
def handle_decl(self, data):
|
def handle_decl(self, data):
|
||||||
self.out.write('<!' + data + '>')
|
self.out.write('<!' + data + '>')
|
||||||
|
self.force_decl = None
|
||||||
|
|
||||||
def handle_pi(self, data):
|
def handle_pi(self, data):
|
||||||
self.out.write('<?' + data + '>')
|
self.out.write('<?' + data + '>')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user