sc-docs 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. data/.gitignore +4 -0
  2. data/.gitmodules +3 -0
  3. data/Gemfile +5 -0
  4. data/Gemfile.lock +48 -0
  5. data/LICENSE +21 -0
  6. data/README.md +59 -0
  7. data/bin/sc-docs +5 -0
  8. data/lib/sc_docs.rb +3 -0
  9. data/lib/sc_docs/cli.rb +54 -0
  10. data/lib/sc_docs/docs/Buildfile +8 -0
  11. data/lib/sc_docs/docs/README +8 -0
  12. data/lib/sc_docs/docs/apps/docs/Buildfile +15 -0
  13. data/lib/sc_docs/docs/apps/docs/controllers/classes.js +27 -0
  14. data/lib/sc_docs/docs/apps/docs/controllers/search_controller.js +62 -0
  15. data/lib/sc_docs/docs/apps/docs/controllers/selected_class.js +143 -0
  16. data/lib/sc_docs/docs/apps/docs/core.js +148 -0
  17. data/lib/sc_docs/docs/apps/docs/main.js +41 -0
  18. data/lib/sc_docs/docs/apps/docs/models/class.js +63 -0
  19. data/lib/sc_docs/docs/apps/docs/models/entity.js +29 -0
  20. data/lib/sc_docs/docs/apps/docs/models/method.js +79 -0
  21. data/lib/sc_docs/docs/apps/docs/models/property.js +48 -0
  22. data/lib/sc_docs/docs/apps/docs/resources/images/method_icon.png +0 -0
  23. data/lib/sc_docs/docs/apps/docs/resources/images/property_icon.png +0 -0
  24. data/lib/sc_docs/docs/apps/docs/resources/loading.rhtml +9 -0
  25. data/lib/sc_docs/docs/apps/docs/resources/main_page.css +156 -0
  26. data/lib/sc_docs/docs/apps/docs/resources/main_page.js +91 -0
  27. data/lib/sc_docs/docs/apps/docs/resources/templates/details.handlebars +81 -0
  28. data/lib/sc_docs/docs/apps/docs/resources/templates/extensions/signature.js +0 -0
  29. data/lib/sc_docs/docs/apps/docs/system/jquery_ui.js +62 -0
  30. data/lib/sc_docs/docs/apps/docs/system/showdown.js +1297 -0
  31. data/lib/sc_docs/docs/apps/docs/theme.js +29 -0
  32. data/lib/sc_docs/docs/apps/docs/views/detail_list.js +24 -0
  33. data/lib/sc_docs/docs/apps/docs/views/master_list.js +35 -0
  34. data/lib/sc_docs/docs/apps/docs/views/methods_collection.js +80 -0
  35. data/lib/sc_docs/docs/apps/docs/views/properties_collection.js +9 -0
  36. data/lib/sc_docs/generator.rb +145 -0
  37. data/lib/sc_docs/server.rb +21 -0
  38. data/lib/sc_docs/templates/docs.sproutcore.com/allclasses.tmpl +31 -0
  39. data/lib/sc_docs/templates/docs.sproutcore.com/allfiles.tmpl +66 -0
  40. data/lib/sc_docs/templates/docs.sproutcore.com/class.tmpl +437 -0
  41. data/lib/sc_docs/templates/docs.sproutcore.com/index.tmpl +52 -0
  42. data/lib/sc_docs/templates/docs.sproutcore.com/output/css/api.css +619 -0
  43. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/apidocs.jpg +0 -0
  44. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/apidocs.png +0 -0
  45. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/clearinput.png +0 -0
  46. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/cross.png +0 -0
  47. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/ddiagonal.png +0 -0
  48. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/diagonal.png +0 -0
  49. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/docbullet.jpg +0 -0
  50. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/docbullet.png +0 -0
  51. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/glow.png +0 -0
  52. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/logo.png +0 -0
  53. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/pixels.png +0 -0
  54. data/lib/sc_docs/templates/docs.sproutcore.com/output/img/search.png +0 -0
  55. data/lib/sc_docs/templates/docs.sproutcore.com/output/js/api.js +134 -0
  56. data/lib/sc_docs/templates/docs.sproutcore.com/output/js/jquery-bbq.js +18 -0
  57. data/lib/sc_docs/templates/docs.sproutcore.com/output/js/lib/jquery-1.5.1.min.js +16 -0
  58. data/lib/sc_docs/templates/docs.sproutcore.com/output/js/lib/modernizr-1.7.min.js +2 -0
  59. data/lib/sc_docs/templates/docs.sproutcore.com/output/js/plugin.js +1 -0
  60. data/lib/sc_docs/templates/docs.sproutcore.com/output/js/script.js +5 -0
  61. data/lib/sc_docs/templates/docs.sproutcore.com/publish.js +200 -0
  62. data/lib/sc_docs/templates/docs.sproutcore.com/static/default.css +300 -0
  63. data/lib/sc_docs/templates/docs.sproutcore.com/static/header.html +19 -0
  64. data/lib/sc_docs/templates/docs.sproutcore.com/static/index.html +19 -0
  65. data/lib/sc_docs/templates/docs.sproutcore.com/symbol.tmpl +35 -0
  66. data/lib/sc_docs/templates/sc_fixture/publish.js +632 -0
  67. data/lib/sc_docs/version.rb +4 -0
  68. data/sc_docs.gemspec +27 -0
  69. data/vendor/jsdoc/README.txt +109 -0
  70. data/vendor/jsdoc/app/frame.js +33 -0
  71. data/vendor/jsdoc/app/frame/Chain.js +102 -0
  72. data/vendor/jsdoc/app/frame/Dumper.js +144 -0
  73. data/vendor/jsdoc/app/frame/Hash.js +84 -0
  74. data/vendor/jsdoc/app/frame/Link.js +173 -0
  75. data/vendor/jsdoc/app/frame/Namespace.js +10 -0
  76. data/vendor/jsdoc/app/frame/Opt.js +134 -0
  77. data/vendor/jsdoc/app/frame/Reflection.js +26 -0
  78. data/vendor/jsdoc/app/frame/String.js +93 -0
  79. data/vendor/jsdoc/app/frame/Testrun.js +129 -0
  80. data/vendor/jsdoc/app/handlers/FOODOC.js +26 -0
  81. data/vendor/jsdoc/app/handlers/XMLDOC.js +26 -0
  82. data/vendor/jsdoc/app/handlers/XMLDOC/DomReader.js +159 -0
  83. data/vendor/jsdoc/app/handlers/XMLDOC/XMLDoc.js +16 -0
  84. data/vendor/jsdoc/app/handlers/XMLDOC/XMLParse.js +292 -0
  85. data/vendor/jsdoc/app/lib/JSDOC.js +106 -0
  86. data/vendor/jsdoc/app/lib/JSDOC/DocComment.js +204 -0
  87. data/vendor/jsdoc/app/lib/JSDOC/DocTag.js +294 -0
  88. data/vendor/jsdoc/app/lib/JSDOC/JsDoc.js +140 -0
  89. data/vendor/jsdoc/app/lib/JSDOC/JsPlate.js +109 -0
  90. data/vendor/jsdoc/app/lib/JSDOC/Lang.js +144 -0
  91. data/vendor/jsdoc/app/lib/JSDOC/Parser.js +146 -0
  92. data/vendor/jsdoc/app/lib/JSDOC/PluginManager.js +33 -0
  93. data/vendor/jsdoc/app/lib/JSDOC/Symbol.js +644 -0
  94. data/vendor/jsdoc/app/lib/JSDOC/SymbolSet.js +243 -0
  95. data/vendor/jsdoc/app/lib/JSDOC/TextStream.js +41 -0
  96. data/vendor/jsdoc/app/lib/JSDOC/Token.js +18 -0
  97. data/vendor/jsdoc/app/lib/JSDOC/TokenReader.js +332 -0
  98. data/vendor/jsdoc/app/lib/JSDOC/TokenStream.js +133 -0
  99. data/vendor/jsdoc/app/lib/JSDOC/Util.js +32 -0
  100. data/vendor/jsdoc/app/lib/JSDOC/Walker.js +507 -0
  101. data/vendor/jsdoc/app/main.js +111 -0
  102. data/vendor/jsdoc/app/plugins/commentSrcJson.js +20 -0
  103. data/vendor/jsdoc/app/plugins/frameworkPrototype.js +16 -0
  104. data/vendor/jsdoc/app/plugins/functionCall.js +10 -0
  105. data/vendor/jsdoc/app/plugins/publishSrcHilite.js +62 -0
  106. data/vendor/jsdoc/app/plugins/symbolLink.js +10 -0
  107. data/vendor/jsdoc/app/plugins/tagParamConfig.js +31 -0
  108. data/vendor/jsdoc/app/plugins/tagSynonyms.js +43 -0
  109. data/vendor/jsdoc/app/run.js +297 -0
  110. data/vendor/jsdoc/app/t/TestDoc.js +144 -0
  111. data/vendor/jsdoc/app/t/runner.js +13 -0
  112. data/vendor/jsdoc/app/test.js +342 -0
  113. data/vendor/jsdoc/app/test/addon.js +24 -0
  114. data/vendor/jsdoc/app/test/anon_inner.js +14 -0
  115. data/vendor/jsdoc/app/test/augments.js +31 -0
  116. data/vendor/jsdoc/app/test/augments2.js +26 -0
  117. data/vendor/jsdoc/app/test/borrows.js +46 -0
  118. data/vendor/jsdoc/app/test/borrows2.js +23 -0
  119. data/vendor/jsdoc/app/test/config.js +22 -0
  120. data/vendor/jsdoc/app/test/constructs.js +18 -0
  121. data/vendor/jsdoc/app/test/encoding.js +10 -0
  122. data/vendor/jsdoc/app/test/encoding_other.js +12 -0
  123. data/vendor/jsdoc/app/test/event.js +54 -0
  124. data/vendor/jsdoc/app/test/exports.js +14 -0
  125. data/vendor/jsdoc/app/test/functions_anon.js +39 -0
  126. data/vendor/jsdoc/app/test/functions_nested.js +33 -0
  127. data/vendor/jsdoc/app/test/global.js +13 -0
  128. data/vendor/jsdoc/app/test/globals.js +25 -0
  129. data/vendor/jsdoc/app/test/ignore.js +10 -0
  130. data/vendor/jsdoc/app/test/inner.js +16 -0
  131. data/vendor/jsdoc/app/test/jsdoc_test.js +477 -0
  132. data/vendor/jsdoc/app/test/lend.js +33 -0
  133. data/vendor/jsdoc/app/test/memberof.js +19 -0
  134. data/vendor/jsdoc/app/test/memberof2.js +38 -0
  135. data/vendor/jsdoc/app/test/memberof3.js +33 -0
  136. data/vendor/jsdoc/app/test/memberof_constructor.js +17 -0
  137. data/vendor/jsdoc/app/test/module.js +17 -0
  138. data/vendor/jsdoc/app/test/multi_methods.js +25 -0
  139. data/vendor/jsdoc/app/test/name.js +19 -0
  140. data/vendor/jsdoc/app/test/namespace_nested.js +23 -0
  141. data/vendor/jsdoc/app/test/nocode.js +13 -0
  142. data/vendor/jsdoc/app/test/oblit_anon.js +20 -0
  143. data/vendor/jsdoc/app/test/overview.js +20 -0
  144. data/vendor/jsdoc/app/test/param_inline.js +37 -0
  145. data/vendor/jsdoc/app/test/params_optional.js +8 -0
  146. data/vendor/jsdoc/app/test/prototype.js +17 -0
  147. data/vendor/jsdoc/app/test/prototype_nested.js +9 -0
  148. data/vendor/jsdoc/app/test/prototype_oblit.js +13 -0
  149. data/vendor/jsdoc/app/test/prototype_oblit_constructor.js +24 -0
  150. data/vendor/jsdoc/app/test/public.js +10 -0
  151. data/vendor/jsdoc/app/test/scripts/code.js +5 -0
  152. data/vendor/jsdoc/app/test/scripts/notcode.txt +5 -0
  153. data/vendor/jsdoc/app/test/shared.js +42 -0
  154. data/vendor/jsdoc/app/test/shared2.js +2 -0
  155. data/vendor/jsdoc/app/test/shortcuts.js +22 -0
  156. data/vendor/jsdoc/app/test/static_this.js +13 -0
  157. data/vendor/jsdoc/app/test/synonyms.js +31 -0
  158. data/vendor/jsdoc/app/test/tosource.js +23 -0
  159. data/vendor/jsdoc/app/test/variable_redefine.js +14 -0
  160. data/vendor/jsdoc/changes.txt +127 -0
  161. data/vendor/jsdoc/conf/sample.conf +31 -0
  162. metadata +240 -0
@@ -0,0 +1,29 @@
1
+ // ==========================================================================
2
+ // Project: SproutCore - JavaScript Application Framework
3
+ // Copyright: ©2008-2011 Apple Inc. All rights reserved.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+
7
+ /*globals Docs */
8
+
9
+ // This is the theme that defines how your app renders.
10
+ //
11
+ // Your app is given its own theme so it is easier and less
12
+ // messy for you to override specific things just for your
13
+ // app.
14
+ //
15
+ // You don't have to create the whole theme on your own, though:
16
+ // your app's theme is based on SproutCore's Ace theme.
17
+ //
18
+ // NOTE: if you want to change the theme this one is based on, don't
19
+ // forget to change the :css_theme property in your buildfile.
20
+ Docs.Theme = SC.AceTheme.create({
21
+ name: 'docs'
22
+ });
23
+
24
+ // SproutCore needs to know that your app's theme exists
25
+ SC.Theme.addTheme(Docs.Theme);
26
+
27
+ // Setting it as the default theme makes every pane SproutCore
28
+ // creates default to this theme unless otherwise specified.
29
+ SC.defaultTheme = 'docs';
@@ -0,0 +1,24 @@
1
+ // ==========================================================================
2
+ // Project: SproutCore - JavaScript Application Framework
3
+ // Copyright: ©2008-2011 Apple Inc. All rights reserved.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+
7
+ Docs.DetailListView = SC.ListView.extend({
8
+
9
+ masterPropertyPath: 'mainPage.mainPane.classList.contentView',
10
+
11
+ keyDown: function(evt){
12
+
13
+ if(evt.keyCode === 37) {
14
+ var propPath = this.get('masterPropertyPath');
15
+ var masterView = Docs.getPath(propPath);
16
+
17
+ masterView.becomeFirstResponder();
18
+
19
+ //return YES;
20
+ }
21
+
22
+ return sc_super();
23
+ }
24
+ });
@@ -0,0 +1,35 @@
1
+ // ==========================================================================
2
+ // Project: SproutCore - JavaScript Application Framework
3
+ // Copyright: ©2008-2011 Apple Inc. All rights reserved.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+
7
+ Docs.MasterListView = SC.ListView.extend({
8
+
9
+ detailPropertyPath: 'mainPage.mainPane.detailView.workspace.symbolList.contentView',
10
+
11
+ keyDown: function(evt){
12
+
13
+ if(evt.keyCode === 39) {
14
+ var propPath = this.get('detailPropertyPath');
15
+ var detailView = Docs.getPath(propPath);
16
+
17
+ detailView.becomeFirstResponder();
18
+
19
+ var sel = Docs.selectedClassController.get('symbolSelection');
20
+ if (!sel || !sel.get('length')) {
21
+ console.log('getting content');
22
+ var firstObject = Docs.selectedClassController.getPath('symbols.firstObject');
23
+
24
+ var sel = SC.SelectionSet.create();
25
+ sel.addObjects([firstObject]).freeze();
26
+
27
+ Docs.selectedClassController.set('symbolSelection',sel);
28
+ }
29
+
30
+ //return YES;
31
+ }
32
+
33
+ return sc_super();
34
+ }
35
+ });
@@ -0,0 +1,80 @@
1
+ // ==========================================================================
2
+ // Project: SproutCore - JavaScript Application Framework
3
+ // Copyright: ©2008-2011 Apple Inc. All rights reserved.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+
7
+ Docs.MethodsCollectionView = SC.TemplateCollectionView.extend({
8
+ contentBinding: 'Docs.selectedClassController.methods'
9
+ });
10
+
11
+ Handlebars.registerHelper('signature', function(object) {
12
+
13
+ var method = this.get(object);
14
+
15
+ var name = method.get('name');
16
+ var params = method.get('params');
17
+ var param, suffix;
18
+
19
+ var out = '<div class="method-signature">';
20
+ out += name + '(';
21
+
22
+ for(var i=0, l=params.length; i<l; i++) {
23
+ param = params[i];
24
+
25
+ if ( i < (l-1)) {
26
+ suffix = ", ";
27
+ }
28
+ else {
29
+ suffix = "";
30
+ }
31
+
32
+ if(param.type) {
33
+ out += '<span class="data-type" name="%@">%@</span>'.fmt(param.type,param.type);
34
+ }
35
+
36
+ if(param.name) {
37
+ out += '<span class="method-param-name">%@%@</span>'.fmt(param.name,suffix);
38
+ }
39
+ }
40
+
41
+ out += ')';
42
+ out += "</div>";
43
+
44
+ return new Handlebars.SafeString(out);
45
+ });
46
+
47
+
48
+ Handlebars.registerHelper('returns', function(object) {
49
+
50
+ var method = this.get(object);
51
+ var returns = method.get('returns');
52
+ if (!returns) return "";
53
+
54
+ var out = "";
55
+
56
+ out = '<div class="returns">';
57
+ out += '<span class="name">Returns: </span>';
58
+ out += '<span class="data-type" name="'+returns.type+'">'+returns.type+'</span>';
59
+ out += '<span class="return-text">'+returns.desc+'</span>';
60
+ out += "</div>";
61
+
62
+ return new Handlebars.SafeString(out);
63
+ });
64
+
65
+ Handlebars.registerHelper('extends', function(object) {
66
+
67
+ var extendsFrom = this.getPath(object);
68
+ if (!extendsFrom) return "";
69
+
70
+ var out = "";
71
+ var len = extendsFrom.length;
72
+
73
+ for(var i=0; i<len; i++) {
74
+ var extendFrom = extendsFrom[i];
75
+ out += '<span class="data-type" name="'+extendFrom+'">'+extendFrom+'</span>';
76
+ }
77
+
78
+
79
+ return new Handlebars.SafeString(out);
80
+ });
@@ -0,0 +1,9 @@
1
+ // ==========================================================================
2
+ // Project: SproutCore - JavaScript Application Framework
3
+ // Copyright: ©2008-2011 Apple Inc. All rights reserved.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+
7
+ Docs.PropertiesCollectionView = SC.TemplateCollectionView.extend({
8
+ contentBinding: 'Docs.selectedClassController.properties'
9
+ });
@@ -0,0 +1,145 @@
1
+ require 'fileutils'
2
+
3
+ require 'sc_docs/server'
4
+
5
+ module ScDocs
6
+ class Generator
7
+
8
+ attr_reader :input_dir
9
+
10
+ attr_reader :output_dir
11
+
12
+ attr_reader :template
13
+
14
+ attr_reader :verbose
15
+
16
+ def initialize(options={})
17
+ @input_dir = File.expand_path(options[:input_dir])
18
+ @output_dir = File.expand_path(options[:output_dir])
19
+ @verbose = options[:verbose]
20
+ end
21
+
22
+ def command
23
+ @command ||= begin
24
+ run_js_path = File.expand_path("../../../vendor/jsdoc/app/run.js", __FILE__)
25
+ command = "#{run_js_path} -apsv -r=20 -t=\"#{template}\" \"#{input_dir}\" -d=\"#{output_dir}\" -f=class.js -l=Docs.Class"
26
+ end
27
+ end
28
+
29
+ def generate
30
+ prep
31
+ run_command
32
+ end
33
+
34
+ def preview
35
+ prep
36
+ run_command
37
+ run_server
38
+ end
39
+
40
+ private
41
+
42
+ def prep
43
+ FileUtils.rm_rf output_dir
44
+ FileUtils.mkdir_p File.dirname(output_dir)
45
+ end
46
+
47
+ def run_command
48
+ puts "#{command}\n\n" if verbose
49
+ verbose ? system(command) : `#{command}`
50
+
51
+ copy_files
52
+
53
+ puts "Finished Building\n\n"
54
+ end
55
+
56
+ def copy_files
57
+ # Copy other files to output
58
+ path = File.join(template, "output")
59
+ if File.directory?(path)
60
+ puts "Copying additional files" if verbose
61
+ Dir["#{path}/*"].each{|p| FileUtils.cp_r(p, output_dir) }
62
+ end
63
+ end
64
+
65
+ def run_server
66
+ Server.new(output_dir).start
67
+ end
68
+
69
+ end
70
+
71
+ class HtmlGenerator < Generator
72
+
73
+ def initialize(options={})
74
+ super
75
+ @template = File.expand_path(options[:template])
76
+ end
77
+
78
+ end
79
+
80
+ class ScGenerator < Generator
81
+
82
+ attr_reader :app_dir
83
+
84
+ attr_reader :project_name
85
+
86
+ def initialize(options={})
87
+ super
88
+ @template = File.expand_path("../templates/sc_fixture", __FILE__)
89
+ @app_dir = File.expand_path(options[:output_dir])
90
+ @output_dir = File.join(@app_dir, "apps", "docs", "fixtures")
91
+ @project_name = options[:project_name] || "docs_viewer"
92
+ end
93
+
94
+ def generate
95
+ prep
96
+ run_command
97
+ deploy
98
+ end
99
+
100
+ private
101
+
102
+ def prep
103
+ target_dir = File.dirname(app_dir)
104
+ FileUtils.rm_rf app_dir
105
+ FileUtils.mkdir_p target_dir
106
+ FileUtils.cp_r File.expand_path("../docs", __FILE__), target_dir
107
+ end
108
+
109
+ def run_server
110
+ # TODO: Run SC Inline
111
+ Dir.chdir app_dir
112
+ system("sc-server --port=9292")
113
+ end
114
+
115
+ def deploy
116
+ require 'tempfile' # For Dir.tmpdir
117
+
118
+ tmp_path = File.join(Dir.tmpdir, "docs#{rand(100000)}")
119
+
120
+ FileUtils.mv app_dir, tmp_path
121
+
122
+ Dir.chdir tmp_path
123
+
124
+ build_cmd = "sc-build -r --languages=en --build-targets=docs --build=#{project_name}"
125
+
126
+ puts "Deploying...\n\n"
127
+
128
+ puts "#{build_cmd}\n\n" if verbose
129
+ verbose ? system(build_cmd) : `#{build_cmd}`
130
+
131
+ FileUtils.rm_rf app_dir
132
+ FileUtils.mkdir_p app_dir
133
+
134
+ docs_dir = File.join(app_dir, "sc_docs")
135
+ FileUtils.cp_r File.join(tmp_path, "tmp", "build", "sc_docs"), docs_dir
136
+ FileUtils.cp File.join(docs_dir, "docs", "en", project_name, "index.html"), docs_dir
137
+
138
+ puts "Deployed"
139
+
140
+ ensure
141
+ FileUtils.rm_rf tmp_path
142
+ end
143
+
144
+ end
145
+ end
@@ -0,0 +1,21 @@
1
+ require 'rack'
2
+
3
+ module ScDocs
4
+ class Server < ::Rack::Server
5
+ def initialize(directory)
6
+ @directory = directory
7
+
8
+ begin
9
+ require 'thin'
10
+ super(:server => ::Thin, :Port => 9292)
11
+ rescue LoadError
12
+ require 'webrick'
13
+ super(:server => ::WEBrick, :Host => "localhost", :Port => 9292)
14
+ end
15
+ end
16
+
17
+ def app
18
+ Rack::Directory.new(@directory)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,31 @@
1
+ <span class="odd active"><a href="/">API Documentation Index</a></span>
2
+ <for each="thisClass" in="data">
3
+ {!
4
+ if (thisClass.alias == "_global_") {
5
+ if ($thisClass_i % 2 == 1) {
6
+ output += "<span class='odd global'>";
7
+ output += new Link().toClass(thisClass.alias);
8
+ output += "</span>";
9
+
10
+ };
11
+ if ($thisClass_i % 2 == 0) {
12
+ output += "<span class='even' global>";
13
+ output += new Link().toClass(thisClass.alias);
14
+ output += "</span>";
15
+ };
16
+ }
17
+ else {
18
+ if ($thisClass_i % 2 == 1) {
19
+ output += "<span class='odd'>";
20
+ output += new Link().toClass(thisClass.alias);
21
+ output += "</span>";
22
+
23
+ };
24
+ if ($thisClass_i % 2 == 0) {
25
+ output += "<span class='even'>";
26
+ output += new Link().toClass(thisClass.alias);
27
+ output += "</span>";
28
+ };
29
+ }
30
+ !}
31
+ </for>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>SproutCore</title>
6
+ <meta name="description" content="A framework for building fast, desktop caliber web applications." />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
+ <link rel="stylesheet" href="/css/api.css" />
9
+ <script src="js/lib/modernizr-1.7.min.js"></script>
10
+ <!--[if lt IE 9]>
11
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
12
+ <![endif]-->
13
+ </head>
14
+
15
+ <body id="docs" class="blue">
16
+ {+include("static/header.html")+}
17
+
18
+ <section id="list">
19
+ <header>
20
+ <h2>SproutCore API Classes</h2>
21
+ <form action="#" role="search">
22
+ <input type="text" />
23
+ </form>
24
+ </header>
25
+ <div>
26
+ {+publish.classesIndex+}
27
+ </div>
28
+ <footer>
29
+ <button>SUBSCRIBE TO MAILING LIST</button>
30
+ </footer>
31
+ </section>
32
+
33
+ <div role="main">
34
+ <section id="documentation">
35
+ <h1 class="classTitle">File Index</h1>
36
+
37
+ <for each="item" in="data">
38
+ <h2>{+new Link().toSrc(item.alias).withText(item.name)+}</h2>
39
+ <if test="item.desc">{+resolveLinks(item.desc)+}</if>
40
+ <dl>
41
+ <if test="item.author">
42
+ <dt class="heading">Author:</dt>
43
+ <dd>{+item.author+}</dd>
44
+ </if>
45
+ <if test="item.version">
46
+ <dt class="heading">Version:</dt>
47
+ <dd>{+item.version+}</dd>
48
+ </if>
49
+ {! var locations = item.comment.getTag('location').map(function($){return $.toString().replace(/(^\$ ?| ?\$$)/g, '').replace(/^HeadURL: https:/g, 'http:');}) !}
50
+ <if test="locations.length">
51
+ <dt class="heading">Location:</dt>
52
+ <for each="location" in="locations">
53
+ <dd><a href="{+location+}">{+location+}</a></dd>
54
+ </for>
55
+ </if>
56
+ </dl>
57
+ </for>
58
+
59
+ <div class="fineprint" style="clear:both">
60
+ <if test="JSDOC.opt.D.copyright">&copy;{+JSDOC.opt.D.copyright+}<br /></if>
61
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> {+JSDOC.VERSION+} on {+new Date()+}
62
+ </div>
63
+ </section>
64
+ </div>
65
+ </body>
66
+ </html>