jazzy 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/.gitmodules +3 -0
  4. data/.rubocop.yml +67 -0
  5. data/.rubocop_todo.yml +16 -0
  6. data/.travis.yml +6 -0
  7. data/Gemfile +15 -7
  8. data/Gemfile.lock +62 -12
  9. data/LICENSE +0 -0
  10. data/README.md +39 -12
  11. data/Rakefile +87 -1
  12. data/bin/jazzy +10 -44
  13. data/bin/sourcekitten +0 -0
  14. data/jazzy.gemspec +16 -16
  15. data/lib/jazzy.rb +1 -159
  16. data/lib/jazzy/assets/css/jazzy.css +561 -0
  17. data/lib/{assets/Images/carat_2x.png → jazzy/assets/img/carat.png} +0 -0
  18. data/lib/jazzy/assets/img/dash.png +0 -0
  19. data/lib/jazzy/assets/img/gh.png +0 -0
  20. data/lib/jazzy/assets/js/jazzy.js +15 -0
  21. data/lib/jazzy/assets/js/jquery.min.js +4 -0
  22. data/lib/jazzy/config.rb +100 -0
  23. data/lib/jazzy/doc.mustache +46 -0
  24. data/lib/jazzy/doc.rb +23 -0
  25. data/lib/jazzy/doc_builder.rb +166 -0
  26. data/lib/jazzy/gem_version.rb +3 -0
  27. data/lib/jazzy/jazzy_markdown.rb +13 -0
  28. data/lib/jazzy/partials/footer.mustache +4 -0
  29. data/lib/jazzy/partials/nav.mustache +16 -0
  30. data/lib/jazzy/partials/parameter.mustache +12 -0
  31. data/lib/jazzy/partials/task.mustache +66 -0
  32. data/lib/jazzy/partials/tasks.mustache +7 -0
  33. data/lib/jazzy/source_declaration.rb +19 -0
  34. data/lib/jazzy/sourcekitten.rb +146 -0
  35. data/lib/jazzy/xml_helper.rb +15 -0
  36. data/screenshot.jpg +0 -0
  37. data/spec/.gitkeep +0 -0
  38. data/spec/integration_spec.rb +89 -0
  39. data/spec/integration_specs/document_alamofire/after/docs/Classes.html +266 -0
  40. data/spec/integration_specs/document_alamofire/after/docs/Classes/Manager.html +677 -0
  41. data/spec/integration_specs/document_alamofire/after/docs/Classes/Manager/SessionDelegate.html +866 -0
  42. data/spec/integration_specs/document_alamofire/after/docs/Classes/Manager/Singleton.html +246 -0
  43. data/spec/integration_specs/document_alamofire/after/docs/Classes/Request.html +1376 -0
  44. data/spec/integration_specs/document_alamofire/after/docs/Classes/Request/DataTaskDelegate.html +486 -0
  45. data/spec/integration_specs/document_alamofire/after/docs/Classes/Request/TaskDelegate.html +506 -0
  46. data/spec/integration_specs/document_alamofire/after/docs/Enums.html +266 -0
  47. data/spec/integration_specs/document_alamofire/after/docs/Enums/ParameterEncoding.html +391 -0
  48. data/spec/integration_specs/document_alamofire/after/docs/Extensions.html +641 -0
  49. data/spec/integration_specs/document_alamofire/after/docs/Extensions/Manager.html +376 -0
  50. data/spec/integration_specs/document_alamofire/after/docs/Extensions/NSURL.html +226 -0
  51. data/spec/integration_specs/document_alamofire/after/docs/Extensions/NSURLComponents.html +226 -0
  52. data/spec/integration_specs/document_alamofire/after/docs/Extensions/NSURLRequest.html +226 -0
  53. data/spec/integration_specs/document_alamofire/after/docs/Extensions/Request.html +377 -0
  54. data/spec/integration_specs/document_alamofire/after/docs/Extensions/Request/DownloadTaskDelegate.html +406 -0
  55. data/spec/integration_specs/document_alamofire/after/docs/Extensions/Request/MIMEType.html +286 -0
  56. data/spec/integration_specs/document_alamofire/after/docs/Extensions/Request/UploadTaskDelegate.html +266 -0
  57. data/spec/integration_specs/document_alamofire/after/docs/Extensions/String.html +226 -0
  58. data/spec/integration_specs/document_alamofire/after/docs/Functions.html +1001 -0
  59. data/spec/integration_specs/document_alamofire/after/docs/Global Variables.html +236 -0
  60. data/spec/integration_specs/document_alamofire/after/docs/Protocols.html +266 -0
  61. data/spec/integration_specs/document_alamofire/after/docs/Protocols/URLRequestConvertible.html +236 -0
  62. data/spec/integration_specs/document_alamofire/after/docs/Protocols/URLStringConvertible.html +236 -0
  63. data/spec/integration_specs/document_alamofire/after/docs/Typealiases.html +266 -0
  64. data/spec/integration_specs/document_alamofire/after/docs/css/jazzy.css +561 -0
  65. data/spec/integration_specs/document_alamofire/after/docs/img/carat.png +0 -0
  66. data/spec/integration_specs/document_alamofire/after/docs/img/dash.png +0 -0
  67. data/spec/integration_specs/document_alamofire/after/docs/img/gh.png +0 -0
  68. data/spec/integration_specs/document_alamofire/after/docs/index.html +194 -0
  69. data/spec/integration_specs/document_alamofire/after/docs/js/jazzy.js +15 -0
  70. data/spec/integration_specs/document_alamofire/after/docs/js/jquery.min.js +4 -0
  71. data/spec/integration_specs/document_alamofire/after/execution_output.txt +2 -0
  72. data/spec/integration_specs/misc_jazzy_features/after/docs/Classes.html +317 -0
  73. data/spec/integration_specs/misc_jazzy_features/after/docs/Classes/ImplicitlyInternalTopLevelClass.html +138 -0
  74. data/spec/integration_specs/misc_jazzy_features/after/docs/Enums.html +155 -0
  75. data/spec/integration_specs/misc_jazzy_features/after/docs/Enums/DocumentedEnum.html +128 -0
  76. data/spec/integration_specs/misc_jazzy_features/after/docs/Global Variables.html +138 -0
  77. data/spec/integration_specs/misc_jazzy_features/after/docs/css/jazzy.css +561 -0
  78. data/spec/integration_specs/misc_jazzy_features/after/docs/img/carat.png +0 -0
  79. data/spec/integration_specs/misc_jazzy_features/after/docs/img/dash.png +0 -0
  80. data/spec/integration_specs/misc_jazzy_features/after/docs/img/gh.png +0 -0
  81. data/spec/integration_specs/misc_jazzy_features/after/docs/index.html +99 -0
  82. data/spec/integration_specs/misc_jazzy_features/after/docs/js/jazzy.js +15 -0
  83. data/spec/integration_specs/misc_jazzy_features/after/docs/js/jquery.min.js +4 -0
  84. data/spec/integration_specs/misc_jazzy_features/after/execution_output.txt +2 -0
  85. data/spec/integration_specs/misc_jazzy_features/before/MiscJazzyFeatures.xcodeproj/project.pbxproj +293 -0
  86. data/{parser/ASTDump.xcodeproj → spec/integration_specs/misc_jazzy_features/before/MiscJazzyFeatures.xcodeproj}/project.xcworkspace/contents.xcworkspacedata +1 -1
  87. data/spec/integration_specs/misc_jazzy_features/before/MiscJazzyFeatures/Classes.swift +60 -0
  88. data/spec/integration_specs/misc_jazzy_features/before/MiscJazzyFeatures/Info.plist +28 -0
  89. data/spec/integration_specs/misc_jazzy_features/before/MiscJazzyFeatures/MiscJazzyFeatures.h +10 -0
  90. data/spec/integration_specs/misc_jazzy_features/before/docs/Classes.html +317 -0
  91. data/spec/integration_specs/misc_jazzy_features/before/docs/Classes/ImplicitlyInternalTopLevelClass.html +138 -0
  92. data/spec/integration_specs/misc_jazzy_features/before/docs/Enums.html +155 -0
  93. data/spec/integration_specs/misc_jazzy_features/before/docs/Enums/DocumentedEnum.html +128 -0
  94. data/spec/integration_specs/misc_jazzy_features/before/docs/Global Variables.html +138 -0
  95. data/spec/integration_specs/misc_jazzy_features/before/docs/css/jazzy.css +561 -0
  96. data/spec/integration_specs/misc_jazzy_features/before/docs/img/carat.png +0 -0
  97. data/spec/integration_specs/misc_jazzy_features/before/docs/img/dash.png +0 -0
  98. data/spec/integration_specs/misc_jazzy_features/before/docs/img/gh.png +0 -0
  99. data/spec/integration_specs/misc_jazzy_features/before/docs/index.html +99 -0
  100. data/spec/integration_specs/misc_jazzy_features/before/docs/js/jazzy.js +15 -0
  101. data/spec/integration_specs/misc_jazzy_features/before/docs/js/jquery.min.js +4 -0
  102. metadata +112 -76
  103. data/DEV_README.md +0 -35
  104. data/bin/ASTDump +0 -0
  105. data/bin/generate_swift_header.sh +0 -14
  106. data/lib/assets/CSS/style-1.1.15.css +0 -3366
  107. data/lib/assets/Images/apple2.png +0 -0
  108. data/lib/assets/Images/check.png +0 -0
  109. data/lib/assets/Images/class_node_parent_and_child_2x.png +0 -0
  110. data/lib/assets/Images/class_node_subclass_last_child_2x.png +0 -0
  111. data/lib/assets/Images/class_node_subclass_with_siblings_2x.png +0 -0
  112. data/lib/assets/Images/closebox_2x.png +0 -0
  113. data/lib/assets/Images/collection_last_child_2x.png +0 -0
  114. data/lib/assets/Images/collection_last_child_orphan_grandparent_2x.png +0 -0
  115. data/lib/assets/Images/collection_last_child_orphan_parent_2x.png +0 -0
  116. data/lib/assets/Images/collection_last_child_orphan_parent_and_grandparent_2x.png +0 -0
  117. data/lib/assets/Images/collection_node_2x.png +0 -0
  118. data/lib/assets/Images/collection_node_orphan_grandparent_2x.png +0 -0
  119. data/lib/assets/Images/collection_node_orphan_parent_2x.png +0 -0
  120. data/lib/assets/Images/collection_node_orphan_parent_and_grandparent_2x.png +0 -0
  121. data/lib/assets/Images/collection_node_parent_2x.png +0 -0
  122. data/lib/assets/Images/collection_node_parent_last_child_orphan_parent_2x.png +0 -0
  123. data/lib/assets/Images/collection_node_parent_orphan_parent_2x.png +0 -0
  124. data/lib/assets/Images/collection_parent_last_child_2x.png +0 -0
  125. data/lib/assets/Images/download_2x.png +0 -0
  126. data/lib/assets/Images/left_arrow_2x.png +0 -0
  127. data/lib/assets/Images/magnify_2x.png +0 -0
  128. data/lib/assets/Images/minus_2x.png +0 -0
  129. data/lib/assets/Images/playbutton.svg +0 -15
  130. data/lib/assets/Images/plus_2x.png +0 -0
  131. data/lib/assets/Images/right_arrow_2x.png +0 -0
  132. data/lib/assets/Images/search_2x.png +0 -0
  133. data/lib/assets/Images/shortstack_2x.png +0 -0
  134. data/lib/assets/JavaScript/devpubs-1.1.15.js +0 -1293
  135. data/lib/jazzy/jazzhtml.rb +0 -7
  136. data/lib/jazzy/klass.mustache +0 -150
  137. data/lib/jazzy/klass.rb +0 -23
  138. data/lib/jazzy/partials/klass-method.mustache +0 -70
  139. data/lib/jazzy/partials/klass-overview.mustache +0 -6
  140. data/lib/jazzy/partials/klass-property.mustache +0 -41
  141. data/parser/ASTDump.xcodeproj/project.pbxproj +0 -301
  142. data/parser/ASTDump.xcodeproj/project.xcworkspace/xcshareddata/ASTDump.xccheckout +0 -41
  143. data/parser/ASTDump.xcodeproj/project.xcworkspace/xcuserdata/ta.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  144. data/parser/ASTDump.xcodeproj/xcuserdata/ta.xcuserdatad/xcschemes/ASTDump.xcscheme +0 -86
  145. data/parser/ASTDump.xcodeproj/xcuserdata/ta.xcuserdatad/xcschemes/xcschememanagement.plist +0 -22
  146. data/parser/ASTDump/main.cpp +0 -71
  147. data/parser/clang-c/BuildSystem.h +0 -148
  148. data/parser/clang-c/CXCompilationDatabase.h +0 -170
  149. data/parser/clang-c/CXErrorCode.h +0 -64
  150. data/parser/clang-c/CXString.h +0 -61
  151. data/parser/clang-c/Documentation.h +0 -554
  152. data/parser/clang-c/Index.h +0 -5454
  153. data/parser/clang-c/Platform.h +0 -45
  154. data/sample/JAZMusician.h +0 -38
  155. data/sample/JAZMusician.m +0 -19
  156. data/sample/Musician.swift +0 -37
Binary file
@@ -1,27 +1,27 @@
1
1
  # coding: utf-8
2
2
 
3
- module Jazzy
4
- VERSION = '0.0.4'
5
- end
3
+ require File.expand_path('lib/jazzy/gem_version.rb', File.dirname(__FILE__))
6
4
 
7
5
  Gem::Specification.new do |spec|
8
- spec.name = "jazzy"
6
+ spec.name = 'jazzy'
9
7
  spec.version = Jazzy::VERSION
10
- spec.authors = ["JP Simard, Tim Anglade"]
11
- spec.email = ["jp@realm.io"]
12
- spec.summary = %q{A soulful way to generate docs for Swift & Objective-C}
13
- spec.description = %q{A soulful way to generate docs for Swift & Objective-C}
14
- spec.homepage = "http://github.com/realm/jazzy"
15
- spec.license = "MIT"
8
+ spec.authors = ['JP Simard', 'Tim Anglade', 'Samuel Giddins']
9
+ spec.email = ['jp@realm.io']
10
+ spec.summary = 'A soulful way to generate docs for Swift.'
11
+ spec.description = 'A soulful way to generate docs for Swift. ' \
12
+ "Run in your Xcode project's root directory for " \
13
+ 'instant HTML docs.'
14
+ spec.homepage = 'http://github.com/realm/jazzy'
15
+ spec.license = 'MIT'
16
16
 
17
17
  spec.files = `git ls-files`.split($/)
18
18
  spec.executables << 'jazzy'
19
19
 
20
- spec.add_runtime_dependency 'mustache', '~> 0.99.5'
21
- spec.add_runtime_dependency 'activesupport', '~> 4.1.1'
22
- spec.add_runtime_dependency 'redcarpet', '~> 3.1.2'
23
- spec.add_runtime_dependency 'nokogiri', '~> 1.6.2.1'
20
+ spec.add_runtime_dependency 'mustache', '~> 0.99'
21
+ spec.add_runtime_dependency 'activesupport', '~> 4.1'
22
+ spec.add_runtime_dependency 'redcarpet', '~> 3.2'
23
+ spec.add_runtime_dependency 'nokogiri', '~> 1.6'
24
24
 
25
- spec.add_development_dependency "bundler", "~> 1.5"
26
- spec.add_development_dependency "rake"
25
+ spec.add_development_dependency 'bundler', '~> 1.7'
26
+ spec.add_development_dependency 'rake', '~> 10.3'
27
27
  end
@@ -1,159 +1 @@
1
- class Jazzy
2
-
3
- def self.headers(path)
4
- paths = []
5
- Find.find(path) do |path|
6
- if (path =~ /.*\.h$/) && !(path =~ /.*private\.h$/i) && !(path =~ /test.*\//i)
7
- paths << File.expand_path(path)
8
- end
9
- end
10
- paths
11
- end
12
-
13
- def self.document(path)
14
- bin_path = File.expand_path(File.join(File.dirname(__FILE__), '../bin'))
15
-
16
- klass = Jazzy::Klass.new
17
-
18
- string = `#{bin_path}/generate_swift_header.sh #{path}`
19
- a = string.split(/^\[/); swift = a[0]; rawmap = "[\n"+a[-1]
20
-
21
- rawmap.gsub!(/(key.\w+):/,'"\1":')
22
- rawmap.gsub!(/(source..+),/,'"\1",')
23
-
24
- xml = `#{bin_path}/ASTDump #{path}`
25
-
26
- doc = Nokogiri::XML(xml)
27
-
28
- results = doc.xpath("//*[@file='#{path}']")
29
-
30
- # Fill in Overview
31
- top = results.first
32
-
33
- klass[:name] = top.xpath("Name").text
34
- klass[:usr] = top.xpath("USR").text
35
- klass[:declaration] = {}
36
- klass[:declaration][:objc] = top.xpath("Declaration").text.strip
37
- klass[:abstract] = top.xpath("Abstract/Para").text.strip
38
- paras = []; top.xpath("./Discussion/Para").each {|p| paras << p.text.strip }
39
- klass[:discussion] = paras.join("\n\n")
40
-
41
- # Only usable if Swift Header can be correctly generated
42
- unless rawmap.include? "<<NULL>>"
43
-
44
- swiftmap = {}
45
- map = {}
46
-
47
- JSON.parse(rawmap).each do |element|
48
-
49
- next unless element["key.name"].downcase == klass[:name].downcase
50
-
51
- # More than one matching element?
52
- element["key.entities"].each do |e|
53
- swiftmap[e["key.usr"]] = {}
54
- swiftmap[e["key.usr"]]["declaration"] = swift.byteslice(e["key.offset"], e["key.length"])
55
- swiftmap[e["key.usr"]]["name"] = e["key.name"]
56
- end
57
-
58
- # Inherits
59
- klass[:inherits] = []
60
- element["key.inherits"].each { |i| klass[:inherits] << { usr: i["key.usr"], name: i["key.name"] } } unless map["key.inherits"].nil?
61
-
62
- # Conforms to
63
- klass[:conforms] = []
64
- element["key.conforms"].each { |c| klass[:conforms] << { usr: c["key.usr"], name: c["key.name"] } } unless map["key.conforms"].nil?
65
- end
66
- end
67
-
68
- # Import
69
- klass[:import] = swift.split("\n")[0].chomp.gsub('import ', '')
70
-
71
- # Fill in Properties
72
- klass[:properties] = []
73
-
74
- results[1..-1].each do |e|
75
- next unless e.name == "Other"
76
- property = {}
77
- property[:usr] = e.xpath("USR").text
78
- property[:name] = {}
79
- property[:name][:objc] = e.xpath("Name").text
80
- if !swiftmap.nil? && swiftmap[property[:usr]]
81
- property[:name][:swift] = swiftmap[property[:usr]]["name"]
82
- else
83
- property[:name][:swift] = "Could not be generated"
84
- end
85
- property[:term] = property[:usr]
86
- property[:declaration] = {}
87
- property[:declaration][:objc] = e.xpath("Declaration").text.strip
88
- if !swiftmap.nil? && swiftmap[property[:usr]]
89
- property[:declaration][:swift] = swiftmap.nil?
90
- else
91
- property[:declaration][:swift] = "Could not be generated"
92
- end
93
- property[:abstract] = e.xpath("Abstract/Para").text.strip
94
- paras = []; e.xpath("Discussion/Para").each {|p| paras << p.text.strip }
95
- property[:discussion] = paras.join("\n\n") unless paras.length == 0
96
- klass[:properties] << property
97
- end
98
-
99
- #puts klass[:properties]
100
-
101
- # Fill in Methods
102
- klass[:methods] = []
103
- results[1..-1].each do |e|
104
- next unless e.name == "Function"
105
- method = {}
106
- method[:usr] = e.xpath("USR").text
107
- method[:name] = {}
108
- method[:name][:objc] = e.xpath("Name").text
109
- if !swiftmap.nil? && swiftmap[method[:usr]]
110
- method[:name][:swift] = swiftmap[method[:usr]]["name"]
111
- else
112
- method[:name][:swift] = "Could not be generated"
113
- end
114
- next if method[:usr].include?('(py)')
115
- method[:term] = method[:usr].split(')')[-1]
116
- method[:declaration] = {}
117
- method[:declaration][:objc] = e.xpath("Declaration").text
118
- if !swiftmap.nil? && swiftmap[method[:usr]]
119
- method[:declaration][:swift] = swiftmap[method[:usr]]["declaration"]
120
- else
121
- method[:declaration][:swift] = "Could not be generated"
122
- end
123
- method[:abstract] = e.xpath("Abstract/Para").text.strip
124
- paras = []; e.xpath("Discussion/Para").each {|p| paras << p.text.strip }
125
- method[:discussion] = paras.join("\n\n") unless paras.length == 0
126
- method[:result] = e.xpath("ResultDiscussion/Para").text.strip
127
-
128
- method[:parameters] = []
129
- parameters = []; e.xpath("//Parameter").each do |p|
130
- param = {}
131
- param[:name] = p.xpath("Name").text
132
- param[:discussion] = p.xpath("Discussion/Para").text.strip
133
- method[:parameters] << param
134
- end
135
-
136
- klass[:methods] << method
137
- end
138
-
139
- klass.render
140
- end
141
-
142
- def self.assets(dir)
143
- Dir.mkdir(File.join(dir,'CSS'))
144
- Dir.mkdir(File.join(dir,'JavaScript'))
145
- Dir.mkdir(File.join(dir,'Images'))
146
- FileUtils.cp_r(Dir[File.expand_path(File.join( File.dirname(__FILE__),'assets/*'))],dir)
147
- end
148
-
149
- end
150
-
151
- require 'mustache'
152
- require 'redcarpet'
153
- require 'nokogiri'
154
- require 'json'
155
- require 'active_support/core_ext/hash/conversions'
156
- require 'date'
157
- require 'uri'
158
- require "jazzy/klass.rb"
159
- require "jazzy/jazzhtml.rb"
1
+ require 'jazzy/doc_builder'
@@ -0,0 +1,561 @@
1
+ html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td {
2
+ background: transparent;
3
+ border: 0;
4
+ font-size: 100%;
5
+ margin: 0;
6
+ outline: 0;
7
+ padding: 0;
8
+ vertical-align: baseline;
9
+ }
10
+
11
+ #reference .x-instance-method.Swift {
12
+ margin-left: 15px;
13
+ }
14
+
15
+ #reference .chapter {
16
+ overflow-x: hidden;
17
+ border-top: 0;
18
+ border-left: 1px solid rgba(233, 233, 233, 1);
19
+ border-right: 1px solid rgba(233, 233, 233, 1);
20
+ border-bottom: 1px solid rgba(233, 233, 233, 1);
21
+ }
22
+
23
+ #reference .nav-chapters {
24
+ height: 100%;
25
+ }
26
+
27
+ #reference .part-name {
28
+ color: #000;
29
+ cursor: default;
30
+ padding: 15px 15px 15px 20px;
31
+ min-height: 61px;
32
+ }
33
+
34
+ #reference .part-name.tasks {
35
+ background: #fff;
36
+ overflow: auto;
37
+ }
38
+
39
+ #reference .book-parts a {
40
+ display: initial;
41
+ margin-left: 0;
42
+ }
43
+
44
+ #reference .nav-chapters li {
45
+ color: rgba(128, 128, 128, 1);
46
+ margin-left: 12px;
47
+ padding-left: 10px;
48
+ text-indent: -10px;
49
+ }
50
+
51
+ #reference .chapter-name {
52
+ margin-top: 21px;
53
+ }
54
+
55
+ .rubber-band-gap {
56
+ background: #fff;
57
+ height: 250px;
58
+ position: fixed;
59
+ width: 734px;
60
+ z-index: -1;
61
+ top: 70px;
62
+ margin: 0 0 0 247px;
63
+ }
64
+
65
+ #reference .task-name-container {
66
+ background: #fff;
67
+ left: -25px;
68
+ margin-bottom: 0;
69
+ padding: 35px 25px 0;
70
+ position: relative;
71
+ width: 100%;
72
+ }
73
+
74
+ #reference .section-name {
75
+ cursor: pointer;
76
+ display: inline-block;
77
+ }
78
+
79
+ #reference .section .section {
80
+ margin-top: 0;
81
+ }
82
+
83
+ #reference .task-group-section {
84
+ padding: 1px 25px 0;
85
+ }
86
+
87
+ #reference .symbol {
88
+ background: #fff;
89
+ left: -25px;
90
+ list-style-type: none;
91
+ padding: 13px 25px 0;
92
+ position: relative;
93
+ width: 100%;
94
+ }
95
+
96
+ #reference .task-group-term {
97
+ font-size: 1.4em;
98
+ word-break: break-all;
99
+ }
100
+
101
+ #reference .task-group-term>code {
102
+ display: inline-block;
103
+ }
104
+
105
+ #reference .pointy-thing-container {
106
+ background: #fff;
107
+ border-bottom: 1px solid rgba(233, 233, 233, 1);
108
+ left: -25px;
109
+ padding-left: 25px;
110
+ padding-right: 25px;
111
+ padding-bottom: 13px;
112
+ position: relative;
113
+ width: 100%;
114
+ }
115
+
116
+ #reference .pointy-thing {
117
+ background: rgba(249, 249, 249, 1);
118
+ border-left: 1px solid rgba(233, 233, 233, 1);
119
+ border-top: 1px solid rgba(233, 233, 233, 1);
120
+ height: 12px;
121
+ left: 21px;
122
+ top: -7px;
123
+ -webkit-transform: rotate(45deg);
124
+ -moz-transform: rotate(45deg);
125
+ -o-transform: rotate(45deg);
126
+ transform: rotate(45deg);
127
+ position: absolute;
128
+ width: 12px;
129
+ }
130
+
131
+ #reference .height-container {
132
+ display: none;
133
+ left: -25px;
134
+ padding: 0 25px;
135
+ position: relative;
136
+ width: 100%;
137
+ overflow: hidden;
138
+ }
139
+
140
+ #reference .height-container .section {
141
+ background: rgba(249, 249, 249, 1);
142
+ border-bottom: 1px solid rgba(233, 233, 233, 1);
143
+ left: -25px;
144
+ margin: 0;
145
+ padding: 13px 25px 0;
146
+ position: relative;
147
+ width: 100%;
148
+ }
149
+
150
+ #reference .height-container .section h4 {
151
+ font-size: 13px;
152
+ line-height: 1.5;
153
+ margin-top: 21px;
154
+ }
155
+
156
+ #reference .section .declaration {
157
+ margin-top: 21px;
158
+ }
159
+
160
+ #reference .section .declaration code {
161
+ color: rgba(128, 128, 128, 1);
162
+ margin-bottom: 15px;
163
+ padding-bottom: 6px;
164
+ }
165
+
166
+ #reference .declaration div .para {
167
+ margin-bottom: 0;
168
+ }
169
+
170
+ #reference .task-group .item .graybox {
171
+ margin: 5px 0 26px;
172
+ }
173
+
174
+ #reference .symbol .graybox .para:last-of-type {
175
+ margin-bottom: 0;
176
+ padding-bottom: 0;
177
+ }
178
+
179
+ #reference .parameters .graybox tr td:first-of-type {
180
+ text-align: right;
181
+ padding: 7px;
182
+ vertical-align: top;
183
+ word-break: normal;
184
+ width: 40px;
185
+ }
186
+
187
+ #reference em.term,
188
+ #reference em.parameter-name {
189
+ color: rgba(65, 65, 65, 1);
190
+ font-size: 12px;
191
+ line-height: 1.5;
192
+ }
193
+
194
+ #reference .height-container .section>div:last-of-type {
195
+ margin-bottom: 15px;
196
+ }
197
+
198
+ #reference #footer {
199
+ width: 614px;
200
+ z-index: 1;
201
+ }
202
+
203
+ #reference .item .para {
204
+ padding-bottom: 0;
205
+ margin: 0 0 15px;
206
+ }
207
+
208
+ #reference a[name] {
209
+ padding-top: 112px;
210
+ margin: -112px 0 0;
211
+ }
212
+
213
+ #reference .height-container td {
214
+ max-width: inherit;
215
+ }
216
+
217
+ #reference .declaration .n a {
218
+ color: inherit;
219
+ }
220
+
221
+ #reference .declaration .n a:hover {
222
+ border-bottom: 1px solid;
223
+ }
224
+
225
+ #reference .copyright {
226
+ margin: 10px 0;
227
+ }
228
+
229
+ .nav-chapters {
230
+ font-weight: 400;
231
+ line-height: 110%;
232
+ list-style-position: outside;
233
+ list-style-type: none;
234
+ margin: 0;
235
+ padding: 8px 0 0;
236
+ height: 100%;
237
+ width: 200px;
238
+ position: relative;
239
+ top: 15px;
240
+ }
241
+
242
+ body {
243
+ background-color: rgba(242, 242, 242, 1);
244
+ color: #000;
245
+ font-family: Helvetica, Arial, sans-serif;
246
+ font-size: 62.5%;
247
+ margin: 0 auto;
248
+ -webkit-font-smoothing: subpixel-antialiased;
249
+ }
250
+
251
+ a[name] {
252
+ display: block;
253
+ padding-top: 85px;
254
+ margin: -85px 0 0;
255
+ width: 0;
256
+ height: 0;
257
+ }
258
+
259
+ .content-wrapper {
260
+ background-color: rgba(242, 242, 242, 1);
261
+ margin: 0 auto;
262
+ width: 980px;
263
+ }
264
+
265
+ .pixel-line {
266
+ background: rgba(233, 233, 233, 1);
267
+ height: 1px;
268
+ position: fixed;
269
+ top: 70px;
270
+ width: 734px;
271
+ z-index: 3;
272
+ top: 70px;
273
+ margin: 0 0 0 247px;
274
+ }
275
+
276
+ .chapter {
277
+ background-color: #fff;
278
+ border: 1px solid rgba(233, 233, 233, 1);
279
+ border-top: 0;
280
+ box-shadow: 0 0 1px rgba(0, 0, 0, .07);
281
+ display: block;
282
+ margin-left: 246px;
283
+ min-height: calc(100% - 173px);
284
+ min-height: -moz-calc(100% - 173px);
285
+ min-height: -webkit-calc(100% - 173px);
286
+ min-height: -o-calc(100% - 173px);
287
+ position: absolute;
288
+ overflow: auto;
289
+ padding-bottom: 100px;
290
+ top: 70px;
291
+ -webkit-overflow-scrolling: touch;
292
+ width: 734px;
293
+ }
294
+
295
+ #hierarchial_navigation {
296
+ float: left;
297
+ font-size: 1.4em;
298
+ margin-top: 29px;
299
+ vertical-align: middle;
300
+ }
301
+
302
+ .section {
303
+ padding: 15px 25px 0px;
304
+ }
305
+
306
+ .section .section {
307
+ margin: 30px 0 0;
308
+ padding: 0;
309
+ }
310
+
311
+ header {
312
+ background-color: rgba(65, 65, 65, 1);
313
+ box-shadow: 0 1px 1px rgba(0, 0, 0, .07);
314
+ color: #fff;
315
+ height: 25px;
316
+ letter-spacing: .05em;
317
+ position: fixed;
318
+ top: 0;
319
+ width: 100%;
320
+ z-index: 4;
321
+ }
322
+
323
+ .header-text {
324
+ font-size: 1.1em;
325
+ margin: 0 auto;
326
+ padding-top: 6px;
327
+ vertical-align: middle;
328
+ float: left;
329
+ }
330
+
331
+ .header-text a {
332
+ color: #fff;
333
+ text-decoration: none;
334
+ }
335
+
336
+ #header-icon {
337
+ padding-right: 8px;
338
+ vertical-align: -3px;
339
+ }
340
+
341
+ #header-links a {
342
+ float: right;
343
+ padding-top: 4px;
344
+ padding-left: 16px;
345
+ font-size: 1.1em;
346
+ vertical-align: middle;
347
+ margin: 0 auto;
348
+ color: #fff;
349
+ text-decoration: none;
350
+ }
351
+
352
+ #valence {
353
+ background-color: rgba(242, 242, 242, 1);
354
+ display: block;
355
+ height: 60px;
356
+ padding-top: 10px;
357
+ position: fixed;
358
+ top: 0;
359
+ width: 100%;
360
+ z-index: 3;
361
+ }
362
+
363
+ #carat {
364
+ margin: 0 10px;
365
+ }
366
+
367
+ #design_resources_link {
368
+ color: rgba(0, 136, 204, 1);
369
+ text-decoration: none;
370
+ }
371
+
372
+ .para {
373
+ color: rgba(65, 65, 65, 1);
374
+ font-size: 1.4em;
375
+ line-height: 145%;
376
+ margin-bottom: 15px;
377
+ }
378
+
379
+ .chapter-name {
380
+ color: rgba(0, 0, 0, 1);
381
+ display: block;
382
+ font-family: Helvetica;
383
+ font-size: 2.8em;
384
+ font-weight: 100;
385
+ margin-bottom: 0;
386
+ padding: 15px 25px;
387
+ width: 63%;
388
+ margin-top: 21px;
389
+ }
390
+
391
+ .chapter a {
392
+ color: rgba(0, 136, 204, 1);
393
+ text-decoration: none;
394
+ }
395
+
396
+ h3.section-name:before {
397
+ display: block;
398
+ content: " ";
399
+ margin-top: -85px;
400
+ height: 85px;
401
+ visibility: hidden;
402
+ }
403
+
404
+ .section-name {
405
+ color: rgba(128, 128, 128, 1);
406
+ display: block;
407
+ font-family: Helvetica;
408
+ font-size: 2.2em;
409
+ font-weight: 100;
410
+ margin-bottom: 15px;
411
+ }
412
+
413
+ .copyright {
414
+ clear: both;
415
+ color: rgba(160, 160, 160, 1);
416
+ float: none;
417
+ margin: 70px 25px 10px 0;
418
+ }
419
+
420
+ .link {
421
+ color: rgba(0, 136, 204, 1);
422
+ text-decoration: none;
423
+ }
424
+
425
+ .item p {
426
+ margin: 0;
427
+ padding-bottom: 6px;
428
+ }
429
+
430
+ .book-parts {
431
+ background-color: rgba(249, 249, 249, 1);
432
+ border-top: 1px solid rgba(233, 233, 233, 1);
433
+ border-left: 1px solid rgba(233, 233, 233, 1);
434
+ border-right: 1px solid rgba(233, 233, 233, 1);
435
+ bottom: 0;
436
+ box-shadow: 0 0 1px rgba(0, 0, 0, .07);
437
+ overflow: auto;
438
+ -webkit-overflow-scrolling: touch;
439
+ position: fixed;
440
+ top: 70px;
441
+ width: 230px;
442
+ }
443
+
444
+ .nav-parts {
445
+ color: rgba(128, 128, 128, 1);
446
+ font-weight: 100;
447
+ line-height: 140%;
448
+ list-style-type: none;
449
+ margin: 0;
450
+ -webkit-padding-start: 0;
451
+ }
452
+
453
+ .part-name {
454
+ border-bottom: 1px solid rgba(233, 233, 233, 1);
455
+ font-family: Helvetica;
456
+ font-size: 1.6em;
457
+ line-height: 150%;
458
+ list-style-type: none;
459
+ margin: 0;
460
+ padding: 15px 30px 15px 20px;
461
+ cursor: pointer;
462
+ }
463
+
464
+ .nav-chapters {
465
+ font-weight: 400;
466
+ line-height: 110%;
467
+ list-style-position: outside;
468
+ list-style-type: none;
469
+ margin: 0;
470
+ margin-bottom: 10px;
471
+ padding: 0;
472
+ height: 0;
473
+ overflow: hidden;
474
+ -webkit-transition: height .3s ease-in-out;
475
+ -moz-transition: height .3s ease-in-out;
476
+ -o-transition: height .3s ease-in-out;
477
+ -ms-transition: height .3s ease-in-out;
478
+ transition: height .3s ease-in-out;
479
+ }
480
+
481
+ .nav-chapter {
482
+ font-size: .8em;
483
+ list-style-position: outside;
484
+ list-style-type: none;
485
+ margin: 0;
486
+ padding: 0 0 8px;
487
+ }
488
+
489
+ .nav-chapters .nav-chapter {
490
+ margin-left: 0;
491
+ }
492
+
493
+ .book-parts a {
494
+ color: rgba(128, 128, 128, 1);
495
+ display: block;
496
+ text-decoration: none;
497
+ margin-left: 24px;
498
+ }
499
+
500
+ .aside-title {
501
+ color: rgba(128, 128, 128, 1);
502
+ font-size: 9px;
503
+ letter-spacing: 2px;
504
+ margin-bottom: 8px;
505
+ text-transform: uppercase;
506
+ }
507
+
508
+ div.Swift {
509
+ padding: 4px 0 2px 10px;
510
+ margin: 10px 0 21px;
511
+ }
512
+
513
+ div.Swift {
514
+ border-left: 5px solid rgba(205, 233, 244, 1);
515
+ }
516
+
517
+ div.Swift .aside-title {
518
+ color: rgba(75, 138, 251, 1);
519
+ -webkit-user-select: none;
520
+ }
521
+
522
+ #footer {
523
+ font-size: 1.1em;
524
+ bottom: 0;
525
+ color: rgba(0, 136, 204, 1);
526
+ margin: 0 25px;
527
+ position: absolute;
528
+ width: 684px;
529
+ }
530
+
531
+ .graybox {
532
+ border: 1px solid rgba(233, 233, 233, 1);
533
+ border-collapse: collapse;
534
+ border-spacing: 0;
535
+ empty-cells: hide;
536
+ margin: 20px 0 36px;
537
+ text-align: left;
538
+ width: 100%;
539
+ }
540
+
541
+ .graybox p {
542
+ margin: 0;
543
+ word-break: break-word;
544
+ min-width: 50px;
545
+ }
546
+
547
+ td {
548
+ border: 1px solid rgba(233, 233, 233, 1);
549
+ padding: 5px 25px 5px 10px;
550
+ margin: 0;
551
+ vertical-align: middle;
552
+ max-width: 260px;
553
+ }
554
+
555
+ #reference .rubber-band-gap {
556
+ background: #fff;
557
+ height: 250px;
558
+ position: fixed;
559
+ width: 734px;
560
+ z-index: -1;
561
+ }