Module: MasterView::TidyHelper
- Defined in:
- lib/masterview/filter_helpers.rb
Overview
Helper services to support a preprocessing filter to run a template
document through HTML Tidy to automatically clean up the markup
to ensure valid xhtml. Optionally applied to all incoming templates
prior to MasterView processing if the MasterView :tidy parser
option is enabled.
Unlike web browsers, which for historical and cultural reasons typically
accept all sorts of mangled and invalid html and attempt to always
produce some form of rendering, MasterView's template parsing is
based on XML parsing technology and requires a syntactically valid
xhtml document. If you're not sure your templates are well-formed,
you can turn on the MasterView :tidy parser option
to have tidy automatically applied as a preprocessing filter
on your templates. (Requires that you have tidy installed on your system;
use the MasterView :tidy_path option to specify how
MasterView should invoke tidy)
Class Method Summary collapse
-
.tidy(html) ⇒ Object
Run HTML tidy on an html document and return the tidy'd output.
Class Method Details
.tidy(html) ⇒ Object
Run HTML tidy on an html document and return the tidy'd output.
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/masterview/filter_helpers.rb', line 24 def self.tidy(html) Tidy.path = ::MasterView::TidyPath unless Tidy.path xml = Tidy.open do |tidy| tidy..output_xml = true tidy..indent = true tidy..wrap = 0 xml = tidy.clean(html) end xml = ::MasterView::EscapeErbHelper.escape_erb(xml) ::MasterView::Log.debug { 'tidy corrected xml='+xml } xml end |