[devdocsgjs/main: 165/239] First initial release of TailwindCSS DevDoc
- From: Andy Holmes <andyholmes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devdocsgjs/main: 165/239] First initial release of TailwindCSS DevDoc
- Date: Fri, 8 Apr 2022 07:47:39 +0000 (UTC)
commit 39aa5b1c90d50f64ad08cae0e851bceca9cd554a
Author: Damilola Olowookere <damms005 gmail com>
Date: Fri Feb 26 16:52:04 2021 +0100
First initial release of TailwindCSS DevDoc
.../javascripts/templates/pages/about_tmpl.coffee | 5 ++
lib/docs/filters/tailwindcss/clean_html.rb | 77 +++++++++++++++++++++
lib/docs/filters/tailwindcss/entries.rb | 51 ++++++++++++++
lib/docs/scrapers/tailwindcss.rb | 31 +++++++++
public/icons/docs/tailwindcss/16.png | Bin 0 -> 2230 bytes
public/icons/docs/tailwindcss/16 2x png | Bin 0 -> 3486 bytes
6 files changed, 164 insertions(+)
---
diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee
b/assets/javascripts/templates/pages/about_tmpl.coffee
index 79edd81b..0e348f9d 100644
--- a/assets/javascripts/templates/pages/about_tmpl.coffee
+++ b/assets/javascripts/templates/pages/about_tmpl.coffee
@@ -842,6 +842,11 @@ credits = [
'2004-2017 Fabien Potencier',
'MIT',
'https://symfony.com/doc/current/contributing/code/license.html'
+ ], [
+ 'TailwindCSS',
+ 'Adam Wathan',
+ 'MIT',
+ 'https://raw.githubusercontent.com/tailwindlabs/tailwindcss/master/LICENSE'
], [
'Tcl/Tk',
'The Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and other
parties',
diff --git a/lib/docs/filters/tailwindcss/clean_html.rb b/lib/docs/filters/tailwindcss/clean_html.rb
new file mode 100644
index 00000000..fda174a2
--- /dev/null
+++ b/lib/docs/filters/tailwindcss/clean_html.rb
@@ -0,0 +1,77 @@
+module Docs
+ class Tailwindcss
+ class CleanHtmlFilter < Filter
+ def call
+ clean_up
+
+ # Remove code highlighting
+ css('pre').each do |node|
+ node.content = node.content
+ node['data-language'] = 'php'
+ end
+
+ doc
+ end
+
+ def clean_up
+ @doc = doc.at_css('#content-wrapper')
+
+ css('.location').remove
+
+ # Replace .header with <h1>
+ css('.page-header > h1').each do |node|
+ node.content = 'Tailwind' if root_page?
+ node.parent.before(node).remove
+ end
+
+ css('.container-fluid').each do |node|
+ node.name = 'table'
+ node.css('.row').each { |n| n.name = 'tr' }
+ node.css('div[class^="col"]').each { |n| n.name = 'td' }
+ end
+
+ css('> div').each do |node|
+ node.before(node.children).remove
+ end
+
+ # Remove <abbr>
+ css('a > abbr').each do |node|
+ node.parent['title'] = node['title']
+ node.before(node.children).remove
+ end
+
+ # Clean up headings
+ css('h1 > a', '.content', 'h3 > code', 'h3 strong', 'abbr').each do |node|
+ node.before(node.children).remove
+ end
+
+ # Remove empty <td>
+ css('td').each do |node|
+ node.remove if node.content =~ /\A\s+\z/
+ end
+
+ # @doc = at_css('.docs_body')
+
+ # Clean up headings
+ css('h2 > a').each do |node|
+ node.before(node.children).remove
+ end
+
+ css('p > a[name]').each do |node|
+ node.parent.next_element['id'] = node['name']
+ end
+
+ css('blockquote').each do |node|
+ node['class'] = 'tip' if node.inner_html.include?('{tip}')
+ node.inner_html = node.inner_html.remove(/\{(tip|note)\}\s?/)
+ end
+
+ css('blockquote').each do |node|
+ if node.inner_html.include?('You\'re browsing the documentation for an old version of Laravel.')
+ node.remove
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/lib/docs/filters/tailwindcss/entries.rb b/lib/docs/filters/tailwindcss/entries.rb
new file mode 100644
index 00000000..2fc2af2b
--- /dev/null
+++ b/lib/docs/filters/tailwindcss/entries.rb
@@ -0,0 +1,51 @@
+module Docs
+ class Tailwindcss
+ class EntriesFilter < Docs::EntriesFilter
+ # def get_name
+ # if api_page?
+ # name = at_css('h1').content.strip.remove('Illuminate\\')
+ # name << " (#{type})" unless name.start_with?(self.type)
+ # name
+ # else
+ # at_css('h1').content
+ # end
+ # end
+
+ def get_type
+ # /customizing-colors rediects to /colors, hence making css
+ # selector below not to match the href
+ if result[:path] == 'customizing-colors'
+ selector = "#sidebar a[href='#{result[:path]}']"
+ else
+ selector = "#sidebar a[href='#{result[:path]}']"
+ end
+
+ check = at_css(selector).parent.parent.parent.css('h5').inner_text
+ check
+ end
+
+ # def additional_entries
+ # return [] if root_page? || !api_page?
+ # base_name = self.name.remove(/\(.+\)/).strip
+
+ # css('h3[id^="method_"]').each_with_object [] do |node, entries|
+ # next if node.at_css('.location').content.start_with?('in')
+
+ # name = node['id'].remove('method_')
+ # name.prepend "#{base_name}::"
+ # name << '()'
+
+ # entries << [name, node['id']]
+ # end
+ # end
+
+ # def api_page?
+ # subpath.start_with?('/api')
+ # end
+
+ # def include_default_entry?
+ # true
+ # end
+ end
+ end
+end
diff --git a/lib/docs/scrapers/tailwindcss.rb b/lib/docs/scrapers/tailwindcss.rb
new file mode 100644
index 00000000..d13dfe24
--- /dev/null
+++ b/lib/docs/scrapers/tailwindcss.rb
@@ -0,0 +1,31 @@
+module Docs
+ class Tailwindcss < UrlScraper
+ self.name = 'Tailwind CSS'
+ self.type = 'tailwindcss'
+ self.slug = 'tailwindcss'
+ self.base_url = 'https://tailwindcss.com/docs'
+ self.root_path = '/installation'
+ self.release = '8.5'
+
+ html_filters.push 'tailwindcss/entries', 'tailwindcss/clean_html'
+
+ # options[:container] = 'body';
+
+ options[:skip_patterns] = [
+ %r{\/guides\/.*},
+ %r{\/colors\z}
+ ]
+
+ #Obtainable from https://github.com/tailwindlabs/tailwindcss/blob/master/LICENSE
+ options[:attribution] = <<-HTML
+ MIT License<br>
+ Copyright (c) Adam Wathan <adam wathan gmail com><br>
+ Copyright (c) Jonathan Reinink <jonathan reinink ca><br>
+ HTML
+
+ def get_latest_version(opts)
+ doc = fetch_doc('https://tailwindcss.com/docs/installation', opts)
+ doc.at_css('select option[value=v2]').inner_text
+ end
+ end
+end
diff --git a/public/icons/docs/tailwindcss/16.png b/public/icons/docs/tailwindcss/16.png
new file mode 100644
index 00000000..697450ec
Binary files /dev/null and b/public/icons/docs/tailwindcss/16.png differ
diff --git a/public/icons/docs/tailwindcss/16 2x png b/public/icons/docs/tailwindcss/16 2x png
new file mode 100644
index 00000000..d84c40ff
Binary files /dev/null and b/public/icons/docs/tailwindcss/16 2x png differ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]