From 6b0e60f65a08431c94a50e10c2aed0ce939c5e65 Mon Sep 17 00:00:00 2001 From: David Date: Fri, 9 Sep 2016 10:59:30 +0800 Subject: [PATCH] Add Twig Documentation --- lib/docs/filters/twig/clean_html.rb | 12 ++++++++++ lib/docs/filters/twig/entries.rb | 33 ++++++++++++++++++++++++++++ lib/docs/scrapers/twig.rb | 20 +++++++++++++++++ public/icons/docs/twig/16.png | Bin 0 -> 838 bytes public/icons/docs/twig/16@2x.png | Bin 0 -> 4220 bytes public/icons/docs/twig/SOURCE | 1 + 6 files changed, 66 insertions(+) create mode 100644 lib/docs/filters/twig/clean_html.rb create mode 100644 lib/docs/filters/twig/entries.rb create mode 100755 lib/docs/scrapers/twig.rb create mode 100644 public/icons/docs/twig/16.png create mode 100644 public/icons/docs/twig/16@2x.png create mode 100644 public/icons/docs/twig/SOURCE diff --git a/lib/docs/filters/twig/clean_html.rb b/lib/docs/filters/twig/clean_html.rb new file mode 100644 index 00000000..a214b839 --- /dev/null +++ b/lib/docs/filters/twig/clean_html.rb @@ -0,0 +1,12 @@ +module Docs + class Twig + class CleanHtmlFilter < Filter + def call + + css('.infobar', '.admonition-note', 'ul.pages', '.offline-docs').remove + + doc + end + end + end +end diff --git a/lib/docs/filters/twig/entries.rb b/lib/docs/filters/twig/entries.rb new file mode 100644 index 00000000..bb21ce9b --- /dev/null +++ b/lib/docs/filters/twig/entries.rb @@ -0,0 +1,33 @@ +module Docs + class Twig + class EntriesFilter < Docs::EntriesFilter + def get_name + name = at_css('h1').content.strip.tr('ΒΆ', '') + name + end + + def get_type + if slug.include?('deprecate') + 'Deprecated' + elsif slug.include?('extensions') + 'Doc\\Extensions' + elsif slug.include?('tags') + 'tags' + elsif slug.include?('filters') + 'filters' + elsif slug.include?('functions') + 'functions' + elsif slug.include?('tests') + 'tests' + elsif slug.include?('-operator') || slug.include?('#math') || slug.include?('comparisons') + 'operators' + elsif slug.in?('doc/index') || slug.include?('intro') || slug.include?('recipes') || slug.include?('internals') || slug.include?('coding_standards') || slug.include?('installation') || slug.include?('api') || slug.include?('advanced') + 'Doc' + elsif slug.include?('templates') + 'Doc\\Templates' + end + end + + end + end +end diff --git a/lib/docs/scrapers/twig.rb b/lib/docs/scrapers/twig.rb new file mode 100755 index 00000000..b1ac1a69 --- /dev/null +++ b/lib/docs/scrapers/twig.rb @@ -0,0 +1,20 @@ +module Docs + class Twig < UrlScraper + self.type = 'twig' + + options[:attribution] = <<-HTML + © 2009–2016 by SensioLabs
+ Licensed under the three clause BSD license. + HTML + + self.release = '1.24.1' + self.base_url = 'http://twig.sensiolabs.org/' + self.root_path = 'documentation' + + html_filters.push 'twig/clean_html', 'twig/entries' + + options[:container] = 'div.bd > div.content' + options[:skip_patterns] = [/\Aapi/, /\Alicense/] + options[:skip] = %w(doc/deprecated.html doc/advanced_legacy.html) + end +end diff --git a/public/icons/docs/twig/16.png b/public/icons/docs/twig/16.png new file mode 100644 index 0000000000000000000000000000000000000000..b52ef454450be554841cc1a7b2aa3db5f6fa6ce4 GIT binary patch literal 838 zcmV-M1G)T(P)cQD>f((_=R69RC?(1^(4iVIPP`}e zI}0@178C0WDE4I~F%H6`xjU0Cu+CZQ9gOx!Ns=H`4%tAXK@jh2#|}Lmf}wIAaEdWb zjB-{JB{0Ua94G!3W3!0k3__wY9#ta{>kzdpHmok8yU>MJOG7DeN8&VGU=qWUz(j@R z=0ntKo(coZ78s)-aSR)m(AWJQapE_NAhCSM1i~YBM^6;nHZTWM?*$f~VRs$uG@wk#$g6 z4ZQnu2P~1DRg}%8wrwI*KFk9F@Z#OAl_W(4c#&VPmTsfbUWA_hb?oHF>c8yt0M_)6 zA`|A&jQ+>9yBBcz?rBW*j=+Yq=**0ur!YVT3>My8!;MFW89M|y^Y^fg;}F$m1;f45 z7%FZ@2Z8&%;8OS z4pAK__KagWj?mo^pr=byz8}#{?xPWZMZR+r`6q0uae>ktSI&m0rsVYoXWVXEH@qmZMCM3IZV-C153d4bTCli4E5FD-4#q*i_$oKYu3u zGKW(v%Kxd~cE2JAJ|-U|;{2TZ8+}5+M-hfphJPy((yxTo3Z({)?0zoa04DNq)vi+U Q&;S4c07*qoM6N<$f`;yi4gdfE literal 0 HcmV?d00001 diff --git a/public/icons/docs/twig/16@2x.png b/public/icons/docs/twig/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7dacb1a23a6ca35411a13b456bb193ff1a946872 GIT binary patch literal 4220 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 SK2mA`0000