Unified · Split
Binary file not shown.
Binary file not shown.
| @@ -39,7 +39,7 @@ app.templates.aboutPage = -> """ · 38 unmodified lines | |||
| 39 | <ul> | 39 | <ul> |
| 40 | <li><a href="https://www.heroku.com">Heroku</a> and <a href="http://newrelic.com">New Relic</a> for providing awesome free service | 40 | <li><a href="https://www.heroku.com">Heroku</a> and <a href="http://newrelic.com">New Relic</a> for providing awesome free service |
| 41 | <li>Daniel Bruce for the <a href="http://www.entypo.com">Entypo</a> pictograms | 41 | <li>Daniel Bruce for the <a href="http://www.entypo.com">Entypo</a> pictograms |
| 42 | <li><a href="http://www.jeremykratz.com/">Jeremy Kratz</a> for the C logo | 42 | <li><a href="http://www.jeremykratz.com/">Jeremy Kratz</a> for the C/C++ logo |
| 43 | </ul> | 43 | </ul> |
| 44 | 44 | ||
| 45 | <h2 class="_lined-heading" id="faq">Questions & Answsers</h2> | 45 | <h2 class="_lined-heading" id="faq">Questions & Answsers</h2> |
| @@ -86,7 +86,7 @@ credits = [ · 40 unmodified lines | |||
| 86 | 'MIT', | 86 | 'MIT', |
| 87 | 'https://raw.github.com/jashkenas/backbone/master/LICENSE' | 87 | 'https://raw.github.com/jashkenas/backbone/master/LICENSE' |
| 88 | ], [ | 88 | ], [ |
| 89 | 'C', | 89 | 'C<br>C++', |
| 90 | 'cppreference.com', | 90 | 'cppreference.com', |
| 91 | 'CC BY-SA', | 91 | 'CC BY-SA', |
| 92 | 'http://en.cppreference.com/w/Cppreference:Copyright/CC-BY-SA' | 92 | 'http://en.cppreference.com/w/Cppreference:Copyright/CC-BY-SA' |
| @@ -24,7 +24,10 @@ newsItem = (date, news) -> · 23 unmodified lines | |||
| 24 | result | 24 | result |
| 25 | 25 | ||
| 26 | app.news = [ | 26 | app.news = [ |
| 27 | [ 1394928000000, # March 16, 2013 | 27 | [ 1396137600000, # March 30, 2014 |
| 28 | """ New <a href="/cpp/">C++</a> documentation """, | ||
| 29 | ], [ | ||
| 30 | 1394928000000, # March 16, 2014 | ||
| 28 | """ New <a href="/yii/">Yii</a> documentation """, | 31 | """ New <a href="/yii/">Yii</a> documentation """, |
| 29 | ], [ | 32 | ], [ |
| 30 | 1394236800000, # March 8, 2014 | 33 | 1394236800000, # March 8, 2014 |
| @@ -3,4 +3,5 @@ · 2 unmodified lines | |||
| 3 | class app.views.CPage extends app.views.BasePage | 3 | class app.views.CPage extends app.views.BasePage |
| 4 | afterRender: -> | 4 | afterRender: -> |
| 5 | @highlightCode @findAll('pre.source-c, .source-c > pre'), 'c' | 5 | @highlightCode @findAll('pre.source-c, .source-c > pre'), 'c' |
| 6 | @highlightCode @findAll('pre.source-cpp, .source-cpp > pre'), 'cpp' | ||
| 6 | return | 7 | return |
| @@ -4,7 +4,7 @@ · 3 unmodified lines | |||
| 4 | width: 1rem; | 4 | width: 1rem; |
| 5 | height: 1rem; | 5 | height: 1rem; |
| 6 | background-image: image-url('icons.png'); | 6 | background-image: image-url('icons.png'); |
| 7 | background-size: 5rem 8rem; | 7 | background-size: 5rem 9rem; |
| 8 | } | 8 | } |
| 9 | 9 | ||
| 10 | @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { | 10 | @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { |
| @@ -51,3 +51,4 @@ · 40 unmodified lines | |||
| 51 | ._icon-c:before { background-position: -2rem -7rem; } | 51 | ._icon-c:before { background-position: -2rem -7rem; } |
| 52 | %icon-path { background-position: -3rem -7rem; } | 52 | %icon-path { background-position: -3rem -7rem; } |
| 53 | ._icon-yii:before { background-position: -4rem -7rem; } | 53 | ._icon-yii:before { background-position: -4rem -7rem; } |
| 54 | ._icon-cpp:before { background-position: 0 -8rem; } | ||
| @@ -19,4 +19,18 @@ · 18 unmodified lines | |||
| 19 | color: $textColorLight; | 19 | color: $textColorLight; |
| 20 | } | 20 | } |
| 21 | .t-sdsc-nopad dl, .t-sdsc-nopad dd { margin: 0; } | 21 | .t-sdsc-nopad dl, .t-sdsc-nopad dd { margin: 0; } |
| 22 | |||
| 23 | td > h5 { | ||
| 24 | margin: 0; | ||
| 25 | line-height: inherit; | ||
| 26 | } | ||
| 27 | |||
| 28 | .t-inheritance-diagram { | ||
| 29 | display: table; | ||
| 30 | margin: 1rem 0; | ||
| 31 | padding: .375rem; | ||
| 32 | font-size: .75rem; | ||
| 33 | border: 1px solid #ccc; | ||
| 34 | border-radius: 2px; | ||
| 35 | } | ||
| 22 | } | 36 | } |
| @@ -30,6 +30,14 @@ module Docs · 29 unmodified lines | |||
| 30 | node.name = 'code' | 30 | node.name = 'code' |
| 31 | end | 31 | end |
| 32 | 32 | ||
| 33 | css('div > a > img[alt="About this image"]').each do |node| | ||
| 34 | node.parent.parent.remove | ||
| 35 | end | ||
| 36 | |||
| 37 | css('area[href]').each do |node| | ||
| 38 | node['href'] = node['href'].sub('.html', '') | ||
| 39 | end | ||
| 40 | |||
| 33 | doc | 41 | doc |
| 34 | end | 42 | end |
| 35 | end | 43 | end |
| @@ -0,0 +1,50 @@ | |||
| 1 | module Docs | ||
| 2 | class Cpp | ||
| 3 | class EntriesFilter < Docs::EntriesFilter | ||
| 4 | REPLACE_NAMES = { | ||
| 5 | 'Error directive' => '#error directive', | ||
| 6 | 'Filename and line information' => '#line directive', | ||
| 7 | 'Implementation defined behavior control' => '#pragma directive', | ||
| 8 | 'Replacing text macros' => '#define directive', | ||
| 9 | 'Source file inclusion' => '#include directive' } | ||
| 10 | |||
| 11 | def get_name | ||
| 12 | name = at_css('#firstHeading').content.strip | ||
| 13 | name.sub! 'C++ concepts: ', '' | ||
| 14 | name.sub! 'C++ keywords: ', '' | ||
| 15 | name.sub! 'C++ ', '' | ||
| 16 | name.sub! %r{\s\(.+\)}, '' | ||
| 17 | name.sub! %r{\AStandard library header <(.+)>\z}, '\1' | ||
| 18 | name = name.split(',').first | ||
| 19 | REPLACE_NAMES[name] || name | ||
| 20 | end | ||
| 21 | |||
| 22 | def get_type | ||
| 23 | if at_css('#firstHeading').content.include?('C++ keyword') | ||
| 24 | 'Keywords' | ||
| 25 | elsif type = at_css('.t-navbar > div:nth-child(4) > :first-child').try(:content) | ||
| 26 | type.strip! | ||
| 27 | type.sub! ' library', '' | ||
| 28 | type.sub! ' utilities', '' | ||
| 29 | type.sub! 'C++ ', '' | ||
| 30 | type.capitalize! | ||
| 31 | type | ||
| 32 | end | ||
| 33 | end | ||
| 34 | |||
| 35 | def additional_entries | ||
| 36 | return [] unless include_default_entry? | ||
| 37 | names = at_css('#firstHeading').content.gsub(%r{\(.+?\)}, '').split(',')[1..-1] | ||
| 38 | names.each(&:strip!).reject! do |name| | ||
| 39 | name.size <= 2 || name == '...' || name =~ /\A[<>]/ || name.start_with?('operator') | ||
| 40 | end | ||
| 41 | names.map { |name| [name] } | ||
| 42 | end | ||
| 43 | |||
| 44 | def include_default_entry? | ||
| 45 | return @include_default_entry if defined? @include_default_entry | ||
| 46 | @include_default_entry = at_css('.t-navbar > div:nth-child(4) > a') && at_css('#firstHeading').content !~ /\A\s*operator./ | ||
| 47 | end | ||
| 48 | end | ||
| 49 | end | ||
| 50 | end | ||
| @@ -0,0 +1,12 @@ | |||
| 1 | module Docs | ||
| 2 | class Cpp | ||
| 3 | class FixUrlsFilter < Filter | ||
| 4 | def call | ||
| 5 | html.gsub! File.join(Cpp.base_url, Cpp.root_path), Cpp.base_url[0..-2] | ||
| 6 | html.gsub! %r{#{Cpp.base_url}([^"']+?)\.html}, "#{Cpp.base_url}\\1" | ||
| 7 | html.gsub! %r{http://en.cppreference.com/common/([^"']+?)\.svg}, 'http://upload.cppreference.com/mwiki/\1.svg' | ||
| 8 | html | ||
| 9 | end | ||
| 10 | end | ||
| 11 | end | ||
| 12 | end | ||
| @@ -0,0 +1,30 @@ | |||
| 1 | module Docs | ||
| 2 | class Cpp < FileScraper | ||
| 3 | self.name = 'C++' | ||
| 4 | self.slug = 'cpp' | ||
| 5 | self.type = 'c' | ||
| 6 | self.dir = '/Users/Thibaut/DevDocs/Docs/C/en/cpp' | ||
| 7 | self.base_url = 'http://en.cppreference.com/w/cpp/' | ||
| 8 | self.root_path = 'header.html' | ||
| 9 | |||
| 10 | html_filters.insert_before 'clean_html', 'c/fix_code' | ||
| 11 | html_filters.push 'cpp/entries', 'c/clean_html', 'title' | ||
| 12 | text_filters.push 'cpp/fix_urls' | ||
| 13 | |||
| 14 | options[:container] = '#content' | ||
| 15 | options[:title] = false | ||
| 16 | options[:root_title] = 'C++ Programming Language' | ||
| 17 | options[:skip] = %w( | ||
| 18 | language/extending_std.html | ||
| 19 | language/history.html | ||
| 20 | regex/ecmascript.html | ||
| 21 | regex/regex_token_iterator/operator_cmp.html | ||
| 22 | ) | ||
| 23 | options[:only_patterns] = [/\.html\z/] | ||
| 24 | |||
| 25 | options[:attribution] = <<-HTML | ||
| 26 | © cppreference.com<br> | ||
| 27 | Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0. | ||
| 28 | HTML | ||
| 29 | end | ||
| 30 | end | ||
Binary file not shown.
Binary file not shown.
| @@ -0,0 +1,2 @@ | |||
| 1 | http://dribbble.com/shots/799814-Standard-C-Logo | ||
| 2 | with authorization from Jeremy Kratz | ||