History

Update JavaScript documentation

Simon Legner committed 11 months ago

Commit e178e781 parent d2525f44 files · +45 −63Browse files

Unified · Split

4 files
  1. assets/stylesheets/pages/_mdn.scss +1 −0
  2. lib/docs/filters/javascript/clean_html.rb +6 −0
  3. lib/docs/filters/mdn/compat_tables.rb +37 −62
  4. lib/docs/scrapers/mdn/javascript.rb +1 −1
assets/stylesheets/pages/_mdn.scss+1−0
@@ -126,6 +126,7 @@ · 125 unmodified lines
126 }126 }
127 127
128 .bc-supports-yes, .bc-supports-yes + dd, .bc-supports-yes + dd + dd { background: var(--noteGreenBackground); }128 .bc-supports-yes, .bc-supports-yes + dd, .bc-supports-yes + dd + dd { background: var(--noteGreenBackground); }
129 .bc-supports-preview, .bc-supports-preview + dd, .bc-supports-preview + dd + dd { background: var(--noteBlueBackground); }
129 .bc-supports-unknown, .bc-supports-unknown + dd, .bc-supports-unknown + dd + dd { background: var(--noteBackground); }130 .bc-supports-unknown, .bc-supports-unknown + dd, .bc-supports-unknown + dd + dd { background: var(--noteBackground); }
130 .bc-supports-partial, .bc-supports-partial + dd, .bc-supports-partial + dd + dd { background: var(--noteOrangeBackground); }131 .bc-supports-partial, .bc-supports-partial + dd, .bc-supports-partial + dd + dd { background: var(--noteOrangeBackground); }
131 .bc-supports-no, .bc-supports-no + dd, .bc-supports-no + dd + dd { background: var(--noteRedBackground); }132 .bc-supports-no, .bc-supports-no + dd, .bc-supports-no + dd + dd { background: var(--noteRedBackground); }
lib/docs/filters/javascript/clean_html.rb+6−0
@@ -19,6 +19,12 @@ module Docs · 18 unmodified lines
19 css('div > .overheadIndicator:first-child:last-child', 'div > .blockIndicator:first-child:last-child').each do |node|19 css('div > .overheadIndicator:first-child:last-child', 'div > .blockIndicator:first-child:last-child').each do |node|
20 node.parent.replace(node)20 node.parent.replace(node)
21 end21 end
22
23 css('.baseline-indicator').each do |node|
24 if node.next.text == '> '
25 node.next.remove
26 end
27 end
22 end28 end
23 end29 end
24 end30 end
lib/docs/filters/mdn/compat_tables.rb+37−62
@@ -138,77 +138,52 @@ module Docs · 137 unmodified lines
138 version_removed = []138 version_removed = []
139 notes = []139 notes = []
140 140
141 if json141 if !json
142 if json.is_a?(Array)142 format_string = "<td class=bc-supports-unknown><div>?</div></td>"
143 json.each do |element|143 entry.add_child(format_string)
144 144 return
145 if element['version_added']145 end
146 version_added.push(element['version_added'])
147 else
148 version_added.push(false)
149 end
150
151 if element['version_removed']
152 version_removed.push(element['version_removed'])
153 else
154 version_removed.push(false)
155 end
156
157 if element['notes']
158 notes.push(element['notes'])
159 else
160 notes.push(false)
161 end
162
163 end
164 else
165 version_added.push(json['version_added'])
166 version_removed.push(json['version_removed'])
167 notes.push(json['notes'])
168 end
169 146
170 version_added.map! do |version|147 format_string = "<td class=bc-supports-unknown>"
171 if version == true148 (json.is_a?(Array) ? json : [json]).each do |element|
172 'Yes'149 version = element['version_added']
173 elsif version == false150 if version.is_a?(String) and element['release_date']
174 'No'151 format_string = "<td class=bc-supports-yes>"
175 elsif version.is_a?(String)152 format_string = "<td class=bc-supports-preview>" if element['release_date'] > Time.now.iso8601
176 version153 version_added.push("<abbr title='Release date: #{element['release_date']}'>#{version}</abbr>")
177 else154 elsif version == 'preview'
178 '?'155 format_string = "<td class=bc-supports-preview>"
179 end156 version_added.push(version)
157 elsif version.is_a?(String)
158 format_string = "<td class=bc-supports-yes>"
159 version_added.push(version)
160 elsif version == true
161 format_string = "<td class=bc-supports-yes>"
162 version_added.push('Yes')
163 else
164 format_string = "<td class=bc-supports-no>"
165 version_added.push('No')
180 end166 end
167 version_removed.push(element['version_removed'] || false)
168 notes.push(element['notes'] || false)
169 end
181 170
182 if version_removed[0]171 for value in (0..version_added.length-1) do
183 format_string = "<td class=bc-supports-no>"172 if version_removed[value]
184 elsif version_added[0] == 'No'173 version_string = "#{version_added[value]}–#{version_removed[value]}"
185 format_string = "<td class=bc-supports-no>"
186 elsif version_added[0] == '?'
187 format_string = "<td class=bc-supports-unknown>"
188 else174 else
189 format_string = "<td class=bc-supports-yes>"175 version_string = version_added[value]
190 end176 end
191 177
192 for value in (0..version_added.length-1) do178 if notes[value]
193 if version_removed[value]179 format_string += "<details><summary>#{version_string}</summary>#{notes[value]}</details>"
194 version_string = "#{version_added[value]}–#{version_removed[value]}"180 else
195 else181 format_string += "<div>#{version_string}</div>"
196 version_string = version_added[value]
197 end
198
199 if notes[value]
200 format_string += "<details><summary>#{version_string}</summary>#{notes[value]}</details>"
201 else
202 format_string += "<div>#{version_string}</div>"
203 end
204 end182 end
205
206 format_string += "</td>"
207
208 else
209 format_string = "<td class=bc-supports-unknown><div>?</div></td>"
210 end183 end
211 184
185 format_string += "</td>"
186
212 entry.add_child(format_string)187 entry.add_child(format_string)
213 end188 end
214 189
lib/docs/scrapers/mdn/javascript.rb+1−1
@@ -3,7 +3,7 @@ module Docs · 2 unmodified lines
3 prepend FixInternalUrlsBehavior3 prepend FixInternalUrlsBehavior
4 prepend FixRedirectionsBehavior4 prepend FixRedirectionsBehavior
5 5
6 # release = '2025-12-04'6 # release = '2025-12-14'
7 self.name = 'JavaScript'7 self.name = 'JavaScript'
8 self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference'8 self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference'
9 self.links = {9 self.links = {