Unified · Split
Binary file not shown.
Binary file not shown.
| @@ -39,7 +39,7 @@ app.templates.aboutPage = -> """ · 38 unmodified lines | ||
| 39 | 39 | <ul> |
| 40 | 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 | 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 | 43 | </ul> |
| 44 | 44 | |
| 45 | 45 | <h2 class="_lined-heading" id="faq">Questions & Answsers</h2> |
| @@ -86,7 +86,7 @@ credits = [ · 40 unmodified lines | ||
| 86 | 86 | 'MIT', |
| 87 | 87 | 'https://raw.github.com/jashkenas/backbone/master/LICENSE' |
| 88 | 88 | ], [ |
| 89 | − 'C', | |
| 89 | + 'C<br>C++', | |
| 90 | 90 | 'cppreference.com', |
| 91 | 91 | 'CC BY-SA', |
| 92 | 92 | 'http://en.cppreference.com/w/Cppreference:Copyright/CC-BY-SA' |
| @@ -24,7 +24,10 @@ newsItem = (date, news) -> · 23 unmodified lines | ||
| 24 | 24 | result |
| 25 | 25 | |
| 26 | 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 | 31 | """ New <a href="/yii/">Yii</a> documentation """, |
| 29 | 32 | ], [ |
| 30 | 33 | 1394236800000, # March 8, 2014 |
| @@ -3,4 +3,5 @@ · 2 unmodified lines | ||
| 3 | 3 | class app.views.CPage extends app.views.BasePage |
| 4 | 4 | afterRender: -> |
| 5 | 5 | @highlightCode @findAll('pre.source-c, .source-c > pre'), 'c' |
| 6 | + @highlightCode @findAll('pre.source-cpp, .source-cpp > pre'), 'cpp' | |
| 6 | 7 | return |
| @@ -4,7 +4,7 @@ · 3 unmodified lines | ||
| 4 | 4 | width: 1rem; |
| 5 | 5 | height: 1rem; |
| 6 | 6 | background-image: image-url('icons.png'); |
| 7 | − background-size: 5rem 8rem; | |
| 7 | + background-size: 5rem 9rem; | |
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { |
| @@ -51,3 +51,4 @@ · 40 unmodified lines | ||
| 51 | 51 | ._icon-c:before { background-position: -2rem -7rem; } |
| 52 | 52 | %icon-path { background-position: -3rem -7rem; } |
| 53 | 53 | ._icon-yii:before { background-position: -4rem -7rem; } |
| 54 | +._icon-cpp:before { background-position: 0 -8rem; } | |
| @@ -19,4 +19,18 @@ · 18 unmodified lines | ||
| 19 | 19 | color: $textColorLight; |
| 20 | 20 | } |
| 21 | 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 | 30 | node.name = 'code' |
| 31 | 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 | 41 | doc |
| 34 | 42 | end |
| 35 | 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 | |