Skip to content

Commit 45d6e22

Browse files
authored
Merge pull request freeCodeCamp#1606 from MasterEnoc/cpp
C/C++ update
2 parents 9b8819a + bffc194 commit 45d6e22

13 files changed

Lines changed: 104 additions & 121 deletions

File tree

assets/stylesheets/application.css.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
'pages/async',
4040
'pages/bash',
4141
'pages/bootstrap',
42-
'pages/c',
42+
'pages/cppref',
4343
'pages/cakephp',
4444
'pages/clojure',
4545
'pages/codeception',
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
._c {
1+
._cppref {
22
> h2, > h3 { @extend %block-heading; }
33
> h4 { @extend %block-label, %label-blue; }
44
.fmbox { @extend %note; }

lib/docs/filters/c/entries.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ def get_name
2222
end
2323

2424
def get_type
25+
26+
return "C keywords" if slug =~ /keyword/
27+
2528
type = at_css('.t-navbar > div:nth-child(4) > :first-child').try(:content)
2629
type.strip!
2730
type.remove! ' library'

lib/docs/filters/c/fix_urls.rb

Lines changed: 0 additions & 11 deletions
This file was deleted.

lib/docs/filters/cpp/entries.rb

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module Docs
22
class Cpp
33
class EntriesFilter < Docs::EntriesFilter
4+
@@duplicate_names = []
5+
46
REPLACE_NAMES = {
57
'Error directive' => '#error directive',
68
'Filename and line information' => '#line directive',
@@ -11,7 +13,8 @@ class EntriesFilter < Docs::EntriesFilter
1113
def get_name
1214
name = at_css('#firstHeading').content.strip
1315
name = format_name(name)
14-
name.split(',').first
16+
name = name.split(',').first
17+
name
1518
end
1619

1720
def get_type
@@ -61,6 +64,21 @@ def format_name(name)
6164

6265
REPLACE_NAMES[name] || name
6366
end
67+
68+
# Avoid duplicate pages, these duplicate page are the same page for
69+
# multiple functions that are organized in the same page because provide
70+
# similar behavior but have different name.
71+
def entries
72+
entries = []
73+
74+
if !(@@duplicate_names.include?(name))
75+
@@duplicate_names.push(name)
76+
entries << default_entry if root_page? || include_default_entry?
77+
entries.concat(additional_entries)
78+
build_entries(entries)
79+
end
80+
end
81+
6482
end
6583
end
6684
end

lib/docs/filters/cpp/fix_urls.rb

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module Docs
2-
class C
2+
class Cppref
33
class CleanHtmlFilter < Filter
44
def call
55
css('h1').remove if root_page?
@@ -109,6 +109,20 @@ def call
109109
node['src'] = node['src'].sub! %r{http://en.cppreference.com/common/([^"']+?)\.svg}, 'http://upload.cppreference.com/mwiki/\1.svg'
110110
end
111111

112+
# temporary solution due lack of mathjax/mathml support
113+
css('.t-mfrac').each do |node|
114+
fraction = Nokogiri::XML::Node.new('span', doc)
115+
116+
node.css('td').each do |node|
117+
fraction.add_child("<span>#{node.content}</span>")
118+
end
119+
120+
fraction.last_element_child().before("<span>/</span>")
121+
122+
node.before(fraction)
123+
node.remove
124+
end
125+
112126
doc
113127
end
114128
end
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module Docs
2-
class C
2+
class Cppref
33
class FixCodeFilter < Filter
44
def call
55
css('div > span.source-c', 'div > span.source-cpp').each do |node|

lib/docs/scrapers/c.rb

Lines changed: 0 additions & 42 deletions
This file was deleted.

lib/docs/scrapers/cpp.rb

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)