History

Use MDN scraper for web extensions

Cimbali committed 5 years ago

Commit 6abc2081 parent 21443dc3 files · +11 −28Browse files

Unified · Split

3 files
  1. lib/docs/filters/web_extensions/clean_html.rb +1 −6
  2. lib/docs/filters/web_extensions/entries.rb +9 −13
  3. lib/docs/scrapers/mdn/web_extensions.rb +1 −9
lib/docs/filters/web_extensions/clean_html.rb+1−6
@@ -2,12 +2,7 @@ module Docs · 1 unmodified line
22 class WebExtensions
33 class CleanHtmlFilter < Filter
44 def call
5−
6− # Remove all the cruft.
7− content = at_css('main#content')
8− content.at_css('aside.metadata').remove
9−
10− content
5+ doc
116 end
127 end
138 end
lib/docs/filters/web_extensions/entries.rb+9−13
@@ -1,26 +1,22 @@
11 module Docs
22 class WebExtensions
33 class EntriesFilter < Docs::EntriesFilter
4+ TYPE_BY_PATH = {
5+ 'manifest.json' => 'manifest.json',
6+ 'user_interface' => 'User Interface',
7+ 'WebRequest' => 'webRequest',
8+ }
9+
410 def get_name
5− at_css('main#content h1').text
11+ at_css('h1').text
612 end
713
814 def get_type
915 slug_parts = slug.split('/')
1016 if slug_parts[0] == 'API' and slug_parts.length() > 1
11− if slug_parts[1] == 'WebRequest'
12− return 'webRequest'
13− else
14− return slug_parts[1]
15− end
16− elsif slug_parts[0] == 'manifest.json'
17− return slug_parts[0]
18− elsif slug_parts[0] == 'user_interface'
19− return 'User Interface'
20− elsif slug_parts.length() > 1
21− return slug_parts[0]
17+ return TYPE_BY_PATH.fetch(slug_parts[1], slug_parts[1])
2218 else
23− return 'Miscellaneous'
19+ return TYPE_BY_PATH.fetch(slug_parts[0], slug_parts.length() > 1 ? slug_parts[0] : 'Miscellaneous')
2420 end
2521 end
2622 end
lib/docs/scrapers/mdn/web_extensions.rbrenamed from lib/docs/scrapers/web_extensions.rb+1−9
@@ -1,8 +1,7 @@
11 module Docs
2− class WebExtensions < UrlScraper
2+ class WebExtensions < Mdn
33 self.name = 'Web Extensions'
44 self.slug = 'web_extensions'
5− self.type = 'simple'
65 self.links = {
76 home: 'https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions'
87 }
@@ -15,12 +14,5 @@ module Docs · 6 unmodified lines
1514 /\/contributors\.txt$/
1615 ]
1716
18− options[:attribution] = -> (filter) {
19− <<-HTML
20− <a href="#{filter.current_url}">#{filter.result()[:entries][0].name}</a> &copy; 2005-2021 Mozilla and individual contributors.<br>
21− Licensed under the <a href="https://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike license</a>
22− HTML
23− }
24−
2517 end
2618 end