yard 0.7.5 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of yard might be problematic. Click here for more details.

Files changed (339) hide show
  1. data/.yardopts +10 -2
  2. data/ChangeLog +1263 -38
  3. data/LEGAL +5 -5
  4. data/LICENSE +1 -1
  5. data/README.md +91 -82
  6. data/Rakefile +6 -6
  7. data/benchmarks/builtins_vs_eval.rb +1 -1
  8. data/benchmarks/erb_vs_erubis.rb +4 -4
  9. data/benchmarks/generation.rb +5 -5
  10. data/benchmarks/parsing.rb +2 -2
  11. data/benchmarks/registry_store_types.rb +48 -0
  12. data/bin/yard +9 -1
  13. data/bin/yardoc +9 -1
  14. data/bin/yri +10 -2
  15. data/docs/CodeObjects.md +10 -10
  16. data/docs/GettingStarted.md +85 -83
  17. data/docs/Handlers.md +21 -21
  18. data/docs/Overview.md +7 -7
  19. data/docs/Parser.md +30 -30
  20. data/docs/Tags.md +250 -554
  21. data/docs/TagsArch.md +123 -0
  22. data/docs/Templates.md +58 -80
  23. data/docs/WhatsNew.md +378 -133
  24. data/docs/templates/default/fulldoc/html/full_list_tag.erb +7 -0
  25. data/docs/templates/default/fulldoc/html/setup.rb +6 -0
  26. data/docs/templates/default/layout/html/setup.rb +8 -0
  27. data/docs/templates/default/layout/html/tag_list.erb +11 -0
  28. data/docs/templates/default/yard_tags/html/list.erb +18 -0
  29. data/docs/templates/default/yard_tags/html/setup.rb +27 -0
  30. data/docs/templates/plugin.rb +65 -0
  31. data/lib/yard.rb +1 -10
  32. data/lib/yard/autoload.rb +75 -27
  33. data/lib/yard/cli/command.rb +5 -2
  34. data/lib/yard/cli/command_parser.rb +3 -2
  35. data/lib/yard/cli/diff.rb +1 -1
  36. data/lib/yard/cli/i18n.rb +69 -0
  37. data/lib/yard/cli/list.rb +1 -1
  38. data/lib/yard/cli/server.rb +30 -7
  39. data/lib/yard/cli/stats.rb +5 -6
  40. data/lib/yard/cli/yardoc.rb +95 -45
  41. data/lib/yard/cli/yri.rb +24 -3
  42. data/lib/yard/code_objects/base.rb +35 -4
  43. data/lib/yard/code_objects/extra_file_object.rb +1 -1
  44. data/lib/yard/code_objects/macro_object.rb +56 -99
  45. data/lib/yard/code_objects/method_object.rb +44 -6
  46. data/lib/yard/config.rb +18 -8
  47. data/lib/yard/core_ext/symbol_hash.rb +1 -1
  48. data/lib/yard/docstring.rb +45 -85
  49. data/lib/yard/docstring_parser.rb +269 -0
  50. data/lib/yard/handlers/base.rb +129 -118
  51. data/lib/yard/handlers/c/alias_handler.rb +15 -0
  52. data/lib/yard/handlers/c/attribute_handler.rb +13 -0
  53. data/lib/yard/handlers/c/base.rb +110 -0
  54. data/lib/yard/handlers/c/class_handler.rb +26 -0
  55. data/lib/yard/handlers/c/constant_handler.rb +12 -0
  56. data/lib/yard/handlers/c/handler_methods.rb +165 -0
  57. data/lib/yard/handlers/c/init_handler.rb +16 -0
  58. data/lib/yard/handlers/c/method_handler.rb +35 -0
  59. data/lib/yard/handlers/c/mixin_handler.rb +13 -0
  60. data/lib/yard/handlers/c/module_handler.rb +16 -0
  61. data/lib/yard/handlers/c/override_comment_handler.rb +22 -0
  62. data/lib/yard/handlers/c/path_handler.rb +10 -0
  63. data/lib/yard/handlers/c/struct_handler.rb +12 -0
  64. data/lib/yard/handlers/c/symbol_handler.rb +7 -0
  65. data/lib/yard/handlers/processor.rb +41 -30
  66. data/lib/yard/handlers/ruby/alias_handler.rb +0 -2
  67. data/lib/yard/handlers/ruby/attribute_handler.rb +16 -17
  68. data/lib/yard/handlers/ruby/base.rb +10 -6
  69. data/lib/yard/handlers/ruby/comment_handler.rb +9 -0
  70. data/lib/yard/handlers/ruby/dsl_handler.rb +14 -0
  71. data/lib/yard/handlers/ruby/dsl_handler_methods.rb +71 -0
  72. data/lib/yard/handlers/ruby/legacy/alias_handler.rb +0 -3
  73. data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +16 -17
  74. data/lib/yard/handlers/ruby/legacy/base.rb +28 -6
  75. data/lib/yard/handlers/ruby/legacy/comment_handler.rb +9 -0
  76. data/lib/yard/handlers/ruby/legacy/dsl_handler.rb +16 -0
  77. data/lib/yard/handlers/ruby/legacy/method_handler.rb +0 -2
  78. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +1 -1
  79. data/lib/yard/handlers/ruby/legacy/module_function_handler.rb +18 -0
  80. data/lib/yard/handlers/ruby/method_handler.rb +10 -15
  81. data/lib/yard/handlers/ruby/mixin_handler.rb +1 -1
  82. data/lib/yard/handlers/ruby/module_function_handler.rb +26 -0
  83. data/lib/yard/handlers/ruby/struct_handler_methods.rb +3 -2
  84. data/lib/yard/i18n/pot_generator.rb +281 -0
  85. data/lib/yard/i18n/text.rb +72 -0
  86. data/lib/yard/logging.rb +3 -7
  87. data/lib/yard/options.rb +216 -0
  88. data/lib/yard/parser/c/c_parser.rb +225 -0
  89. data/lib/yard/parser/c/comment_parser.rb +131 -0
  90. data/lib/yard/parser/c/statement.rb +63 -0
  91. data/lib/yard/parser/ruby/ast_node.rb +91 -1
  92. data/lib/yard/parser/ruby/legacy/ruby_parser.rb +1 -0
  93. data/lib/yard/parser/ruby/legacy/statement.rb +7 -2
  94. data/lib/yard/parser/ruby/legacy/statement_list.rb +13 -22
  95. data/lib/yard/parser/ruby/ruby_parser.rb +87 -26
  96. data/lib/yard/parser/source_parser.rb +89 -88
  97. data/lib/yard/rake/yardoc_task.rb +1 -1
  98. data/lib/yard/registry.rb +21 -10
  99. data/lib/yard/registry_store.rb +48 -0
  100. data/lib/yard/serializers/file_system_serializer.rb +18 -20
  101. data/lib/yard/serializers/yardoc_serializer.rb +1 -0
  102. data/lib/yard/server/adapter.rb +2 -2
  103. data/lib/yard/server/commands/base.rb +1 -1
  104. data/lib/yard/server/commands/display_object_command.rb +13 -6
  105. data/lib/yard/server/commands/frames_command.rb +4 -21
  106. data/lib/yard/server/commands/library_command.rb +57 -11
  107. data/lib/yard/server/commands/list_command.rb +10 -34
  108. data/lib/yard/server/commands/search_command.rb +8 -2
  109. data/lib/yard/server/doc_server_helper.rb +34 -0
  110. data/lib/yard/server/rack_adapter.rb +5 -1
  111. data/lib/yard/server/router.rb +4 -10
  112. data/lib/yard/server/static_caching.rb +2 -2
  113. data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +2 -2
  114. data/lib/yard/server/templates/default/fulldoc/html/js/live.js +0 -15
  115. data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +3 -3
  116. data/lib/yard/server/templates/default/layout/html/script_setup.erb +8 -0
  117. data/lib/yard/server/templates/doc_server/processing/html/processing.erb +1 -1
  118. data/lib/yard/server/templates/doc_server/search/html/setup.rb +1 -1
  119. data/lib/yard/tags/default_factory.rb +31 -4
  120. data/lib/yard/tags/directives.rb +593 -0
  121. data/lib/yard/tags/library.rb +437 -35
  122. data/lib/yard/templates/engine.rb +17 -12
  123. data/lib/yard/templates/helpers/base_helper.rb +8 -2
  124. data/lib/yard/templates/helpers/html_helper.rb +57 -14
  125. data/lib/yard/templates/helpers/markup/rdoc_markup.rb +1 -1
  126. data/lib/yard/templates/helpers/markup_helper.rb +9 -9
  127. data/lib/yard/templates/helpers/text_helper.rb +2 -2
  128. data/lib/yard/templates/template.rb +42 -13
  129. data/lib/yard/templates/template_options.rb +81 -0
  130. data/spec/cli/command_parser_spec.rb +4 -4
  131. data/spec/cli/command_spec.rb +3 -3
  132. data/spec/cli/config_spec.rb +13 -13
  133. data/spec/cli/diff_spec.rb +13 -10
  134. data/spec/cli/gems_spec.rb +12 -12
  135. data/spec/cli/help_spec.rb +2 -2
  136. data/spec/cli/i18n_spec.rb +111 -0
  137. data/spec/cli/server_spec.rb +66 -18
  138. data/spec/cli/stats_spec.rb +15 -15
  139. data/spec/cli/yardoc_spec.rb +124 -97
  140. data/spec/cli/yri_spec.rb +14 -12
  141. data/spec/code_objects/base_spec.rb +104 -46
  142. data/spec/code_objects/class_object_spec.rb +33 -33
  143. data/spec/code_objects/code_object_list_spec.rb +5 -5
  144. data/spec/code_objects/constants_spec.rb +4 -3
  145. data/spec/code_objects/extra_file_object_spec.rb +19 -19
  146. data/spec/code_objects/macro_object_spec.rb +31 -37
  147. data/spec/code_objects/method_object_spec.rb +46 -23
  148. data/spec/code_objects/module_object_spec.rb +16 -16
  149. data/spec/code_objects/namespace_object_spec.rb +6 -6
  150. data/spec/code_objects/proxy_spec.rb +19 -19
  151. data/spec/config_spec.rb +33 -24
  152. data/spec/core_ext/array_spec.rb +1 -1
  153. data/spec/core_ext/file_spec.rb +8 -8
  154. data/spec/core_ext/hash_spec.rb +1 -1
  155. data/spec/core_ext/insertion_spec.rb +3 -3
  156. data/spec/core_ext/module_spec.rb +1 -1
  157. data/spec/core_ext/string_spec.rb +6 -6
  158. data/spec/core_ext/symbol_hash_spec.rb +11 -11
  159. data/spec/docstring_parser_spec.rb +207 -0
  160. data/spec/docstring_spec.rb +33 -146
  161. data/spec/handlers/alias_handler_spec.rb +14 -14
  162. data/spec/handlers/attribute_handler_spec.rb +20 -20
  163. data/spec/handlers/base_spec.rb +16 -16
  164. data/spec/handlers/c/alias_handler_spec.rb +33 -0
  165. data/spec/handlers/c/attribute_handler_spec.rb +40 -0
  166. data/spec/handlers/c/class_handler_spec.rb +64 -0
  167. data/spec/handlers/c/constant_handler_spec.rb +68 -0
  168. data/spec/handlers/c/init_handler_spec.rb +36 -0
  169. data/spec/handlers/c/method_handler_spec.rb +228 -0
  170. data/spec/handlers/c/mixin_handler_spec.rb +27 -0
  171. data/spec/handlers/c/module_handler_spec.rb +38 -0
  172. data/spec/handlers/c/override_comment_handler_spec.rb +43 -0
  173. data/spec/handlers/c/path_handler_spec.rb +35 -0
  174. data/spec/handlers/c/spec_helper.rb +11 -0
  175. data/spec/handlers/c/struct_handler_spec.rb +15 -0
  176. data/spec/handlers/class_condition_handler_spec.rb +10 -10
  177. data/spec/handlers/class_handler_spec.rb +38 -38
  178. data/spec/handlers/class_variable_handler_spec.rb +1 -1
  179. data/spec/handlers/constant_handler_spec.rb +7 -7
  180. data/spec/handlers/{macro_handler_spec.rb → dsl_handler_spec.rb} +72 -53
  181. data/spec/handlers/examples/alias_handler_001.rb.txt +5 -5
  182. data/spec/handlers/examples/class_condition_handler_001.rb.txt +9 -9
  183. data/spec/handlers/examples/class_handler_001.rb.txt +1 -1
  184. data/spec/handlers/examples/dsl_handler_001.rb.txt +110 -0
  185. data/spec/handlers/examples/exception_handler_001.rb.txt +14 -14
  186. data/spec/handlers/examples/method_condition_handler_001.rb.txt +2 -2
  187. data/spec/handlers/examples/method_handler_001.rb.txt +16 -16
  188. data/spec/handlers/examples/mixin_handler_001.rb.txt +8 -4
  189. data/spec/handlers/examples/private_constant_handler_001.rb.txt +1 -1
  190. data/spec/handlers/examples/visibility_handler_001.rb.txt +3 -3
  191. data/spec/handlers/examples/yield_handler_001.rb.txt +13 -14
  192. data/spec/handlers/exception_handler_spec.rb +9 -9
  193. data/spec/handlers/extend_handler_spec.rb +2 -2
  194. data/spec/handlers/legacy_base_spec.rb +34 -34
  195. data/spec/handlers/method_condition_handler_spec.rb +2 -2
  196. data/spec/handlers/method_handler_spec.rb +33 -33
  197. data/spec/handlers/mixin_handler_spec.rb +13 -9
  198. data/spec/handlers/module_function_handler_spec.rb +82 -0
  199. data/spec/handlers/module_handler_spec.rb +6 -6
  200. data/spec/handlers/private_constant_handler_spec.rb +3 -3
  201. data/spec/handlers/processor_spec.rb +5 -5
  202. data/spec/handlers/ruby/base_spec.rb +10 -6
  203. data/spec/handlers/ruby/legacy/base_spec.rb +11 -7
  204. data/spec/handlers/spec_helper.rb +2 -3
  205. data/spec/handlers/visibility_handler_spec.rb +6 -6
  206. data/spec/handlers/yield_handler_spec.rb +8 -8
  207. data/spec/i18n/pot_generator_spec.rb +244 -0
  208. data/spec/i18n/text_spec.rb +69 -0
  209. data/spec/options_spec.rb +160 -0
  210. data/spec/parser/base_spec.rb +3 -3
  211. data/spec/parser/c_parser_spec.rb +31 -257
  212. data/spec/parser/examples/array.c.txt +187 -187
  213. data/spec/parser/examples/extrafile.c.txt +1 -1
  214. data/spec/parser/examples/override.c.txt +1 -1
  215. data/spec/parser/ruby/ast_node_spec.rb +1 -1
  216. data/spec/parser/ruby/legacy/statement_list_spec.rb +24 -24
  217. data/spec/parser/ruby/legacy/token_list_spec.rb +7 -7
  218. data/spec/parser/ruby/ruby_parser_spec.rb +56 -34
  219. data/spec/parser/source_parser_spec.rb +125 -65
  220. data/spec/parser/tag_parsing_spec.rb +4 -4
  221. data/spec/rake/yardoc_task_spec.rb +10 -8
  222. data/spec/registry_spec.rb +65 -36
  223. data/spec/registry_store_spec.rb +90 -40
  224. data/spec/serializers/file_system_serializer_spec.rb +12 -12
  225. data/spec/serializers/yardoc_serializer_spec.rb +2 -2
  226. data/spec/server/adapter_spec.rb +3 -3
  227. data/spec/server/commands/base_spec.rb +8 -8
  228. data/spec/server/commands/library_command_spec.rb +3 -3
  229. data/spec/server/commands/static_file_command_spec.rb +7 -7
  230. data/spec/server/doc_server_helper_spec.rb +1 -1
  231. data/spec/server/doc_server_serializer_spec.rb +6 -6
  232. data/spec/server/rack_adapter_spec.rb +3 -3
  233. data/spec/server/router_spec.rb +19 -19
  234. data/spec/server/static_caching_spec.rb +4 -4
  235. data/spec/spec_helper.rb +7 -7
  236. data/spec/tags/default_factory_spec.rb +24 -16
  237. data/spec/tags/directives_spec.rb +422 -0
  238. data/spec/tags/library_spec.rb +15 -4
  239. data/spec/tags/overload_tag_spec.rb +6 -6
  240. data/spec/tags/ref_tag_list_spec.rb +8 -8
  241. data/spec/templates/class_spec.rb +7 -7
  242. data/spec/templates/constant_spec.rb +7 -7
  243. data/spec/templates/engine_spec.rb +28 -36
  244. data/spec/templates/examples/class001.html +108 -108
  245. data/spec/templates/examples/class002.html +17 -17
  246. data/spec/templates/examples/constant001.txt +1 -1
  247. data/spec/templates/examples/method001.html +45 -45
  248. data/spec/templates/examples/method002.html +25 -25
  249. data/spec/templates/examples/method003.html +60 -60
  250. data/spec/templates/examples/method004.html +7 -7
  251. data/spec/templates/examples/method005.html +28 -28
  252. data/spec/templates/examples/module001.html +321 -321
  253. data/spec/templates/examples/module001.txt +1 -1
  254. data/spec/templates/examples/module002.html +130 -130
  255. data/spec/templates/examples/module003.html +74 -74
  256. data/spec/templates/examples/module004.html +388 -0
  257. data/spec/templates/helpers/base_helper_spec.rb +32 -32
  258. data/spec/templates/helpers/html_helper_spec.rb +87 -68
  259. data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +9 -9
  260. data/spec/templates/helpers/markup/rdoc_markup_spec.rb +16 -16
  261. data/spec/templates/helpers/markup_helper_spec.rb +31 -28
  262. data/spec/templates/helpers/method_helper_spec.rb +7 -7
  263. data/spec/templates/helpers/shared_signature_examples.rb +9 -7
  264. data/spec/templates/helpers/text_helper_spec.rb +3 -3
  265. data/spec/templates/method_spec.rb +13 -13
  266. data/spec/templates/module_spec.rb +70 -24
  267. data/spec/templates/onefile_spec.rb +32 -15
  268. data/spec/templates/section_spec.rb +23 -23
  269. data/spec/templates/spec_helper.rb +31 -1
  270. data/spec/templates/tag_spec.rb +5 -5
  271. data/spec/templates/template_spec.rb +54 -46
  272. data/spec/verifier_spec.rb +5 -5
  273. data/templates/default/class/setup.rb +2 -2
  274. data/templates/default/docstring/html/abstract.erb +1 -1
  275. data/templates/default/docstring/html/note.erb +1 -1
  276. data/templates/default/docstring/html/private.erb +1 -1
  277. data/templates/default/docstring/html/todo.erb +1 -1
  278. data/templates/default/docstring/setup.rb +2 -2
  279. data/templates/default/fulldoc/html/css/full_list.css +4 -2
  280. data/templates/default/fulldoc/html/css/style.css +50 -44
  281. data/templates/default/fulldoc/html/frames.erb +21 -6
  282. data/templates/default/fulldoc/html/full_list.erb +5 -3
  283. data/templates/default/fulldoc/html/{full_list_files.erb → full_list_file.erb} +0 -0
  284. data/templates/default/fulldoc/html/js/app.js +29 -26
  285. data/templates/default/fulldoc/html/js/full_list.js +9 -9
  286. data/templates/default/fulldoc/html/js/jquery.js +4 -16
  287. data/templates/default/fulldoc/html/setup.rb +42 -38
  288. data/templates/default/layout/dot/header.erb +1 -1
  289. data/templates/default/layout/html/breadcrumb.erb +6 -6
  290. data/templates/default/layout/html/files.erb +1 -1
  291. data/templates/default/layout/html/footer.erb +1 -1
  292. data/templates/default/layout/html/headers.erb +3 -6
  293. data/templates/default/layout/html/index.erb +1 -1
  294. data/templates/default/layout/html/layout.erb +3 -7
  295. data/templates/default/layout/html/objects.erb +1 -1
  296. data/templates/default/layout/html/script_setup.erb +5 -0
  297. data/templates/default/layout/html/search.erb +4 -1
  298. data/templates/default/layout/html/setup.rb +8 -8
  299. data/templates/default/method_details/html/method_signature.erb +10 -3
  300. data/templates/default/method_details/setup.rb +1 -0
  301. data/templates/default/module/dot/info.erb +1 -1
  302. data/templates/default/module/dot/setup.rb +2 -2
  303. data/templates/default/module/html/attribute_details.erb +1 -1
  304. data/templates/default/module/html/children.erb +1 -1
  305. data/templates/default/module/html/defines.erb +1 -1
  306. data/templates/default/module/html/inherited_methods.erb +5 -4
  307. data/templates/default/module/html/item_summary.erb +15 -5
  308. data/templates/default/module/html/method_details_list.erb +2 -2
  309. data/templates/default/module/setup.rb +25 -12
  310. data/templates/default/module/text/setup.rb +1 -1
  311. data/templates/default/onefile/html/layout.erb +1 -1
  312. data/templates/default/onefile/html/setup.rb +2 -2
  313. data/templates/default/tags/html/example.erb +4 -2
  314. data/templates/default/tags/html/option.erb +1 -1
  315. data/templates/default/tags/html/overload.erb +1 -1
  316. data/templates/default/tags/html/see.erb +1 -1
  317. data/templates/default/tags/html/tag.erb +1 -1
  318. data/templates/default/tags/setup.rb +4 -3
  319. data/templates/guide/fulldoc/html/css/style.css +8 -8
  320. data/templates/guide/fulldoc/html/js/app.js +6 -6
  321. data/templates/guide/fulldoc/html/setup.rb +12 -12
  322. data/templates/guide/layout/html/layout.erb +11 -11
  323. data/templates/guide/layout/html/setup.rb +9 -9
  324. data/templates/guide/method/html/header.erb +2 -2
  325. data/templates/guide/method/html/setup.rb +1 -1
  326. metadata +68 -18
  327. data/bin/yard-graph +0 -4
  328. data/bin/yard-server +0 -4
  329. data/docs/Glossary.md +0 -12
  330. data/lib/yard/handlers/ruby/legacy/macro_handler.rb +0 -39
  331. data/lib/yard/handlers/ruby/macro_handler.rb +0 -40
  332. data/lib/yard/handlers/ruby/macro_handler_methods.rb +0 -131
  333. data/lib/yard/parser/c_parser.rb +0 -497
  334. data/lib/yard/server/templates/default/layout/html/headers.erb +0 -16
  335. data/lib/yard/server/templates/doc_server/frames/html/frames.erb +0 -13
  336. data/lib/yard/server/templates/doc_server/frames/html/setup.rb +0 -3
  337. data/lib/yard/server/templates/doc_server/full_list/html/full_list.erb +0 -34
  338. data/lib/yard/server/templates/doc_server/full_list/html/setup.rb +0 -20
  339. data/spec/handlers/examples/macro_handler_001.rb.txt +0 -83
@@ -32,7 +32,7 @@ describe YARD::Verifier do
32
32
  Verifier.new('@return', '@param').call(obj).should == false
33
33
  end
34
34
  end
35
-
35
+
36
36
  describe '#o' do
37
37
  it "should alias object to o" do
38
38
  obj = mock(:object)
@@ -47,17 +47,17 @@ describe YARD::Verifier do
47
47
  obj.should_receive(:tag).and_return(nil)
48
48
  Verifier.new('@return.text').call(obj).should == false
49
49
  end
50
-
50
+
51
51
  it "should not fail if no expressions were added" do
52
52
  lambda { Verifier.new.call(nil) }.should_not raise_error
53
53
  end
54
-
54
+
55
55
  it "should always ignore proxy objects and return true" do
56
56
  v = Verifier.new('tag(:x)')
57
57
  lambda { v.call(P('foo')).should == true }.should_not raise_error
58
58
  end
59
59
  end
60
-
60
+
61
61
  describe '#expressions' do
62
62
  it "should maintain a list of all unparsed expressions" do
63
63
  Verifier.new('@return.text', '@private').expressions.should == ['@return.text', '@private']
@@ -73,7 +73,7 @@ describe YARD::Verifier do
73
73
  v.call(obj)
74
74
  end
75
75
  end
76
-
76
+
77
77
  describe '#add_expressions' do
78
78
  it "should add new expressions and recompile" do
79
79
  obj = mock(:object)
@@ -18,11 +18,11 @@ def subclasses
18
18
  unless globals.subclasses
19
19
  globals.subclasses = {}
20
20
  list = run_verifier Registry.all(:class)
21
- list.each do |o|
21
+ list.each do |o|
22
22
  (globals.subclasses[o.superclass.path] ||= []) << o if o.superclass
23
23
  end
24
24
  end
25
-
25
+
26
26
  @subclasses = globals.subclasses[object.path]
27
27
  return if @subclasses.nil? || @subclasses.empty?
28
28
  @subclasses = @subclasses.sort_by {|o| o.path }.map do |child|
@@ -1,4 +1,4 @@
1
1
  <div class="note abstract">
2
- <strong>This <%= object.type %> is abstract.</strong>
2
+ <strong>This <%= object.type %> is abstract.</strong>
3
3
  <%= htmlify_line object.tag(:abstract).text %>
4
4
  </div>
@@ -1,6 +1,6 @@
1
1
  <% object.tags(:note).each do |tag| %>
2
2
  <div class="note notetag">
3
- <strong>Note:</strong>
3
+ <strong>Note:</strong>
4
4
  <%= htmlify_line tag.text %>
5
5
  </div>
6
6
  <% end %>
@@ -1,4 +1,4 @@
1
1
  <p class="note private">
2
- <strong>This <%= object.type %> is part of a private API.</strong>
2
+ <strong>This <%= object.type %> is part of a private API.</strong>
3
3
  You should avoid using this <%= object.type %> if possible, as it may be removed or be changed in the future.
4
4
  </p>
@@ -1,6 +1,6 @@
1
1
  <% object.tags(:todo).each do |tag| %>
2
2
  <div class="note todo">
3
- <strong>TODO:</strong>
3
+ <strong>TODO:</strong>
4
4
  <%= htmlify_line tag.text %>
5
5
  </div>
6
6
  <% end %>
@@ -40,10 +40,10 @@ def docstring_text
40
40
  unless object.tags(:overload).size == 1 && object.docstring.empty?
41
41
  text = object.docstring
42
42
  end
43
-
43
+
44
44
  if text.strip.empty? && object.tags(:return).size == 1 && object.tag(:return).text
45
45
  text = object.tag(:return).text.gsub(/\A([a-z])/) {|x| x.upcase }
46
46
  end
47
-
47
+
48
48
  text.strip
49
49
  end
@@ -1,6 +1,6 @@
1
- body {
1
+ body {
2
2
  margin: 0;
3
- font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
3
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
4
4
  font-size: 13px;
5
5
  height: 101%;
6
6
  overflow-x: hidden;
@@ -37,6 +37,8 @@ li.collapsed.clicked a.toggle { background-position: top right; }
37
37
  #nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
38
38
  #nav a:link, #nav a:visited { color: #358; }
39
39
  #nav a:hover { background: transparent; color: #5af; }
40
+ .frames #nav span:after { content: ' | '; }
41
+ .frames #nav span:last-child:after { content: ''; }
40
42
 
41
43
  .frames #content h1 { margin-top: 0; }
42
44
  .frames li { white-space: nowrap; cursor: normal; }
@@ -1,6 +1,6 @@
1
- body {
1
+ body {
2
2
  padding: 0 20px;
3
- font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
3
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
4
4
  font-size: 13px;
5
5
  }
6
6
  body.frames { padding: 0 5px; }
@@ -8,7 +8,7 @@ h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dot
8
8
  h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
9
9
  h1.title { margin-bottom: 10px; }
10
10
  h1.alphaindex { margin-top: 0; font-size: 22px; }
11
- h2 {
11
+ h2 {
12
12
  padding: 0;
13
13
  padding-bottom: 3px;
14
14
  border-bottom: 1px #aaa solid;
@@ -36,9 +36,9 @@ h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right;
36
36
  #filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; }
37
37
  #filecontents dd > p, .docstring dd > p { margin: 0px; }
38
38
 
39
- .note {
39
+ .note {
40
40
  color: #222;
41
- -moz-border-radius: 3px; -webkit-border-radius: 3px;
41
+ -moz-border-radius: 3px; -webkit-border-radius: 3px;
42
42
  background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px;
43
43
  display: block;
44
44
  }
@@ -46,13 +46,14 @@ h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right;
46
46
  .note.returns_void { background: #efefef; }
47
47
  .note.deprecated { background: #ffe5e5; border-color: #e9dada; }
48
48
  .note.private { background: #ffffc5; border-color: #ececaa; }
49
- .note.title { text-transform: lowercase; padding: 1px 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
49
+ .note.title { padding: 1px 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
50
50
  .summary_signature + .note.title { margin-left: 7px; }
51
51
  h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
52
- .note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
53
- .note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
54
- .note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
52
+ .note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
53
+ .note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
54
+ .note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
55
55
  .note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
56
+ .note.title.not_defined_here { background: transparent; border: none; font-style: italic; }
56
57
  .discussion .note { margin-top: 6px; }
57
58
  .discussion .note:first-child { margin-top: 0; }
58
59
 
@@ -106,10 +107,8 @@ p.inherited {
106
107
  #filecontents dl.box .r1, dl.box .r1 { background: #eee; }
107
108
 
108
109
  ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
109
- #files { padding-left: 15px; font-size: 1.1em; }
110
-
111
- #files { padding: 0; }
112
- #files li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
110
+ .index_inline_list { padding-left: 0; font-size: 1.1em; }
111
+ .index_inline_list li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
113
112
 
114
113
  dl.constants { margin-left: 40px; }
115
114
  dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
@@ -125,29 +124,36 @@ dl.constants .discussion *:last-child { margin-bottom: 0; }
125
124
 
126
125
  .method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; }
127
126
  .method_details.first { border: 0; }
128
- p.signature {
129
- font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
130
- padding: 6px 10px; margin-top: 18px;
127
+ p.signature, h3.signature {
128
+ font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
129
+ padding: 6px 10px; margin-top: 18px;
131
130
  background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
132
131
  }
133
- p.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
134
- p.signature .overload { display: block; }
135
- p.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
136
- p.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
137
- p.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
132
+ p.signature tt,
133
+ h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
134
+ p.signature .overload,
135
+ h3.signature .overload { display: block; }
136
+ p.signature .extras,
137
+ h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
138
+ p.signature .not_defined_here,
139
+ h3.signature .not_defined_here,
140
+ p.signature .aliases,
141
+ h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
142
+ p.signature .aliases .names,
143
+ h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
138
144
 
139
- .tags h3 { font-size: 1em; margin-bottom: 0; }
145
+ .tags .tag_title { font-size: 1em; margin-bottom: 0; font-weight: bold; }
140
146
  .tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
141
147
  .tags ul li { margin-bottom: 3px; }
142
148
  .tags ul .name { font-family: monospace; font-weight: bold; }
143
149
  .tags ul .note { padding: 3px 6px; }
144
150
  .tags { margin-bottom: 12px; }
145
151
 
146
- .tags .examples h3 { margin-bottom: 10px; }
147
- .tags .examples h4 { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
152
+ .tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; }
153
+ .tags .examples .inline p { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
148
154
 
149
155
  .tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
150
- .tags .overload .overload_item .signature {
156
+ .tags .overload .overload_item .signature {
151
157
  padding: 2px 8px;
152
158
  background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
153
159
  }
@@ -171,19 +177,19 @@ ul.summary {
171
177
  font-size: 1em;
172
178
  line-height: 1.5em;
173
179
  }
174
- ul.summary a:link, ul.summary a:visited {
180
+ ul.summary a:link, ul.summary a:visited {
175
181
  text-decoration: none; font-size: 1.1em;
176
182
  }
177
183
  ul.summary li { margin-bottom: 5px; }
178
- .summary .summary_signature {
184
+ .summary .summary_signature {
179
185
  padding: 1px 10px;
180
186
  background: #eaeaff; border: 1px solid #dfdfe5;
181
- -moz-border-radius: 3px; -webkit-border-radius: 3px;
187
+ -moz-border-radius: 3px; -webkit-border-radius: 3px;
182
188
  }
183
189
  .summary_signature:hover { background: #eeeeff; cursor: pointer; }
184
190
  ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;}
185
191
  ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
186
- #content .summary_signature:hover a:link,
192
+ #content .summary_signature:hover a:link,
187
193
  #content .summary_signature:hover a:visited {
188
194
  background: transparent;
189
195
  color: #48f;
@@ -206,18 +212,18 @@ ul.fullTree li:last-child { padding-bottom: 0; }
206
212
  .showAll .inheritName { display: none; }
207
213
 
208
214
  #search { position: absolute; right: 14px; top: 0px; }
209
- #search a:link, #search a:visited {
215
+ #search a:link, #search a:visited {
210
216
  display: block; float: left; margin-right: 4px;
211
217
  padding: 8px 10px; text-decoration: none; color: #05a;
212
218
  border: 1px solid #d8d8e5;
213
- -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px;
219
+ -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px;
214
220
  -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px;
215
221
  background: #eaf0ff;
216
222
  -webkit-box-shadow: -1px 1px 3px #ddd;
217
223
  }
218
224
  #search a:hover { background: #f5faff; color: #06b; }
219
- #search a.active {
220
- background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457;
225
+ #search a.active {
226
+ background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457;
221
227
  -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
222
228
  -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
223
229
  }
@@ -231,7 +237,7 @@ ul.fullTree li:last-child { padding-bottom: 0; }
231
237
  #menu .title { color: #555; }
232
238
  #menu a:link, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
233
239
  #menu a:hover { color: #05a; }
234
- #menu .noframes { display: none; }
240
+ #menu .noframes { display: inline; }
235
241
  .frames #menu .noframes { display: inline; float: right; }
236
242
 
237
243
  #footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
@@ -251,8 +257,8 @@ li.r2 { background: #fafafa; }
251
257
  z-index: 9999;
252
258
  background: #fff;
253
259
  display: none;
254
- position: absolute;
255
- top: 36px;
260
+ position: absolute;
261
+ top: 36px;
256
262
  right: 18px;
257
263
  width: 500px;
258
264
  height: 80%;
@@ -268,7 +274,7 @@ li.r2 { background: #fafafa; }
268
274
  #content ul.summary li.deprecated .summary_signature a:link,
269
275
  #content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; }
270
276
 
271
- #toc {
277
+ #toc {
272
278
  padding: 20px; padding-right: 30px; border: 1px solid #ddd; float: right; background: #fff; margin-left: 20px; margin-bottom: 20px;
273
279
  max-width: 300px;
274
280
  -webkit-box-shadow: -2px 2px 6px #bbb;
@@ -293,7 +299,7 @@ li.r2 { background: #fafafa; }
293
299
  #filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
294
300
  #filecontents pre.code, .docstring pre.code { display: block; }
295
301
  .source_code .lines { padding-right: 12px; color: #555; text-align: right; }
296
- #filecontents pre.code, .docstring pre.code,
302
+ #filecontents pre.code, .docstring pre.code,
297
303
  .tags pre.example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; }
298
304
  pre.code { color: #000; }
299
305
  pre.code .info.file { color: #555; }
@@ -302,21 +308,21 @@ pre.code .tstring_content,
302
308
  pre.code .heredoc_beg, pre.code .heredoc_end,
303
309
  pre.code .qwords_beg, pre.code .qwords_end,
304
310
  pre.code .tstring, pre.code .dstring { color: #036A07; }
305
- pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
306
- pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
311
+ pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
312
+ pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
307
313
  pre.code .dot + pre.code .id,
308
314
  pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
309
315
  pre.code .comment { color: #0066FF; }
310
316
  pre.code .const, pre.code .constant { color: #585CF6; }
311
317
  pre.code .symbol { color: #C5060B; }
312
- pre.code .kw,
318
+ pre.code .kw,
313
319
  pre.code .label,
314
- pre.code .rubyid_require,
320
+ pre.code .rubyid_require,
315
321
  pre.code .rubyid_extend,
316
322
  pre.code .rubyid_include { color: #0000FF; }
317
323
  pre.code .ivar { color: #318495; }
318
- pre.code .gvar,
319
- pre.code .rubyid_backref,
324
+ pre.code .gvar,
325
+ pre.code .rubyid_backref,
320
326
  pre.code .rubyid_nth_ref { color: #6D79DE; }
321
327
  pre.code .regexp, .dregexp { color: #036A07; }
322
328
  pre.code a { border-bottom: 1px dotted #bbf; }
@@ -3,11 +3,26 @@
3
3
 
4
4
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
5
  <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=<%= charset %>"/>
7
- <title><%= options[:title] %></title>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
+ <title><%= options.title %></title>
8
8
  </head>
9
- <frameset cols="20%,*">
10
- <frame name="list" src="class_list.html" />
11
- <frame name="main" src="index.html" />
12
- </frameset>
9
+ <script type="text/javascript" charset="utf-8">
10
+ window.onload = function() {
11
+ var match = window.location.hash.match(/^#!(.+)/);
12
+ var name = '<%= url_for_main %>';
13
+ if (match) {
14
+ name = unescape(match[1]);
15
+ }
16
+ document.writeln('<frameset cols="20%,*">' +
17
+ '<frame name="list" src="<%= url_for_list('class') %>" />' +
18
+ '<frame name="main" src="' + name + '" />' +
19
+ '</frameset>');
20
+ }
21
+ </script>
22
+ <noscript>
23
+ <frameset cols="20%,*">
24
+ <frame name="list" src="<%= url_for_list('class') %>" />
25
+ <frame name="main" src="<%= url_for_main %>" />
26
+ </frameset>
27
+ </noscript>
13
28
  </html>
@@ -6,11 +6,11 @@
6
6
  <% stylesheets_full_list.each do |stylesheet| %>
7
7
  <link rel="stylesheet" href="<%= url_for(stylesheet) %>" type="text/css" media="screen" charset="utf-8" />
8
8
  <% end %>
9
-
9
+
10
10
  <% javascripts_full_list.each do |javascript| %>
11
11
  <script type="text/javascript" charset="utf-8" src="<%= url_for(javascript) %>"></script>
12
12
  <% end %>
13
-
13
+
14
14
  <base id="base_target" target="_parent" />
15
15
  </head>
16
16
  <body>
@@ -24,7 +24,9 @@
24
24
  <h1 id="full_list_header"><%= @list_title %></h1>
25
25
  <div id="nav">
26
26
  <% menu_lists.each do |list| %>
27
- <a target="_self" href="<%= list[:type] %>_list.html"><%= list[:title] %></a>
27
+ <span><a target="_self" href="<%= url_for_list list[:type] %>">
28
+ <%= list[:title] %>
29
+ </a></span>
28
30
  <% end %>
29
31
  </div>
30
32
  <div id="search">Search: <input type="text" /></div>
@@ -44,21 +44,14 @@ function createFullTreeLinks() {
44
44
 
45
45
  function fixBoxInfoHeights() {
46
46
  $('dl.box dd.r1, dl.box dd.r2').each(function() {
47
- $(this).prev().height($(this).height());
47
+ $(this).prev().height($(this).height());
48
48
  });
49
49
  }
50
50
 
51
51
  function searchFrameLinks() {
52
- $('#method_list_link').click(function() {
53
- toggleSearchFrame(this, relpath + 'method_list.html');
54
- });
55
-
56
- $('#class_list_link').click(function() {
57
- toggleSearchFrame(this, relpath + 'class_list.html');
58
- });
59
-
60
- $('#file_list_link').click(function() {
61
- toggleSearchFrame(this, relpath + 'file_list.html');
52
+ $('.full_list_link').click(function() {
53
+ toggleSearchFrame(this, $(this).attr('href'));
54
+ return false;
62
55
  });
63
56
  }
64
57
 
@@ -82,10 +75,13 @@ function linkSummaries() {
82
75
  }
83
76
 
84
77
  function framesInit() {
85
- if (window.top.frames.main) {
78
+ if (hasFrames) {
86
79
  document.body.className = 'frames';
87
80
  $('#menu .noframes a').attr('href', document.location);
88
- $('html head title', window.parent.document).text($('html head title').text());
81
+ window.top.document.title = $('html head title').text();
82
+ }
83
+ else {
84
+ $('#menu .noframes a').text('frames').attr('href', framesUrl);
89
85
  }
90
86
  }
91
87
 
@@ -113,7 +109,7 @@ function summaryToggle() {
113
109
  if (next.hasClass('compact')) {
114
110
  next.toggle();
115
111
  next.nextAll('ul.summary').first().toggle();
116
- }
112
+ }
117
113
  else if (next.hasClass('summary')) {
118
114
  var list = $('<ul class="summary compact" />');
119
115
  list.html(next.html());
@@ -151,30 +147,37 @@ function generateTOC() {
151
147
  for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
152
148
  var lastTag = parseInt(tags[0][1], 10);
153
149
  $(tags.join(', ')).each(function() {
150
+ if ($(this).parents('.method_details .docstring').length != 0) return;
154
151
  if (this.id == "filecontents") return;
155
152
  show = true;
156
153
  var thisTag = parseInt(this.tagName[1], 10);
157
154
  if (this.id.length === 0) {
158
- var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
159
- if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
160
- this.id = proposedId;
155
+ var proposedId = $(this).attr('toc-id');
156
+ if (typeof(proposedId) != "undefined") this.id = proposedId;
157
+ else {
158
+ var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
159
+ if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
160
+ this.id = proposedId;
161
+ }
161
162
  }
162
- if (thisTag > lastTag) {
163
- for (i = 0; i < thisTag - lastTag; i++) {
164
- var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
165
- }
163
+ if (thisTag > lastTag) {
164
+ for (i = 0; i < thisTag - lastTag; i++) {
165
+ var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
166
+ }
166
167
  }
167
- if (thisTag < lastTag) {
168
- for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
168
+ if (thisTag < lastTag) {
169
+ for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
169
170
  }
170
- toc.append('<li><a href="#' + this.id + '">' + $(this).text() + '</a></li>');
171
+ var title = $(this).attr('toc-title');
172
+ if (typeof(title) == "undefined") title = $(this).text();
173
+ toc.append('<li><a href="#' + this.id + '">' + title + '</a></li>');
171
174
  lastTag = thisTag;
172
175
  });
173
176
  if (!show) return;
174
177
  html = '<div id="toc"><p class="title"><a class="hide_toc" href="#"><strong>Table of Contents</strong></a> <small>(<a href="#" class="float_toc">left</a>)</small></p></div>';
175
178
  $('#content').prepend(html);
176
179
  $('#toc').append(_toc);
177
- $('#toc .hide_toc').toggle(function() {
180
+ $('#toc .hide_toc').toggle(function() {
178
181
  $('#toc .top').slideUp('fast');
179
182
  $('#toc').toggleClass('hidden');
180
183
  $('#toc .title small').toggle();
@@ -183,7 +186,7 @@ function generateTOC() {
183
186
  $('#toc').toggleClass('hidden');
184
187
  $('#toc .title small').toggle();
185
188
  });
186
- $('#toc .float_toc').toggle(function() {
189
+ $('#toc .float_toc').toggle(function() {
187
190
  $(this).text('float');
188
191
  $('#toc').toggleClass('nofloat');
189
192
  }, function() {