From 5335c8153512a2378dceb6b24485512c5717691b Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 19 Oct 2014 09:50:32 -0400 Subject: [PATCH] Add SVG documentation --- assets/images/icons.png | Bin 22754 -> 23013 bytes assets/images/icons@2x.png | Bin 57929 -> 58703 bytes .../templates/pages/about_tmpl.coffee | 2 +- .../templates/pages/news_tmpl.coffee | 5 +- assets/stylesheets/global/_icons.scss | 3 +- lib/docs/filters/svg/clean_html.rb | 32 ++++++++++++ lib/docs/filters/svg/entries.rb | 47 ++++++++++++++++++ lib/docs/scrapers/mdn/svg.rb | 33 ++++++++++++ public/icons/docs/svg/16.png | Bin 0 -> 331 bytes public/icons/docs/svg/16@2x.png | Bin 0 -> 726 bytes public/icons/docs/svg/SOURCE | 1 + 11 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 lib/docs/filters/svg/clean_html.rb create mode 100644 lib/docs/filters/svg/entries.rb create mode 100644 lib/docs/scrapers/mdn/svg.rb create mode 100644 public/icons/docs/svg/16.png create mode 100644 public/icons/docs/svg/16@2x.png create mode 100644 public/icons/docs/svg/SOURCE diff --git a/assets/images/icons.png b/assets/images/icons.png index 763464be4506fd6847d94def86430ffe35b424d9..6ae6b69774483c13008d472daa864b3c4a0bdbb1 100644 GIT binary patch delta 4162 zcmV-I5WVl>u>s|?0gx9Czz7Ba005JBSJua`%LKuVEMq>6 z;}T6iqcIaFF>xF-Ceay}xZx6)%(%q3#>C*3PlFoQF>0cSJBTZbL_ri$L{YIpQBi3G zWpQhfMOhn!rnmo`bMw0E*+pAwnAB8#oT`7l`|eWck8{sC@A4WfDM>J|UkT%w0iZ1n zQlZSb~+sHK*zPaeky z#7vxxJ41)CxGnqCb9hVJOBmX&YumgU6u;ibTv1X4lhp{L*#Lb}KGI^2L;Ley6x_Q7 z{SC@;GYi?s}S*Du5Od3W48dlJS<^3aL`?CRG$kq^=VFpy^wn=nosqBDmF z!}{PpK^o5qgJDTUt3`~n=!J3~3Yg!7dH_~;spD%<_3=D52D%leQUKW3z zm?f5DjsT{K0xYlF9p~LNxZqX^jhlf*_f}}?pCl01Z9vYCnPP`kF{cwOsf}6Ow)dYK z`=#0oQ@T-oNdVI<784BRdXyGsBX~d`=q_qdNwAE@V%$6(g^=EV!^5I`FqGxNY$(L; zf&I89toN${5)>T?*1Q~PACA~0CLYycLBEF#q66>EroZDfH2)(sdmD8oXYXEK#Q8@L^T-MitTJ_mo5W!Wga zdlko*%tg-CSX7qYLPb#~EDy5~IIwRrd+)CY_~j^_adbbJd{zJzTcv5D%-`&4g^=x6Q(WnD~Ge?HPi zTZWQ5u`m=+sZ)L(4=xRL4l5zLkK3ogih@8YQ7z-|v*Ij`j zJ09oP&a_lMB0UBqh&z&@n(XDFo8d9C0>1a-Z~&@6w)4grP=nEr37jCm5;gkg}+ z#H$y=LfP7ybB{oqvuVo?Bkzl$um#v1Z+oC&Jd^LYPlS!?gKFEdz3VCVi5Rw*IFM z6Z#AB(xS!<=k6clk*$l_4c7iKgL4+UH}D!pXT8sIm_TjkhY6<5tN&)4@kOHTIE%bc z9$T6B`04=YthX|BR%4}XTT-<;qwiW><(x^`#z}u8E}2#@>g521C2Zcsed=-6lOAW$ zW7=gKIBq}7an_O-8tq-;-tgzK)UJl(tR_#g@OKpz6`M*+OM~bg75{>Q0{{H{eE;0s zT-I*Vp6u-GmqayM$3b2CbR7KW?2d!G;AzBbc #=hE^83l`vMC92zuM&ktj3;SlX zi9&y11qurb<%>Nx&6=Z(|L*oqKx^?Ru#h)SJv0K8?woujJFCYPK zbI?}%b(S-L0VE`)T*H)^UifjnFU%$r*yb(%0Zrd{A3Fl~fla5o8>@aNo1`a|lFF59 ziR!*gx!0@iiSGRdNR3DhmHWEN{VTk-Du92U)C;|54#P)Z4RnOY zstTa5&Ex$2{bksRjg6J}Yu2nmL_~jttRB+S)8XUeBLUKyaG|!%B3SGYU`W&+E*y;D zj+NfIOL}33*sl6T8k9J$gG@`_H-CjUR;}5H#miP>?vmB`cF8JyHg*a+cj<}7ZQsS( z&D+6t`}XbpJ9q9ZWbaZSbtQR`Y)R%t<-VH=9N%|W?i-Mb)Bw9q?u{)6cA$T#v>1v# zkq0hZxNwnr+lGdQ;=zLlIDGgp!o$NsVTofmHg4R=-e~hcKNY;b1kOTG7~Wyw><407 z#4_^G7@BvQ=8d=aliS}YEh&cPYy$jt1|lFl61xsW!h541LiUAY_R4h_^wnH^(9;83 z{C6QgF9+w&oztH^dv>X^E!ls#4bl~R zZk${`v{bLh6>TymO!@{}qhsNJAqk_$O~aspBQav-1}rHKN0@wOY5friyNmnlMt7iex(b1h$0KZq-9?Eqv$)Esi zO3EaGWF^g2pq8oun#?A!b(_-nX#sXu!&|y^DKauL_^nh~icwt)UteE4K-%)4H6xTy z`8`iSk{vye`c8>pj(Li9Dp}Z1-h;*??IjJBCgbi=jJR>*2L6BA%LA`;?tvCvd!tqR z_tB*7pWy!5yQueSCp2r@35O0vKyxOR-=tqi!TEU=z*QtDNu+~v1!3thEY`~5kJGd;9F;ESV)_kanf&B@L zRUHEfP&eueplg2^^@Y+kiew?coJ30K`i6ZyC4;|Eh9ZEOnCZ0?{f7J#LxzvT&~Z~S zgbq1}jv9~tga1L5kw!0qI0l` z$(uI&=0qNjV0Z`&478Oi@g%*Xa=unkIF~3YQ~H04lxv)`LfWw|j7dBLHciqwX8`X! z!IKDkAjdzmlQL!gW1mF)gh^}?{i<5}93=z|l_m%X*pvPC+ntVaCXJI8vhdl0=KyXkTN}55Mr)VxqbBpeyhWTUYMg!6>%5QiknKpuB$xSQ?+ykTy}@00P%Q{D$@-X*Nr?YwU^5 zl~lJ*9T79UTO+Wz&3$sL#+=&Qq*Kq;t;Go7c_LOjjZi$S={D6ImUB%uJp(nvs*ov-_^=YBS6r+iSX~5gYI#~yA^+n z+uSF|cn;6yHKN8I$-;ZzYUP4Z1{Ko*L9?3SI>BOboBMc-=kQ#)rpD~qHl{<1=L`+% z)rRYHwGcR)fJL&dT5vahv;i zjOXxNUc+lejnx3G*}^qRq^6Ade{Uu=g>=oMT+Ly^Z(=paS^s7BZ)l5;>@)21x&QzG M07*qoM6N<$f@ZAxZU6uP delta 3901 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 LNkvXXu0mjf^#hPA diff --git a/assets/images/icons@2x.png b/assets/images/icons@2x.png index 504b8f2cf093295ad5f2c859317b714d1f8f5c53..17f5bd0e035e52096eee3583d02f1bd627f29912 100644 GIT binary patch delta 7511 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 delta 6731 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 diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 69e350b4..2479f574 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -108,7 +108,7 @@ credits = [ 'Apache', 'https://raw.githubusercontent.com/apache/cordova-docs/master/LICENSE' ], [ - 'CSS
DOM
HTML
JavaScript
XPath', + 'CSS
DOM
HTML
JavaScript
SVG
XPath', '2005-2014 Mozilla Developer Network and individual contributors', 'CC BY-SA', 'http://creativecommons.org/licenses/by-sa/2.5/' diff --git a/assets/javascripts/templates/pages/news_tmpl.coffee b/assets/javascripts/templates/pages/news_tmpl.coffee index 9d53ec8b..3368fd0f 100644 --- a/assets/javascripts/templates/pages/news_tmpl.coffee +++ b/assets/javascripts/templates/pages/news_tmpl.coffee @@ -33,7 +33,10 @@ newsItem = (date, news) -> result app.news = [ - [ 1413590400000, # October 18, 2014 + [ 1413676800000, # October 19, 2014 + """ New SVG documentation """, + ], [ + 1413590400000, # October 18, 2014 """ New nginx documentation """, ], [ 1413158400000, # October 13, 2014 diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index e4639061..4cf1a85a 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -4,7 +4,7 @@ width: 1rem; height: 1rem; background-image: image-url('icons.png'); - background-size: 5rem 11rem; + background-size: 5rem 12rem; } @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { @@ -66,3 +66,4 @@ ._icon-django:before { background-position: -2rem -10rem; } ._icon-xpath:before { background-position: -3rem -10rem; } ._icon-nginx:before { background-position: -4rem -10rem; } +._icon-svg:before { background-position: 0 -11rem; } diff --git a/lib/docs/filters/svg/clean_html.rb b/lib/docs/filters/svg/clean_html.rb new file mode 100644 index 00000000..4494e875 --- /dev/null +++ b/lib/docs/filters/svg/clean_html.rb @@ -0,0 +1,32 @@ +module Docs + class Svg + class CleanHtmlFilter < Filter + def call + root_page? ? root : other + doc + end + + def root + doc.inner_html = doc.at_css('#Documentation + dl').to_html + end + + def other + css('.prevnext').remove + + if at_css('p').content.include?("\u{00AB}") + at_css('p').remove + end + + if slug == 'Attribute' || slug == 'Element' + at_css('h2').name = 'h1' + end + + css('#SVG_Attributes + div[style]').each do |node| + node.remove_attribute('style') + node['class'] = 'index' + css('h3').each { |n| n.name = 'span' } + end + end + end + end +end diff --git a/lib/docs/filters/svg/entries.rb b/lib/docs/filters/svg/entries.rb new file mode 100644 index 00000000..64311a22 --- /dev/null +++ b/lib/docs/filters/svg/entries.rb @@ -0,0 +1,47 @@ +module Docs + class Svg + class EntriesFilter < Docs::EntriesFilter + def get_name + name = super + name.remove!('Element.').try(:downcase!) + name.remove!('Attribute.').try(:downcase!) + name.remove!('Tutorial.') + name.gsub!('_', '') + + if name.in?(%w(Element Attribute Content\ type)) + "#{name}s" + else + name + end + end + + def get_type + if slug.start_with?('Element') + 'Elements' + elsif slug.start_with?('Attribute') + 'Attributes' + elsif slug.start_with?('Tutorial') + 'Tutorial' + elsif slug == 'Content_type' + 'Content types' + else + 'Miscellaneous' + end + end + + def additional_entries + return [] unless slug == 'Content_type' + entries = [] + + css('h2[id]').each do |node| + dl = node.next_element + next unless dl.name == 'dl' + name = dl.at_css('dt').content.remove(/[<>]/) + entries << [name, node['id']] + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/mdn/svg.rb b/lib/docs/scrapers/mdn/svg.rb new file mode 100644 index 00000000..41209418 --- /dev/null +++ b/lib/docs/scrapers/mdn/svg.rb @@ -0,0 +1,33 @@ +module Docs + class Svg < Mdn + self.name = 'SVG' + self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/SVG' + + html_filters.push 'svg/clean_html', 'svg/entries', 'title' + + options[:root_title] = 'SVG' + + options[:title] = ->(filter) do + if filter.slug.starts_with?('Element/') + "<#{filter.default_title}>" + elsif filter.slug != 'Attribute' && filter.slug != 'Element' + filter.default_title + else + false + end + end + + options[:skip] = %w( + /Compatibility_sources + /FAQ + /SVG_animation_with_SMIL + /SVG_as_an_Image) + + options[:fix_urls] = ->(url) do + url.sub! 'https://developer.mozilla.org/en-US/Web/SVG', Svg.base_url + url.sub! 'https://developer.mozilla.org/en-US/docs/SVG', Svg.base_url + url.sub! 'https://developer.mozilla.org/en/SVG', Svg.base_url + url + end + end +end diff --git a/public/icons/docs/svg/16.png b/public/icons/docs/svg/16.png new file mode 100644 index 0000000000000000000000000000000000000000..ce95b5f936c8ec3fc953bbb26724610db03128c7 GIT binary patch literal 331 zcmV-R0kr;!P)BDT{aOK3lf6_jm3sF!~?)NIDt2iP;d%jVQB}^!bGWPHWnPfKm*2-LujFo z|C>;3MM7qhmwo&H-RLWtDQ!lo#zk$Pt`VM^>%qX1$xl#;PJ-`^0b1PXZPbvx z>vP;fcxtW(14|}9L1=pJv?9F%W~rw4=UN+#@YLwRz>>+Ic9u57pVLZFaTsVau)w@6 zy(b7y&Glel$&h7&VZT???<{fqT|Hd7RsRX@g{MXj29^w2?+LuO;B|=ppV9wE^8c0n dFO&Cm-T@@hD-fyPdrklV002ovPDHLkV1n2dl^Os5 literal 0 HcmV?d00001 diff --git a/public/icons/docs/svg/16@2x.png b/public/icons/docs/svg/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5065659a155f0bfd2d7ded6c9a53537ab3371411 GIT binary patch literal 726 zcmV;{0xA88P);b>I~P%(z*QG6tbgZ6hLa=QgevO5j|}tipEKu%llwy(GENw`z#m0=shGK|$ z?w?x0cw(qHlGpi}q5z+m=cxHBw#ztboG}_6J85Xo&TV?LP?KIw3-F1N^BSz-y=b8I zTXwxkrL$$Gj4%fG9I2l3&ei*tk zTasRe1K<;jYv`dD4UeOV_FyX-9Ya^ojq2;8No_uz((BtbjqgiD9QKbU`n*(^R+@lM zEaa)Bhh8+$@?6Jf^tEG#YUP499!^Tnn%xc84r%dn8G*p+jdAID6Y%34we--723lx( zo*Dh^tf3=zb+XeV0BrfmwoEHQL@#cJ1K@`^HPq7M{b-@-HO%O54ddI$a9(fi3bi)f z6IyL*{a&h+O|lO_jv8vi!O=hqO|*T+KwC0Y-J57}zM>A>xFEyUTd95Hg4)-r;Q;u= z$cdOAm|ir{LesVTTHZKqw2be)D`l&LL73n7cP8}VZpwy$Pb{vXC;nuBX3J;fv!2(s zp)4lKzi!9S_&v~0FH3d)T!EGARj%4M&x9N`)W*GNp&6cSW--%e=N1gj z%@iq!x8XWt25rCPK4vhBnauvV0e8TFN5Q}+!hz3*178r)zbGD@l@a}`V!Z literal 0 HcmV?d00001 diff --git a/public/icons/docs/svg/SOURCE b/public/icons/docs/svg/SOURCE new file mode 100644 index 00000000..f7af68fd --- /dev/null +++ b/public/icons/docs/svg/SOURCE @@ -0,0 +1 @@ +http://www.w3.org/2009/08/svg-logos.html