[devdocsgjs/main: 1669/1867] Addd WebExtensions
- From: Andy Holmes <andyholmes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devdocsgjs/main: 1669/1867] Addd WebExtensions
- Date: Fri, 19 Nov 2021 23:48:14 +0000 (UTC)
commit 21443dc9143ae64d51152f8f65ee66abd7d176a3
Author: Cimbali <me cimba li>
Date: Sat Nov 30 23:54:35 2019 +0100
Addd WebExtensions
lib/docs/filters/web_extensions/clean_html.rb | 14 ++++++++++++++
lib/docs/filters/web_extensions/entries.rb | 28 +++++++++++++++++++++++++++
lib/docs/scrapers/web_extensions.rb | 26 +++++++++++++++++++++++++
3 files changed, 68 insertions(+)
---
diff --git a/lib/docs/filters/web_extensions/clean_html.rb b/lib/docs/filters/web_extensions/clean_html.rb
new file mode 100644
index 00000000..c5737371
--- /dev/null
+++ b/lib/docs/filters/web_extensions/clean_html.rb
@@ -0,0 +1,14 @@
+module Docs
+ class WebExtensions
+ class CleanHtmlFilter < Filter
+ def call
+
+ # Remove all the cruft.
+ content = at_css('main#content')
+ content.at_css('aside.metadata').remove
+
+ content
+ end
+ end
+ end
+end
diff --git a/lib/docs/filters/web_extensions/entries.rb b/lib/docs/filters/web_extensions/entries.rb
new file mode 100644
index 00000000..84c095e7
--- /dev/null
+++ b/lib/docs/filters/web_extensions/entries.rb
@@ -0,0 +1,28 @@
+module Docs
+ class WebExtensions
+ class EntriesFilter < Docs::EntriesFilter
+ def get_name
+ at_css('main#content h1').text
+ end
+
+ def get_type
+ slug_parts = slug.split('/')
+ if slug_parts[0] == 'API' and slug_parts.length() > 1
+ if slug_parts[1] == 'WebRequest'
+ return 'webRequest'
+ else
+ return slug_parts[1]
+ end
+ elsif slug_parts[0] == 'manifest.json'
+ return slug_parts[0]
+ elsif slug_parts[0] == 'user_interface'
+ return 'User Interface'
+ elsif slug_parts.length() > 1
+ return slug_parts[0]
+ else
+ return 'Miscellaneous'
+ end
+ end
+ end
+ end
+end
diff --git a/lib/docs/scrapers/web_extensions.rb b/lib/docs/scrapers/web_extensions.rb
new file mode 100644
index 00000000..15d2c30a
--- /dev/null
+++ b/lib/docs/scrapers/web_extensions.rb
@@ -0,0 +1,26 @@
+module Docs
+ class WebExtensions < UrlScraper
+ self.name = 'Web Extensions'
+ self.slug = 'web_extensions'
+ self.type = 'simple'
+ self.links = {
+ home: 'https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions'
+ }
+
+ self.base_url = 'https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions'
+
+ html_filters.push 'web_extensions/entries', 'web_extensions/clean_html'
+
+ options[:skip_patterns] = [
+ /\/contributors\.txt$/
+ ]
+
+ options[:attribution] = -> (filter) {
+ <<-HTML
+ <a href="#{filter.current_url}">#{filter.result()[:entries][0].name}</a> © 2005-2021 Mozilla and
individual contributors.<br>
+ Licensed under the <a href="https://creativecommons.org/licenses/by-sa/2.5/">Creative Commons
Attribution-ShareAlike license</a>
+ HTML
+ }
+
+ end
+end
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]