Class: IsoDoc::Ogc::HtmlConvert
- Inherits:
-
HtmlConvert
- Object
- HtmlConvert
- IsoDoc::Ogc::HtmlConvert
show all
- Includes:
- BaseConvert, Init
- Defined in:
- lib/isodoc/ogc/html_convert.rb
Instance Method Summary
collapse
Methods included from Init
#bibrenderer, #fileloc, #i18n_init, #metadata_init, #ogc_draft_ref?, #submittingorgs_path, #xref_init
#abstract, #acknowledgements, #cleanup, #error_parse, #example_label, #example_name_parse, #example_parse, #foreword, #hi_parse, #intro_clause, #is_clause?, #make_tr_attr, #middle_clause, #ol_depth, #para_class, #preface, #table_attrs, #term_cleanup, #term_cleanup_merge_admitted, #term_cleanup_merge_termnum, #top_element_render
Constructor Details
#initialize(options) ⇒ HtmlConvert
Returns a new instance of HtmlConvert.
10
11
12
13
|
# File 'lib/isodoc/ogc/html_convert.rb', line 10
def initialize(options)
@libdir = File.dirname(__FILE__)
super
end
|
Instance Method Details
#admonition_class(node) ⇒ Object
42
43
44
45
46
47
48
|
# File 'lib/isodoc/ogc/html_convert.rb', line 42
def admonition_class(node)
case node["type"]
when "important" then "Admonition.Important"
when "warning" then "Admonition.Warning"
else "Admonition"
end
end
|
#authority_cleanup(docxml) ⇒ Object
65
66
67
68
|
# File 'lib/isodoc/ogc/html_convert.rb', line 65
def authority_cleanup(docxml)
authority_cleanup1(docxml, "contact")
super
end
|
#default_file_locations(_options) ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/isodoc/ogc/html_convert.rb', line 26
def default_file_locations(_options)
{
htmlstylesheet: html_doc_path("htmlstyle.scss"),
htmlcoverpage: html_doc_path("html_ogc_titlepage.html"),
htmlintropage: html_doc_path("html_ogc_intro.html"),
}
end
|
#default_fonts(_options) ⇒ Object
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/isodoc/ogc/html_convert.rb', line 15
def default_fonts(_options)
{
bodyfont: '"Overpass",sans-serif',
headerfont: '"Overpass",sans-serif',
monospacefont: '"Space Mono",monospace',
normalfontsize: "16px",
monospacefontsize: "0.8em",
footnotefontsize: "0.9em",
}
end
|
#googlefonts ⇒ Object
34
35
36
37
38
39
40
|
# File 'lib/isodoc/ogc/html_convert.rb', line 34
def googlefonts
<<~HEAD.freeze
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i|Space+Mono:400,700" rel="stylesheet"/>
<link href="https://fonts.googleapis.com/css?family=Overpass:300,300i,600,900" rel="stylesheet"/>
<link href="https://fonts.googleapis.com/css?family=Teko:300,400,500" rel="stylesheet"/>
HEAD
end
|
#heading_anchors(html) ⇒ Object
127
128
129
130
131
132
133
134
135
136
|
# File 'lib/isodoc/ogc/html_convert.rb', line 127
def heading_anchors(html)
super
html.xpath("//p[@class = 'RecommendationTitle'] | " \
"//p[@class = 'RecommendationTestTitle']").each do |h|
div = h.xpath("./ancestor::table[@id]")
div.empty? and next
heading_anchor(h, div[-1]["id"])
end
html
end
|
#html_head ⇒ Object
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/isodoc/ogc/html_convert.rb', line 70
def html_head
ret = super
ret += html_head_kw
ret += html_head_abstract
ret += html_head_creator
ret += html_head_date
ret += html_head_title
ret += html_head_dc
ret
end
|
#html_head_abstract ⇒ Object
81
82
83
84
85
86
|
# File 'lib/isodoc/ogc/html_convert.rb', line 81
def html_head_abstract
k = @meta.get[:abstract] and k = @c.encode(k)&.gsub("'", "'")
(k.nil? || k.empty?) and return ""
"<meta name='description' content='#{k}'/>\n" \
"<meta name='DC.description' lang='#{@lang}' content='#{k}' />"
end
|
#html_head_creator ⇒ Object
107
108
109
110
111
112
|
# File 'lib/isodoc/ogc/html_convert.rb', line 107
def html_head_creator
k = @meta.get[:authors] and
k = @c.encode(k.join(", ")).gsub("'", "'")
(k.nil? || k.empty?) and return ""
"<meta name='DC.creator' lang='#{@lang}' content='#{k}' />"
end
|
#html_head_date ⇒ Object
114
115
116
117
118
119
|
# File 'lib/isodoc/ogc/html_convert.rb', line 114
def html_head_date
k = @meta.get[:revdate] || @meta.get[:ipublisheddate] and
k = @c.encode(k)&.gsub("'", "'")
(k.nil? || k.empty?) and return ""
"<meta name='DC.date' content='#{k}' />"
end
|
#html_head_dc ⇒ Object
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/isodoc/ogc/html_convert.rb', line 96
def html_head_dc
<<~HTML
<link rel="profile" href="http://dublincore.org/documents/2008/08/04/dc-html/" />
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<meta name="DC.language" content="#{@lang}" />
<meta name="DC.rights" lang="#{@lang}" content="CC-BY-4.0"/>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.license" href="https://www.ogc.org/license" />
HTML
end
|
#html_head_kw ⇒ Object
88
89
90
91
92
93
94
|
# File 'lib/isodoc/ogc/html_convert.rb', line 88
def html_head_kw
k = @meta.get[:keywords].join(", ") and
k = @c.encode(k).gsub("'", "'")
k.empty? and return ""
"<meta name='keywords' content='#{k}'/>" \
"<meta name='DC.subject' lang='#{@lang}' content='#{k}' />"
end
|
#html_head_title ⇒ Object
121
122
123
124
125
|
# File 'lib/isodoc/ogc/html_convert.rb', line 121
def html_head_title
k = @meta.get[:doctitle] and k = @c.encode(k)&.gsub("'", "'")
(k.nil? || k.empty?) and return ""
"<meta name='DC.title' lang='#{@lang}' content='#{k}' />"
end
|
#make_body(xml, docxml) ⇒ Object
50
51
52
53
54
55
56
57
58
|
# File 'lib/isodoc/ogc/html_convert.rb', line 50
def make_body(xml, docxml)
body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72",
"xml:lang": "EN-US", class: "container" }
xml.body **body_attr do |body|
make_body1(body, docxml)
make_body2(body, docxml)
make_body3(body, docxml)
end
end
|
#make_body3(body, docxml) ⇒ Object
60
61
62
63
|
# File 'lib/isodoc/ogc/html_convert.rb', line 60
def make_body3(body, docxml)
@prefacenum = 0
super
end
|