mdn_query 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mdn_query/section.rb +8 -3
- data/lib/mdn_query/traverse_dom.rb +14 -3
- data/lib/mdn_query/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd1d8b69910ca50cf0d617c37cd233d1eaaafa36
|
4
|
+
data.tar.gz: f7d59f60c90d1739934b4e16cb0d2baf3ae2fe74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 754edf7072c37268f916f66649eeeb451e00da6568d2595c402be4a3954c2f88b5d0505da98b03dd5230c86f20cb618f7814780c1ac6d2f9c677d30cf69d2197
|
7
|
+
data.tar.gz: bf2596bd82fe8ec5fd0a9e4a38cf203b51094624e7e0b7d102a4fd0cab1601793bf4f815a43d3a29e743037ffa18eb0f358a838604492b3ea39eb47e577d0593
|
data/lib/mdn_query/section.rb
CHANGED
@@ -23,7 +23,7 @@ module MdnQuery
|
|
23
23
|
# @param parent [MdnQuery::Section] the parent section
|
24
24
|
# @return [MdnQuery::Section]
|
25
25
|
def initialize(name, level: 1, parent: nil)
|
26
|
-
@name = name
|
26
|
+
@name = escape_html_tags(name)
|
27
27
|
@level = level
|
28
28
|
@parent = parent
|
29
29
|
@text = []
|
@@ -48,8 +48,9 @@ module MdnQuery
|
|
48
48
|
# @param text [String] the text segment to append
|
49
49
|
# @return [void]
|
50
50
|
def append_text(text)
|
51
|
-
|
52
|
-
|
51
|
+
trimmed = text.gsub(/\n[[:blank:]]+|[[:blank:]]+\n/, "\n")
|
52
|
+
escaped = escape_html_tags(trimmed)
|
53
|
+
@text << escaped unless text_empty?(escaped)
|
53
54
|
end
|
54
55
|
|
55
56
|
# Appends a code segment to the section.
|
@@ -83,6 +84,10 @@ module MdnQuery
|
|
83
84
|
|
84
85
|
private
|
85
86
|
|
87
|
+
def escape_html_tags(text)
|
88
|
+
text.gsub(/(<\w+>)/, '`\1`')
|
89
|
+
end
|
90
|
+
|
86
91
|
def join_text
|
87
92
|
text.join("\n")
|
88
93
|
end
|
@@ -90,7 +90,18 @@ module MdnQuery
|
|
90
90
|
when 'dl'
|
91
91
|
@current_section.append_text(convert_description(child))
|
92
92
|
when 'pre'
|
93
|
-
|
93
|
+
if child[:class].nil?
|
94
|
+
@current_section.append_code(child.text)
|
95
|
+
next
|
96
|
+
end
|
97
|
+
match = child[:class].match(/brush:\s*(?<lang>\w+)/)
|
98
|
+
if match.nil?
|
99
|
+
@current_section.append_code(child.text)
|
100
|
+
else
|
101
|
+
lang = match[:lang]
|
102
|
+
lang = 'javascript' if lang == 'js'
|
103
|
+
@current_section.append_code(child.text, language: lang)
|
104
|
+
end
|
94
105
|
when /\Ah(?<level>\d)\z/
|
95
106
|
level = $LAST_MATCH_INFO[:level].to_i
|
96
107
|
create_child(level, child[:id].tr('_', ' '))
|
@@ -143,7 +154,7 @@ module MdnQuery
|
|
143
154
|
if child.name == 'dl'
|
144
155
|
convert_description(child)
|
145
156
|
elsif child.name == 'dt'
|
146
|
-
"\n**#{child.text}**\n"
|
157
|
+
"\n**#{child.text.strip}**\n"
|
147
158
|
else
|
148
159
|
"\n#{child.text}\n"
|
149
160
|
end
|
@@ -161,7 +172,7 @@ module MdnQuery
|
|
161
172
|
extract_table_row(head_row)
|
162
173
|
end
|
163
174
|
table = MdnQuery::Table.new(head, *body)
|
164
|
-
table
|
175
|
+
"\n#{table}\n"
|
165
176
|
end
|
166
177
|
|
167
178
|
def extract_table_row(tr)
|
data/lib/mdn_query/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdn_query
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Jungo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: launchy
|