From 5de8c37258348821bc70337fa52dba6af6bd4711 Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 22 Nov 2015 16:57:15 -0500 Subject: [PATCH] Add Phoenix documentation --- assets/images/icons.png | Bin 36273 -> 36633 bytes assets/images/icons@2x.png | Bin 95885 -> 96879 bytes assets/javascripts/news.json | 2 +- .../templates/pages/about_tmpl.coffee | 5 ++ assets/stylesheets/global/_icons.scss | 1 + lib/docs/filters/elixir/entries.rb | 13 ++++- lib/docs/scrapers/phoenix.rb | 46 ++++++++++++++++++ public/icons/docs/phoenix/16.png | Bin 0 -> 426 bytes public/icons/docs/phoenix/16@2x.png | Bin 0 -> 956 bytes public/icons/docs/phoenix/SOURCE | 1 + 10 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 lib/docs/scrapers/phoenix.rb create mode 100644 public/icons/docs/phoenix/16.png create mode 100644 public/icons/docs/phoenix/16@2x.png create mode 100644 public/icons/docs/phoenix/SOURCE diff --git a/assets/images/icons.png b/assets/images/icons.png index f26641e6fa67b02fd941f0da1b3fdc472b212895..1c2d953960aeb47fc5b035efd50e6afc414af68d 100644 GIT binary patch delta 6862 zcmV;<8ZqUun*y1h0+1sDj^ME+Yjl6FW{;n*+w+s`5puoWn|Ypj-t(R_ zheiE4b7tPN=XHc+s8c;Fx4DnUgn{lOA7)7*q*Dllf z4W%4zHR_IJYBokLlptW11hGpcSQ*T1Ekp%r;Y6-x14=aN@IV{u!u1FUz4jj6Yovgt zQ325zdAt1rC2$$yfgM?gGAw@zXc`p|o#A!|=0geGn+lkfK7T^gd-Jm{Hbfq}hHeWF zFlcS7)0%ri8t}H#n$KNW?sgYL_J8|0>>is<9asHg}Mkn zV2Y4~CZM140qxZJg*;z_Y@MVb&{Kkl08Qj
  • a(P29Vrft_($h*+S702<4RlTb+3 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 IM6N<$g4Jnn+yDRo delta 6499 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 delta 10201 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 T$reFT00000NkvXXu0mjfLD_M? diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index 72ebbb9f..f6a2a6ab 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ "2015-11-22", - "New documentations: Dojo, Relay and Flow" + "New documentations: Phoenix, Dojo, Relay and Flow" ], [ "2015-11-08", "New documentations: Elixir and Vagrant" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 72a6163f..362f9e66 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -299,6 +299,11 @@ credits = [ '2015 Richard Davey, Photon Storm Ltd.', 'MIT', 'https://raw.githubusercontent.com/photonstorm/phaser/master/license.txt' + ], [ + 'Phoenix', + '2014 Chris McCord', + 'MIT', + 'https://raw.githubusercontent.com/phoenixframework/phoenix/master/LICENSE.md' ], [ 'PHP', '1997-2015 The PHP Documentation Group', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 274f8129..360bc0cf 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -121,3 +121,4 @@ ._icon-dojo:before { background-position: -6rem -9rem; } ._icon-flow:before { background-position: -7rem -9rem; } ._icon-relay:before { background-position: -8rem -9rem; } +._icon-phoenix:before { background-position: -9rem -9rem; } diff --git a/lib/docs/filters/elixir/entries.rb b/lib/docs/filters/elixir/entries.rb index aac7481e..70f81940 100644 --- a/lib/docs/filters/elixir/entries.rb +++ b/lib/docs/filters/elixir/entries.rb @@ -12,7 +12,11 @@ module Docs when 'protocol' 'Protocols' else - name.split('.').first + if name.start_with?('Phoenix') + name.split('.')[0..2].join('.') + else + name.split('.').first + end end end @@ -29,12 +33,17 @@ module Docs unless node.parent['class'].end_with?('macro') || self.name.start_with?('Kernel') name.prepend "#{self.name}." - name << " (#{id.split('/').last})" end + name << " (#{id.split('/').last})" if id =~ /\/\d+\z/ + [name, id] end end + + def include_default_entry? + !slug.end_with?('extra-api-reference') + end end end end diff --git a/lib/docs/scrapers/phoenix.rb b/lib/docs/scrapers/phoenix.rb new file mode 100644 index 00000000..1ae76b45 --- /dev/null +++ b/lib/docs/scrapers/phoenix.rb @@ -0,0 +1,46 @@ +module Docs + class Phoenix < Elixir + self.type = 'elixir' + self.version = '1.0.3' + self.base_url = 'http://hexdocs.pm/' + self.root_path = 'phoenix/Phoenix.html' + self.initial_paths = %w( + phoenix/extra-api-reference.html + ecto/extra-api-reference.html + phoenix_html/extra-api-reference.html + plug/extra-api-reference.html) + self.links = { + home: 'http://www.phoenixframework.org', + code: 'https://github.com/phoenixframework/phoenix' + } + + options[:root_title] = false + + options[:skip_patterns] = [/extra-api-reference/] + options[:only_patterns] = [ + /\Aphoenix\//, + /\Aecto\//, + /\Aphoenix_html\//, + /\Aplug\// + ] + + options[:attribution] = -> (filter) { + if filter.slug.start_with?('ecto') + <<-HTML + © 2012 Plataformatec
    + Licensed under the Apache License, Version 2.0. + HTML + elsif filter.slug.start_with?('plug') + <<-HTML + © 2013 Plataformatec
    + Licensed under the Apache License, Version 2.0. + HTML + else + <<-HTML + © 2014 Chris McCord
    + Licensed under the MIT License. + HTML + end + } + end +end diff --git a/public/icons/docs/phoenix/16.png b/public/icons/docs/phoenix/16.png new file mode 100644 index 0000000000000000000000000000000000000000..25ff250f486648241e4fedbebd1d18b1c07107d8 GIT binary patch literal 426 zcmV;b0agBqP)U8kZK@*WlXV4i(+&Kj?5cY0o*0=X`JWaCiMIg9myNcPJX!))$cWZCIw5NW1dwA;T1ZwQ?x|s>KsKmaHAq z>4PZMjyWVI%x8l7x|H>h%exb6rEf*WYV4|u%cp)FLJ4W(M-Z+Y+|#vTkMUQc38XB< USC=Rdg#Z8m07*qoM6N<$f|otPQ~&?~ literal 0 HcmV?d00001 diff --git a/public/icons/docs/phoenix/16@2x.png b/public/icons/docs/phoenix/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..474ed1d2007fd517afba833694029361941a01a0 GIT binary patch literal 956 zcmV;t14I0YP)<9f4k1u-WvXQ7Md!$Dc=P{Y0zA@HuqwQv9nzYbH`6W4|2e6n^3_%} zUB>j8fQ|0TS>^wlVB0*RCv&Dax8bGnj*HJe$w(xIPV%hEF_WM_oeo0JbTrcTLu*7| zq;`q*OE~cBcB{-daRh92(`;}G#&D&qK2I!JXVmVwQCmr&CYtO&JE%p32x@3;q-$R| z#Q$tXvyOW~)~YLjz}Ub`S(6(2*ju%SXL_@LgI+@I+}n)kY0Up7^G#d@u2yu_@2Hz` zBH*K-iUY?4{+o+})#BRX8>CF10`woR>1grZYjtj6)q_o|9!CVOjZIKbc(EnYNS?uo z<3!-E`eF+pto=s>c7r>?(wl?VI$n5AczG>Ae^1-nSDpI%Zp+U!s&oIYg-eZFOP*Po z5?*~hEU;(wc&vlV;qhM?Q~y}gO2h5hurf9FO+6%yQFVnxtK$%rD?N((-$*T686Wc| zIL8ldyAKABqumzA_jmC2W009=#C_0`por81h|)k@FC?rs_O+nuIM^oJX^Hv9nSdOg zS@oL`fX6?4!plrM%-qt5P=fJqy`}9$I|RsCI;vp010J6pGi@N^mSHSo^()r?4AT4m ztCv`QoJkZqTmwLVVsk0|KI~k(5HYohY6=km-4+`<<6lE3gY@}-@e(b$m6V}o;D~4j z-XrXJw}|MD!OMQj0Y*H9gP2ow)_yfvFca}`~xvTDlUO{8#-27#&xw(+*opPZ^FIABVSu+E+-;n zX!E?$vS7LYD$_Wo-JDj3BQ2|xmCBUu5v!|pWK4cLM7AYmiC#1qrzn8wrcE3Eox)pq z`IBeWPo(&7t}Zk<8Xay@{Rr!W(t?s#FWrGqwngC+Z4J67LGE+tM~4$hqi`vJACrj6 zvAQ@m>M;2|NSF?CHaN=hGN_SGHW47HkxcqthX;1yU%JKTM}@zQXqYY|Q9`ghG-9wU e_XwM8lkGoORb^(bIa2%p0000