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.
- data/.gitignore +4 -0
- data/.gitmodules +3 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +48 -0
- data/LICENSE +21 -0
- data/README.md +59 -0
- data/bin/sc-docs +5 -0
- data/lib/sc_docs.rb +3 -0
- data/lib/sc_docs/cli.rb +54 -0
- data/lib/sc_docs/docs/Buildfile +8 -0
- data/lib/sc_docs/docs/README +8 -0
- data/lib/sc_docs/docs/apps/docs/Buildfile +15 -0
- data/lib/sc_docs/docs/apps/docs/controllers/classes.js +27 -0
- data/lib/sc_docs/docs/apps/docs/controllers/search_controller.js +62 -0
- data/lib/sc_docs/docs/apps/docs/controllers/selected_class.js +143 -0
- data/lib/sc_docs/docs/apps/docs/core.js +148 -0
- data/lib/sc_docs/docs/apps/docs/main.js +41 -0
- data/lib/sc_docs/docs/apps/docs/models/class.js +63 -0
- data/lib/sc_docs/docs/apps/docs/models/entity.js +29 -0
- data/lib/sc_docs/docs/apps/docs/models/method.js +79 -0
- data/lib/sc_docs/docs/apps/docs/models/property.js +48 -0
- data/lib/sc_docs/docs/apps/docs/resources/images/method_icon.png +0 -0
- data/lib/sc_docs/docs/apps/docs/resources/images/property_icon.png +0 -0
- data/lib/sc_docs/docs/apps/docs/resources/loading.rhtml +9 -0
- data/lib/sc_docs/docs/apps/docs/resources/main_page.css +156 -0
- data/lib/sc_docs/docs/apps/docs/resources/main_page.js +91 -0
- data/lib/sc_docs/docs/apps/docs/resources/templates/details.handlebars +81 -0
- data/lib/sc_docs/docs/apps/docs/resources/templates/extensions/signature.js +0 -0
- data/lib/sc_docs/docs/apps/docs/system/jquery_ui.js +62 -0
- data/lib/sc_docs/docs/apps/docs/system/showdown.js +1297 -0
- data/lib/sc_docs/docs/apps/docs/theme.js +29 -0
- data/lib/sc_docs/docs/apps/docs/views/detail_list.js +24 -0
- data/lib/sc_docs/docs/apps/docs/views/master_list.js +35 -0
- data/lib/sc_docs/docs/apps/docs/views/methods_collection.js +80 -0
- data/lib/sc_docs/docs/apps/docs/views/properties_collection.js +9 -0
- data/lib/sc_docs/generator.rb +145 -0
- data/lib/sc_docs/server.rb +21 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/allclasses.tmpl +31 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/allfiles.tmpl +66 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/class.tmpl +437 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/index.tmpl +52 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/css/api.css +619 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/apidocs.jpg +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/apidocs.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/clearinput.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/cross.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/ddiagonal.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/diagonal.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/docbullet.jpg +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/docbullet.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/glow.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/logo.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/pixels.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/img/search.png +0 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/js/api.js +134 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/js/jquery-bbq.js +18 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/js/lib/jquery-1.5.1.min.js +16 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/js/lib/modernizr-1.7.min.js +2 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/js/plugin.js +1 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/output/js/script.js +5 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/publish.js +200 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/static/default.css +300 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/static/header.html +19 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/static/index.html +19 -0
- data/lib/sc_docs/templates/docs.sproutcore.com/symbol.tmpl +35 -0
- data/lib/sc_docs/templates/sc_fixture/publish.js +632 -0
- data/lib/sc_docs/version.rb +4 -0
- data/sc_docs.gemspec +27 -0
- data/vendor/jsdoc/README.txt +109 -0
- data/vendor/jsdoc/app/frame.js +33 -0
- data/vendor/jsdoc/app/frame/Chain.js +102 -0
- data/vendor/jsdoc/app/frame/Dumper.js +144 -0
- data/vendor/jsdoc/app/frame/Hash.js +84 -0
- data/vendor/jsdoc/app/frame/Link.js +173 -0
- data/vendor/jsdoc/app/frame/Namespace.js +10 -0
- data/vendor/jsdoc/app/frame/Opt.js +134 -0
- data/vendor/jsdoc/app/frame/Reflection.js +26 -0
- data/vendor/jsdoc/app/frame/String.js +93 -0
- data/vendor/jsdoc/app/frame/Testrun.js +129 -0
- data/vendor/jsdoc/app/handlers/FOODOC.js +26 -0
- data/vendor/jsdoc/app/handlers/XMLDOC.js +26 -0
- data/vendor/jsdoc/app/handlers/XMLDOC/DomReader.js +159 -0
- data/vendor/jsdoc/app/handlers/XMLDOC/XMLDoc.js +16 -0
- data/vendor/jsdoc/app/handlers/XMLDOC/XMLParse.js +292 -0
- data/vendor/jsdoc/app/lib/JSDOC.js +106 -0
- data/vendor/jsdoc/app/lib/JSDOC/DocComment.js +204 -0
- data/vendor/jsdoc/app/lib/JSDOC/DocTag.js +294 -0
- data/vendor/jsdoc/app/lib/JSDOC/JsDoc.js +140 -0
- data/vendor/jsdoc/app/lib/JSDOC/JsPlate.js +109 -0
- data/vendor/jsdoc/app/lib/JSDOC/Lang.js +144 -0
- data/vendor/jsdoc/app/lib/JSDOC/Parser.js +146 -0
- data/vendor/jsdoc/app/lib/JSDOC/PluginManager.js +33 -0
- data/vendor/jsdoc/app/lib/JSDOC/Symbol.js +644 -0
- data/vendor/jsdoc/app/lib/JSDOC/SymbolSet.js +243 -0
- data/vendor/jsdoc/app/lib/JSDOC/TextStream.js +41 -0
- data/vendor/jsdoc/app/lib/JSDOC/Token.js +18 -0
- data/vendor/jsdoc/app/lib/JSDOC/TokenReader.js +332 -0
- data/vendor/jsdoc/app/lib/JSDOC/TokenStream.js +133 -0
- data/vendor/jsdoc/app/lib/JSDOC/Util.js +32 -0
- data/vendor/jsdoc/app/lib/JSDOC/Walker.js +507 -0
- data/vendor/jsdoc/app/main.js +111 -0
- data/vendor/jsdoc/app/plugins/commentSrcJson.js +20 -0
- data/vendor/jsdoc/app/plugins/frameworkPrototype.js +16 -0
- data/vendor/jsdoc/app/plugins/functionCall.js +10 -0
- data/vendor/jsdoc/app/plugins/publishSrcHilite.js +62 -0
- data/vendor/jsdoc/app/plugins/symbolLink.js +10 -0
- data/vendor/jsdoc/app/plugins/tagParamConfig.js +31 -0
- data/vendor/jsdoc/app/plugins/tagSynonyms.js +43 -0
- data/vendor/jsdoc/app/run.js +297 -0
- data/vendor/jsdoc/app/t/TestDoc.js +144 -0
- data/vendor/jsdoc/app/t/runner.js +13 -0
- data/vendor/jsdoc/app/test.js +342 -0
- data/vendor/jsdoc/app/test/addon.js +24 -0
- data/vendor/jsdoc/app/test/anon_inner.js +14 -0
- data/vendor/jsdoc/app/test/augments.js +31 -0
- data/vendor/jsdoc/app/test/augments2.js +26 -0
- data/vendor/jsdoc/app/test/borrows.js +46 -0
- data/vendor/jsdoc/app/test/borrows2.js +23 -0
- data/vendor/jsdoc/app/test/config.js +22 -0
- data/vendor/jsdoc/app/test/constructs.js +18 -0
- data/vendor/jsdoc/app/test/encoding.js +10 -0
- data/vendor/jsdoc/app/test/encoding_other.js +12 -0
- data/vendor/jsdoc/app/test/event.js +54 -0
- data/vendor/jsdoc/app/test/exports.js +14 -0
- data/vendor/jsdoc/app/test/functions_anon.js +39 -0
- data/vendor/jsdoc/app/test/functions_nested.js +33 -0
- data/vendor/jsdoc/app/test/global.js +13 -0
- data/vendor/jsdoc/app/test/globals.js +25 -0
- data/vendor/jsdoc/app/test/ignore.js +10 -0
- data/vendor/jsdoc/app/test/inner.js +16 -0
- data/vendor/jsdoc/app/test/jsdoc_test.js +477 -0
- data/vendor/jsdoc/app/test/lend.js +33 -0
- data/vendor/jsdoc/app/test/memberof.js +19 -0
- data/vendor/jsdoc/app/test/memberof2.js +38 -0
- data/vendor/jsdoc/app/test/memberof3.js +33 -0
- data/vendor/jsdoc/app/test/memberof_constructor.js +17 -0
- data/vendor/jsdoc/app/test/module.js +17 -0
- data/vendor/jsdoc/app/test/multi_methods.js +25 -0
- data/vendor/jsdoc/app/test/name.js +19 -0
- data/vendor/jsdoc/app/test/namespace_nested.js +23 -0
- data/vendor/jsdoc/app/test/nocode.js +13 -0
- data/vendor/jsdoc/app/test/oblit_anon.js +20 -0
- data/vendor/jsdoc/app/test/overview.js +20 -0
- data/vendor/jsdoc/app/test/param_inline.js +37 -0
- data/vendor/jsdoc/app/test/params_optional.js +8 -0
- data/vendor/jsdoc/app/test/prototype.js +17 -0
- data/vendor/jsdoc/app/test/prototype_nested.js +9 -0
- data/vendor/jsdoc/app/test/prototype_oblit.js +13 -0
- data/vendor/jsdoc/app/test/prototype_oblit_constructor.js +24 -0
- data/vendor/jsdoc/app/test/public.js +10 -0
- data/vendor/jsdoc/app/test/scripts/code.js +5 -0
- data/vendor/jsdoc/app/test/scripts/notcode.txt +5 -0
- data/vendor/jsdoc/app/test/shared.js +42 -0
- data/vendor/jsdoc/app/test/shared2.js +2 -0
- data/vendor/jsdoc/app/test/shortcuts.js +22 -0
- data/vendor/jsdoc/app/test/static_this.js +13 -0
- data/vendor/jsdoc/app/test/synonyms.js +31 -0
- data/vendor/jsdoc/app/test/tosource.js +23 -0
- data/vendor/jsdoc/app/test/variable_redefine.js +14 -0
- data/vendor/jsdoc/changes.txt +127 -0
- data/vendor/jsdoc/conf/sample.conf +31 -0
- 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">©{+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>
|