forked from railsbridge/docs
-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathhtml5_page.rb
33 lines (28 loc) · 894 Bytes
/
html5_page.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Html5ExternalRenderer < ExternalRenderer
# render <style> tags plainly, without "text/css" (which browsers will assume by default)
# or the xml:space attribute (not allowed or required in html5)
def inline_styles
rendered_externals(:style).each do |external|
style(external.options) { rawtext external.text }
end
if Object.const_defined?(:Sass)
rendered_externals(:scss).each do |external|
style(external.options) { rawtext Sass.compile(external.text) }
end
end
end
end
class Html5Page < Erector::Widgets::Page
tag 'main'
def doctype
'<!doctype html>'
end
def html_attributes
{:lang => 'en'}
end
# wire up the Html5ExternalRenderer
def included_head_content
included_widgets = [self.class] + output.widgets.to_a + extra_widgets
Html5ExternalRenderer.new(:classes => included_widgets).to_html
end
end