From 02166e0843fc447879eb1bcbde97f7fb867f911c Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 12 Jul 2015 22:53:47 -0400 Subject: [PATCH] Add new sponsors --- README.md | 3 +- assets/images/code-school-bw.png | Bin 0 -> 1244 bytes assets/images/code-school-bw@2x.png | Bin 0 -> 3284 bytes assets/images/code-school.png | Bin 0 -> 2583 bytes assets/images/code-school@2x.png | Bin 0 -> 5644 bytes assets/images/jetbrains-bw.png | Bin 0 -> 1395 bytes assets/images/jetbrains-bw@2x.png | Bin 0 -> 3307 bytes assets/images/jetbrains.png | Bin 0 -> 2377 bytes assets/images/jetbrains@2x.png | Bin 0 -> 5165 bytes assets/images/maxcdn-bw.png | Bin 1942 -> 0 bytes assets/images/maxcdn-bw@2x.png | Bin 3869 -> 0 bytes assets/images/maxcdn.png | Bin 3374 -> 0 bytes assets/images/maxcdn@2x.png | Bin 7577 -> 0 bytes assets/javascripts/news.json | 3 + .../javascripts/templates/notif_tmpl.coffee | 7 +- .../templates/pages/about_tmpl.coffee | 3 +- .../templates/pages/root_tmpl.coffee.erb | 59 +++++++++--- assets/stylesheets/components/_content.scss | 89 ++++++++++++------ assets/stylesheets/components/_mobile.scss | 20 +++- assets/stylesheets/components/_notif.scss | 3 +- assets/stylesheets/global/_variables.scss | 2 +- assets/stylesheets/global/variables-dark.scss | 6 +- lib/app.rb | 36 +++---- test/app_test.rb | 2 +- views/manifest.erb | 12 ++- 25 files changed, 166 insertions(+), 79 deletions(-) create mode 100644 assets/images/code-school-bw.png create mode 100644 assets/images/code-school-bw@2x.png create mode 100644 assets/images/code-school.png create mode 100644 assets/images/code-school@2x.png create mode 100644 assets/images/jetbrains-bw.png create mode 100644 assets/images/jetbrains-bw@2x.png create mode 100644 assets/images/jetbrains.png create mode 100644 assets/images/jetbrains@2x.png delete mode 100644 assets/images/maxcdn-bw.png delete mode 100644 assets/images/maxcdn-bw@2x.png delete mode 100644 assets/images/maxcdn.png delete mode 100644 assets/images/maxcdn@2x.png diff --git a/README.md b/README.md index 133dd8ff..6e3610aa 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,7 @@ DevDocs combines multiple API documentations in a fast, organized, and searchable interface. * Created by [Thibaut Courouble](http://thibaut.me) -* Made at [Shopify](http://devdocs.io/s/shopify) -* Powered by [MaxCDN](http://devdocs.io/s/maxcdn) +* Supported by [JetBrains](http://devdocs.io/s/jetbrains), [Code School](http://devdocs.io/s/code-school) and [Shopify](http://devdocs.io/s/shopify) Keep track of development and community news: diff --git a/assets/images/code-school-bw.png b/assets/images/code-school-bw.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9179aca58658876d0e41881bf37ac7ef60063a GIT binary patch literal 1244 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 literal 0 HcmV?d00001 diff --git a/assets/images/code-school@2x.png b/assets/images/code-school@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..125894e88de6f02d9d6644cf28a79258841464c3 GIT binary patch literal 5644 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%0A+$dEJv1>8?- zasx~=P?8D@!rz$Rn`-^L-W&JD11tneb>A&v?|%gCk*=Qd$kuE14w+K#VRfi)v%l6KnjX;kdVodK3aq!>8o@U2?)X@AL1Xg> zU96Jb5bZkh=)TLIFK|5jnRq4dP&IfLIYHa#*9t9UlvxQoSG;@(tNQ0!$sCi~~(%-_`?TsX5g7j-)i zaKG$FWqDCKF_Vn^RQ@Iak@x-Jh+XGunGbP4llV-MeuzC{bvXZ|e!?`yZ@|vD?$Nk2 z8Z<30pUdR*dA?lp_|Y?XAWK;)04>>eS1;hWq(6|u>?mr z1dBz0KHVeF;w08yYGnlg|MuH*e2DNwS~Hq{3^Io@n)(8hR3*{}(*wtGJKWAY{d67H#>&3-Dm zz&-7{?OE62SM%Y*hA@}W%tpu@$>eJ8V2YJ~$}vWmOc;mYVWyl51`w{PaL$!z!}ZiB z!;U&lKUZnPj?CrSCCohG*E1Rpr?#ixUfUDi!beV+BIS6&OT~b9)>OZEcE$xlO{IUF zxgh@>_+0BnW}@20@M4{&n=#B(HR;UZFWtrr@ITuK^{AY4??wOs002ovPDHLkV1n`{ BwGIFP literal 0 HcmV?d00001 diff --git a/assets/images/jetbrains-bw@2x.png b/assets/images/jetbrains-bw@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d8c217d86b99c09a2fc36cb413a54448898a7b GIT binary patch literal 3307 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 literal 0 HcmV?d00001 diff --git a/assets/images/jetbrains.png b/assets/images/jetbrains.png new file mode 100644 index 0000000000000000000000000000000000000000..2412249897df777d795053e0fa54aa3456e04b82 GIT binary patch literal 2377 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 bBuoAu;TN(|5P%z*00000NkvXXu0mjf^4!^8 literal 0 HcmV?d00001 diff --git a/assets/images/maxcdn-bw.png b/assets/images/maxcdn-bw.png deleted file mode 100644 index 4b1a99249f40ff51a5eb7980f4b07a74b109ece1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1942 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 diff --git a/assets/images/maxcdn.png b/assets/images/maxcdn.png deleted file mode 100644 index 43a9a307693f1d6007d29fb713cc698e1f4ab3e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3374 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 and Code School\nIf you like DevDocs, please take a moment to check out their products — they're awesome!" + ], [ "2015-07-05", "New documentations: Drupal, Vue.js, Phaser and webpack" ], [ diff --git a/assets/javascripts/templates/notif_tmpl.coffee b/assets/javascripts/templates/notif_tmpl.coffee index d2ce3836..7764b889 100644 --- a/assets/javascripts/templates/notif_tmpl.coffee +++ b/assets/javascripts/templates/notif_tmpl.coffee @@ -34,10 +34,11 @@ app.templates.notifShare = -> app.templates.notifThanks = -> textNotif """ Hi there! """, - """

Quick shout-out to our awesome sponsors: + """

Like DevDocs? Check out these awesome companies who are making it possible:

    -
  • MaxCDN has been supporting DevDocs since day one. They provide CDN solutions that make DevDocs and countless other sites faster.
  • -
  • Shopify is where I spend my weekdays. Interested in working on one of the biggest commerce platforms in the world, in a delightful work environment? We're hiring! +
  • JetBrains — We make software development a more productive and enjoyable experience through smart IDEs and code editors. +
  • Code School — Learn new skills from the comfort of your own browser. Offering more than 45 courses covering JavaScript, HTML/CSS, Ruby, Git, and iOS for only $29/month. +
  • Shopify — Interested in working on one of the biggest commerce platforms in the world, in a delightful work environment? We're hiring!

Have a great day :) """ diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 3d60e309..f54ecf1c 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -13,8 +13,7 @@ app.templates.aboutPage = -> """

DevDocs combines multiple API documentations in a fast, organized, and searchable interface.

diff --git a/assets/javascripts/templates/pages/root_tmpl.coffee.erb b/assets/javascripts/templates/pages/root_tmpl.coffee.erb index 5735be99..086bc840 100644 --- a/assets/javascripts/templates/pages/root_tmpl.coffee.erb +++ b/assets/javascripts/templates/pages/root_tmpl.coffee.erb @@ -1,7 +1,37 @@ -maxcdnLink = (className) -> """ - - - MaxCDN has been supporting DevDocs since day one. They provide CDN solutions that make DevDocs and countless other sites faster. +jetBrainsLink = (className) -> + type = jetBrainsType() + path = "/#{type}" if type + + """ + + + #{JETBRAINS_INFO[type || 'default']} + + """ + +JETBRAINS_INFO = + ruby: 'Developing in Ruby? Boost your productivity with RubyMine, a powerful IDE with smart coding assistance and advanced testing and debugging features.' + python: 'Developing in Python? Enjoy productive development with PyCharm, an intelligent Python IDE offering unique coding experience.' + c: 'Developing in C? Now benefit from CLion, a C/C++ IDE enhancing your productivity with on-thy-fly static analysis and automated refactorings.' + web: 'Doing client-side development? Try WebStorm, an IDE that really understands JavaScript and modern frameworks like AngularJS and boosts your productivity.' + default: 'JetBrains makes software development a more productive and enjoyable experience through smart IDEs and code editors.' + +jetBrainsType = -> + docs = if app.settings then app.settings.getDocs() else [] + + if docs.indexOf('ruby') != -1 + 'ruby' + else if docs.indexOf('python') != -1 || docs.indexOf('python2') != -1 + 'python' + else if docs.indexOf('c') != -1 or docs.indexOf('cpp') != -1 + 'c' + else if docs.indexOf('javascript') != -1 or docs.indexOf('jquery') != -1 + 'web' + +codeSchoolLink = (className) -> """ + + + With more than 45 courses covering JavaScript, HTML/CSS, Ruby, Git, and iOS, Code School pairs experienced instructors with engaging content. Start learning at codeschool.com. """ @@ -12,10 +42,13 @@ shopifyLink = (className) -> """ """ -app.templates.splash = """ +app.templates.splash = -> """
DevDocs
- #{maxcdnLink '_splash-sponsor'} - #{shopifyLink '_splash-sponsor'} +
+ #{jetBrainsLink '_splash-sponsor'} + #{codeSchoolLink '_splash-sponsor'} + #{shopifyLink '_splash-sponsor'} +
""" <% if App.development? %> @@ -39,8 +72,8 @@ app.templates.intro = """
  • If you like the app, please consider supporting the project on Gratipay. Thanks!

    - Thanks to#{shopifyLink '_intro-sponsor'} #{maxcdnLink '_intro-sponsor'} -

    That's all. Happy coding! + #{jetBrainsLink '_intro-sponsor'} #{codeSchoolLink '_intro-sponsor'} #{shopifyLink '_intro-sponsor'} +

    Happy coding! """ <% else %> @@ -63,8 +96,8 @@ app.templates.intro = """

  • If you like the app, please consider supporting the project on Gratipay. Thanks!

    - Thanks to#{shopifyLink '_intro-sponsor'} #{maxcdnLink '_intro-sponsor'} -

    That's all. Happy coding! + #{jetBrainsLink '_intro-sponsor'} #{codeSchoolLink '_intro-sponsor'} #{shopifyLink '_intro-sponsor'} +

    Happy coding! """ <% end %> @@ -90,8 +123,8 @@ app.templates.mobileIntro = """

  • For the latest news, subscribe to the newsletter or follow @DevDocs
  • DevDocs is open source -

    That's all. Happy coding! -

    #{shopifyLink '_intro-sponsor'} #{maxcdnLink '_intro-sponsor'}

    +

    Happy coding! +

    #{jetBrainsLink '_intro-sponsor'} #{codeSchoolLink '_intro-sponsor'} #{shopifyLink '_intro-sponsor'}

    Stop showing this message """ diff --git a/assets/stylesheets/components/_content.scss b/assets/stylesheets/components/_content.scss index fc3e54d1..fc9159a7 100644 --- a/assets/stylesheets/components/_content.scss +++ b/assets/stylesheets/components/_content.scss @@ -68,26 +68,32 @@ color: $splashText; cursor: default; opacity: 1; + margin-top: -1.25em; @extend ._booting:before, %user-select-none; } -._splash-sponsor { +._splash-sponsors { position: absolute; - display: block; - bottom: 1.25rem; - right: 1rem; + top: 50%; + left: 0; + right: 0; + margin-top: 1.25rem; + text-align: center; + line-height: 2rem; +} - ._logo-thx { opacity: .25; } - &:hover ._logo-thx { opacity: .5; } +._splash-sponsor { + position: relative; + display: inline-block; + vertical-align: top; + margin: .5rem 1.5rem; - & + & { - left: 1rem; - right: auto; + ._logo-thx { opacity: .3; } + &:hover ._logo-thx { opacity: .6; } - ._logo-info { - right: auto; - left: 0; - } + ._logo-info { + right: 50%; + margin-right: -9rem; } } @@ -409,24 +415,25 @@ margin-bottom: .75rem; padding: .5rem .75rem; line-height: 1.375rem; + text-align: left; pointer-events: none; @extend %notif; :hover > & { opacity: 1; } } -._maxcdn-logo { - width: 6.25rem; - background-image: image-url('maxcdn.png'); - background-size: 6.25rem 1rem; +._shopify-logo { + width: 5.5rem; + background-image: image-url('shopify.png'); + background-size: 5.5rem 1.5rem; @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - background-image: image-url('maxcdn@2x.png'); + background-image: image-url('shopify@2x.png'); } } -._splash-sponsor > ._maxcdn-logo { - background-image: image-url('maxcdn-bw.png'); +._splash-sponsor > ._shopify-logo { + background-image: image-url('shopify-bw.png'); @if $style == 'dark' { filter: invert(100%); @@ -434,22 +441,23 @@ } @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - background-image: image-url('maxcdn-bw@2x.png'); + background-image: image-url('shopify-bw@2x.png'); } } -._shopify-logo { - width: 5.5rem; - background-image: image-url('shopify.png'); - background-size: 5.5rem 1.5rem; +._jetbrains-logo { + top: 1px; + width: 5rem; + background-image: image-url('jetbrains.png'); + background-size: 5rem 1.5rem; @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - background-image: image-url('shopify@2x.png'); + background-image: image-url('jetbrains@2x.png'); } } -._splash-sponsor > ._shopify-logo { - background-image: image-url('shopify-bw.png'); +._splash-sponsor > ._jetbrains-logo { + background-image: image-url('jetbrains-bw.png'); @if $style == 'dark' { filter: invert(100%); @@ -457,6 +465,29 @@ } @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - background-image: image-url('shopify-bw@2x.png'); + background-image: image-url('jetbrains-bw@2x.png'); + } +} + +._code-school-logo { + width: 7rem; + background-image: image-url('code-school.png'); + background-size: 7rem 1.25rem; + + @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + background-image: image-url('code-school@2x.png'); + } +} + +._splash-sponsor > ._code-school-logo { + background-image: image-url('code-school-bw.png'); + + @if $style == 'dark' { + filter: invert(100%); + -webkit-filter: invert(100%); + } + + @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + background-image: image-url('code-school-bw@2x.png'); } } diff --git a/assets/stylesheets/components/_mobile.scss b/assets/stylesheets/components/_mobile.scss index 25af1a2b..0724d396 100644 --- a/assets/stylesheets/components/_mobile.scss +++ b/assets/stylesheets/components/_mobile.scss @@ -90,6 +90,22 @@ box-shadow: 0 1px $noteGreenBorder, 0 -1px $noteGreenBorder; } + // Splash + + ._splash-sponsors { margin-top: 1rem; } + + ._splash-sponsor { + position: static; + + ._logo-info { + left: 1rem; + right: 1rem; + width: auto; + max-width: none; + margin: 0; + } + } + // Notice ._notice { @@ -189,9 +205,9 @@ position: static; float: none; display: block; - margin-top: 1.25rem; + margin-top: .75rem; text-align: center; } - ._intro-sponsor { margin: 0 1em; } + ._intro-sponsor { margin: .5em .75em; } } diff --git a/assets/stylesheets/components/_notif.scss b/assets/stylesheets/components/_notif.scss index 06fee0c7..2bfa10ed 100644 --- a/assets/stylesheets/components/_notif.scss +++ b/assets/stylesheets/components/_notif.scss @@ -55,7 +55,7 @@ overflow-y: auto; > ._notif-title { - margin: -.125rem 0 1em; + margin-bottom: .5rem; text-align: center; } @@ -63,6 +63,7 @@ line-height: 1.125rem; font-size: .6875rem; color: $notifColorLight; + margin-bottom: .25rem; + ._news-row { margin-top: .75rem; } } diff --git a/assets/stylesheets/global/_variables.scss b/assets/stylesheets/global/_variables.scss index 918a1745..a1dd1df7 100644 --- a/assets/stylesheets/global/_variables.scss +++ b/assets/stylesheets/global/_variables.scss @@ -20,7 +20,7 @@ $focusBorder: #d4d4d4; $focusText: #000; $loadingText: #e6e6e6; -$splashText: #d7d7d7; +$splashText: #bbb; $promoText: #bbb; $selectionBackground: #398df0; diff --git a/assets/stylesheets/global/variables-dark.scss b/assets/stylesheets/global/variables-dark.scss index d2d94256..54f747ac 100644 --- a/assets/stylesheets/global/variables-dark.scss +++ b/assets/stylesheets/global/variables-dark.scss @@ -19,9 +19,9 @@ $focusBackground: #3d3d3e; $focusBorder: #3d3d3e; $focusText: #f7f2f2; -$loadingText: #616161; -$splashText: #616161; -$promoText: #616161; +$loadingText: #666; +$splashText: #666; +$promoText: #666; $selectionBackground: #346fce; $selectionBorder: #346fce; diff --git a/lib/app.rb b/lib/app.rb index 659d95fa..bdb101fc 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -184,12 +184,24 @@ class App < Sinatra::Application CODE end - get '/s/maxcdn' do - redirect 'https://www.maxcdn.com/?utm_source=devdocs&utm_medium=banner&utm_campaign=devdocs' - end - - get '/s/shopify' do - redirect 'https://www.shopify.com/careers?utm_source=devdocs&utm_medium=banner&utm_campaign=devdocs' + { + '/s/maxcdn' => 'https://www.maxcdn.com/?utm_source=devdocs&utm_medium=banner&utm_campaign=devdocs', + '/s/shopify' => 'https://www.shopify.com/careers?utm_source=devdocs&utm_medium=banner&utm_campaign=devdocs', + '/s/jetbrains' => 'https://www.jetbrains.com/?utm_source=devdocs&utm_medium=sponsorship&utm_campaign=devdocs', + '/s/jetbrains/ruby' => 'https://www.jetbrains.com/ruby/?utm_source=devdocs&utm_medium=sponsorship&utm_campaign=devdocs', + '/s/jetbrains/python' => 'https://www.jetbrains.com/pycharm/?utm_source=devdocs&utm_medium=sponsorship&utm_campaign=devdocs', + '/s/jetbrains/c' => 'https://www.jetbrains.com/clion/?utm_source=devdocs&utm_medium=sponsorship&utm_campaign=devdocs', + '/s/jetbrains/web' => 'https://www.jetbrains.com/webstorm/?utm_source=devdocs&utm_medium=sponsorship&utm_campaign=devdocs', + '/s/code-school' => 'http://www.codeschool.com/?utm_campaign=devdocs&utm_content=homepage&utm_source=devdocs&utm_medium=sponsorship', + '/s/tw' => 'https://twitter.com/intent/tweet?url=http%3A%2F%2Fdevdocs.io&via=DevDocs&text=All-in-one%2C%20offline%20API%20documentation%20browser%3A', + '/s/fb' => 'https://twitter.com/intent/tweet?url=http%3A%2F%2Fdevdocs.io&via=DevDocs&text=All-in-one%2C%20offline%20API%20documentation%20browser%3A', + '/s/re' => 'http://www.reddit.com/submit?url=http%3A%2F%2Fdevdocs.io&title=All-in-one%2C%20offline%20API%20documentation%20browser&resubmit=true' + }.each do |path, url| + class_eval <<-CODE, __FILE__, __LINE__ + 1 + get '#{path}' do + redirect '#{url}' + end + CODE end get %r{\A/feed(?:\.atom)?\z} do @@ -197,18 +209,6 @@ class App < Sinatra::Application settings.news_feed end - get '/s/tw' do - redirect 'https://twitter.com/intent/tweet?url=http%3A%2F%2Fdevdocs.io&via=DevDocs&text=All-in-one%2C%20offline%20API%20documentation%20browser%3A' - end - - get '/s/fb' do - redirect 'https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fdevdocs.io' - end - - get '/s/re' do - redirect 'http://www.reddit.com/submit?url=http%3A%2F%2Fdevdocs.io&title=All-in-one%2C%20offline%20API%20documentation%20browser&resubmit=true' - end - get %r{\A/(\w+)(\-[\w\-]+)?(/.*)?\z} do |doc, type, rest| return 404 unless @doc = settings.docs[doc] diff --git a/test/app_test.rb b/test/app_test.rb index ab1d6990..f0f2cb5d 100644 --- a/test/app_test.rb +++ b/test/app_test.rb @@ -225,7 +225,7 @@ class AppTest < MiniTest::Spec describe "/s/[link]" do it "redirects" do - %w(maxcdn shopify tw fb re).each do |link| + %w(maxcdn shopify code-school jetbrains tw fb re).each do |link| get "/s/#{link}" assert last_response.redirect? end diff --git a/views/manifest.erb b/views/manifest.erb index ff3d0ba0..9f613cd1 100644 --- a/views/manifest.erb +++ b/views/manifest.erb @@ -8,10 +8,14 @@ CACHE: <%= stylesheet_path 'application-dark' %> <%= image_path 'icons.png' %> <%= image_path 'icons@2x.png' %> -<%= image_path 'maxcdn.png' %> -<%= image_path 'maxcdn@2x.png' %> -<%= image_path 'maxcdn-bw.png' %> -<%= image_path 'maxcdn-bw@2x.png' %> +<%= image_path 'jetbrains.png' %> +<%= image_path 'jetbrains@2x.png' %> +<%= image_path 'jetbrains-bw.png' %> +<%= image_path 'jetbrains-bw@2x.png' %> +<%= image_path 'code-school.png' %> +<%= image_path 'code-school@2x.png' %> +<%= image_path 'code-school-bw.png' %> +<%= image_path 'code-school-bw@2x.png' %> <%= image_path 'shopify.png' %> <%= image_path 'shopify@2x.png' %> <%= image_path 'shopify-bw.png' %>