sproutcore 0.9.13 → 0.9.14
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +19 -0
- data/Manifest.txt +103 -26
- data/app_generators/sproutcore/templates/README +1 -1
- data/bin/sc-build +1 -1
- data/bin/sc-gen +0 -0
- data/bin/sc-ide +278 -0
- data/bin/sc-init +38 -0
- data/bin/sc-install +96 -0
- data/bin/sc-remove +94 -0
- data/bin/sc-server +4 -0
- data/bin/sc-update +94 -0
- data/bin/sproutcore +3 -14
- data/clients/sc_docs/controllers/docs.js +1 -1
- data/clients/sc_docs/models/doc.js +6 -0
- data/clients/sc_docs/views/doc_frame.js +1 -1
- data/clients/sc_test_runner/english.lproj/icons/small/next.png +0 -0
- data/clients/sc_test_runner/english.lproj/icons/small/reset.png +0 -0
- data/frameworks/sproutcore/HISTORY +34 -2
- data/frameworks/sproutcore/controllers/array.js +1 -1
- data/frameworks/sproutcore/controllers/controller.js +1 -1
- data/frameworks/sproutcore/controllers/object.js +9 -6
- data/frameworks/sproutcore/core.js +19 -4
- data/frameworks/sproutcore/english.lproj/blank.gif +0 -0
- data/frameworks/sproutcore/english.lproj/core.css +1 -0
- data/frameworks/sproutcore/english.lproj/menu.css +1 -0
- data/frameworks/sproutcore/foundation/application.js +3 -3
- data/frameworks/sproutcore/foundation/benchmark.js +1 -1
- data/frameworks/sproutcore/foundation/node_descriptor.js +13 -1
- data/frameworks/sproutcore/foundation/page.js +3 -2
- data/frameworks/sproutcore/foundation/path_module.js +33 -16
- data/frameworks/sproutcore/foundation/run_loop.js +1 -1
- data/frameworks/sproutcore/foundation/server.js +68 -18
- data/frameworks/sproutcore/foundation/string.js +1 -1
- data/frameworks/sproutcore/globals/window.js +62 -15
- data/frameworks/sproutcore/lib/core_views.rb +1 -0
- data/frameworks/sproutcore/lib/index.rhtml +4 -3
- data/frameworks/sproutcore/lib/menu_views.rb +2 -2
- data/frameworks/sproutcore/models/collection.js +122 -107
- data/frameworks/sproutcore/models/record.js +2 -2
- data/frameworks/sproutcore/panes/manager.js +1 -1
- data/frameworks/sproutcore/panes/overlay.js +3 -3
- data/frameworks/sproutcore/tests/controllers/object.rhtml +26 -0
- data/frameworks/sproutcore/tests/views/collection/incremental_rendering.rhtml +2 -2
- data/frameworks/sproutcore/views/button/disclosure.js +1 -1
- data/frameworks/sproutcore/views/collection/collection.js +19 -15
- data/frameworks/sproutcore/views/collection/source_list.js +1 -1
- data/frameworks/sproutcore/views/collection/table.js +2 -2
- data/frameworks/sproutcore/views/error_explanation.js +1 -1
- data/frameworks/sproutcore/views/field/checkbox_field.js +1 -1
- data/frameworks/sproutcore/views/field/field.js +1 -1
- data/frameworks/sproutcore/views/field/radio_field.js +1 -1
- data/frameworks/sproutcore/views/field/select_field.js +1 -1
- data/frameworks/sproutcore/views/form.js +1 -1
- data/frameworks/sproutcore/views/image.js +1 -1
- data/frameworks/sproutcore/views/menu_item.js +1 -1
- data/frameworks/sproutcore/views/popup_button.js +1 -1
- data/frameworks/sproutcore/views/popup_menu.js +1 -1
- data/frameworks/sproutcore/views/progress.js +4 -2
- data/frameworks/sproutcore/views/radio_group.js +1 -1
- data/frameworks/sproutcore/views/scroll.js +1 -1
- data/frameworks/sproutcore/views/source_list_group.js +1 -1
- data/frameworks/sproutcore/views/split.js +1 -1
- data/frameworks/sproutcore/views/tab.js +3 -1
- data/frameworks/sproutcore/views/view.js +19 -3
- data/jsdoc/README.txt +89 -57
- data/jsdoc/app/frame/Chain.js +102 -0
- data/jsdoc/app/frame/Dumper.js +144 -0
- data/jsdoc/app/frame/Hash.js +47 -0
- data/jsdoc/app/frame/Link.js +142 -0
- data/jsdoc/app/frame/Namespace.js +10 -0
- data/jsdoc/app/frame/Opt.js +134 -0
- data/jsdoc/app/frame/Reflection.js +26 -0
- data/jsdoc/app/frame/String.js +93 -0
- data/jsdoc/app/frame/Testrun.js +129 -0
- data/jsdoc/app/frame.js +33 -0
- data/jsdoc/app/handlers/FOODOC.js +26 -0
- data/jsdoc/app/handlers/XMLDOC/DomReader.js +159 -0
- data/jsdoc/app/handlers/XMLDOC/XMLDoc.js +16 -0
- data/jsdoc/app/handlers/XMLDOC/XMLParse.js +292 -0
- data/jsdoc/app/handlers/XMLDOC.js +26 -0
- data/jsdoc/app/lib/JSDOC/DocComment.js +200 -0
- data/jsdoc/app/lib/JSDOC/DocTag.js +294 -0
- data/jsdoc/app/lib/JSDOC/JsDoc.js +180 -0
- data/jsdoc/app/lib/JSDOC/JsPlate.js +100 -0
- data/jsdoc/app/lib/JSDOC/Lang.js +144 -0
- data/jsdoc/app/lib/JSDOC/Parser.js +109 -0
- data/jsdoc/app/lib/JSDOC/PluginManager.js +33 -0
- data/jsdoc/app/lib/JSDOC/Symbol.js +600 -0
- data/jsdoc/app/lib/JSDOC/SymbolSet.js +220 -0
- data/jsdoc/app/lib/JSDOC/TextStream.js +41 -0
- data/jsdoc/app/lib/JSDOC/Token.js +18 -0
- data/jsdoc/app/lib/JSDOC/TokenReader.js +323 -0
- data/jsdoc/app/lib/JSDOC/TokenStream.js +133 -0
- data/jsdoc/app/lib/JSDOC/Util.js +32 -0
- data/jsdoc/app/lib/JSDOC/Walker.js +416 -0
- data/jsdoc/app/lib/JSDOC.js +97 -0
- data/jsdoc/app/main.js +74 -0
- data/jsdoc/app/plugins/commentSrcJson.js +19 -0
- data/jsdoc/app/plugins/frameworkPrototype.js +16 -0
- data/jsdoc/app/plugins/functionCall.js +10 -0
- data/jsdoc/app/plugins/publishSrcHilite.js +62 -0
- data/jsdoc/app/plugins/sproutcoreTags.js +26 -0
- data/jsdoc/app/plugins/symbolLink.js +9 -0
- data/jsdoc/app/plugins/tagParamConfig.js +31 -0
- data/jsdoc/app/plugins/tagSynonyms.js +43 -0
- data/jsdoc/app/run.js +339 -137
- data/jsdoc/changes.txt +47 -0
- data/jsdoc/conf/sample.conf +31 -0
- data/jsdoc/java/build.xml +36 -0
- data/jsdoc/java/build_1.4.xml +36 -0
- data/jsdoc/java/classes/js.jar +0 -0
- data/jsdoc/java/src/JsDebugRun.java +21 -0
- data/jsdoc/java/src/JsRun.java +21 -0
- data/jsdoc/jsdebug.jar +0 -0
- data/jsdoc/jsrun.jar +0 -0
- data/jsdoc/t/TestDoc.js +144 -0
- data/jsdoc/t/runner.js +13 -0
- data/jsdoc/templates/sproutcore/allclasses.tmpl +17 -0
- data/jsdoc/templates/sproutcore/allfiles.tmpl +56 -0
- data/jsdoc/templates/sproutcore/class.tmpl +408 -326
- data/jsdoc/templates/sproutcore/index.tmpl +30 -31
- data/jsdoc/templates/sproutcore/publish.js +173 -81
- data/jsdoc/templates/sproutcore/static/default.css +191 -0
- data/jsdoc/templates/sproutcore/static/header.html +2 -0
- data/jsdoc/templates/sproutcore/static/index.html +19 -0
- data/jsdoc/templates/sproutcore/symbol.tmpl +35 -0
- data/jsdoc/test/addon.js +24 -0
- data/jsdoc/test/anon_inner.js +14 -0
- data/jsdoc/test/augments.js +31 -0
- data/jsdoc/test/augments2.js +26 -0
- data/jsdoc/test/borrows.js +41 -0
- data/jsdoc/test/borrows2.js +23 -0
- data/jsdoc/test/config.js +22 -0
- data/jsdoc/test/constructs.js +18 -0
- data/jsdoc/test/encoding.js +10 -0
- data/jsdoc/test/encoding_other.js +12 -0
- data/jsdoc/test/functions_anon.js +39 -0
- data/jsdoc/test/functions_nested.js +33 -0
- data/jsdoc/test/global.js +13 -0
- data/jsdoc/test/globals.js +25 -0
- data/jsdoc/test/ignore.js +10 -0
- data/jsdoc/test/inner.js +16 -0
- data/jsdoc/test/jsdoc_test.js +477 -0
- data/jsdoc/test/lend.js +33 -0
- data/jsdoc/test/memberof.js +20 -0
- data/jsdoc/test/memberof_constructor.js +15 -0
- data/jsdoc/test/name.js +19 -0
- data/jsdoc/test/namespace_nested.js +23 -0
- data/jsdoc/test/nocode.js +13 -0
- data/jsdoc/test/oblit_anon.js +20 -0
- data/jsdoc/test/overview.js +20 -0
- data/jsdoc/test/param_inline.js +37 -0
- data/jsdoc/test/params_optional.js +8 -0
- data/jsdoc/test/prototype.js +17 -0
- data/jsdoc/test/prototype_nested.js +9 -0
- data/jsdoc/test/prototype_oblit.js +13 -0
- data/jsdoc/test/prototype_oblit_constructor.js +24 -0
- data/jsdoc/test/public.js +10 -0
- data/jsdoc/test/shared.js +42 -0
- data/jsdoc/test/shared2.js +2 -0
- data/jsdoc/test/shortcuts.js +22 -0
- data/jsdoc/test/static_this.js +13 -0
- data/jsdoc/test/synonyms.js +23 -0
- data/jsdoc/test/tosource.js +23 -0
- data/jsdoc/test/variable_redefine.js +14 -0
- data/jsdoc/test.js +304 -0
- data/lib/sproutcore/build_tools/resource_builder.rb +6 -1
- data/lib/sproutcore/bundle_installer.rb +268 -0
- data/lib/sproutcore/jsdoc.rb +7 -6
- data/lib/sproutcore/library.rb +38 -0
- data/lib/sproutcore/merb/bundle_controller.rb +8 -4
- data/lib/sproutcore/version.rb +1 -1
- data/lib/sproutcore.rb +1 -1
- data/script/destroy +0 -0
- data/script/generate +0 -0
- data/script/txt2html +0 -0
- metadata +117 -29
- data/clients/view_builder/core.js +0 -19
- data/clients/view_builder/english.lproj/body.css +0 -149
- data/clients/view_builder/english.lproj/body.rhtml +0 -18
- data/clients/view_builder/english.lproj/strings.js +0 -14
- data/clients/view_builder/main.js +0 -37
- data/jsdoc/app/DocFile.js +0 -137
- data/jsdoc/app/DocTag.js +0 -110
- data/jsdoc/app/Doclet.js +0 -63
- data/jsdoc/app/Dumper.js +0 -143
- data/jsdoc/app/JsDoc.js +0 -103
- data/jsdoc/app/JsHilite.js +0 -45
- data/jsdoc/app/JsIO.js +0 -163
- data/jsdoc/app/JsParse.js +0 -385
- data/jsdoc/app/JsPlate.js +0 -130
- data/jsdoc/app/JsTestrun.js +0 -129
- data/jsdoc/app/JsToke.js +0 -564
- data/jsdoc/app/Symbol.js +0 -298
- data/jsdoc/app/Transformer.js +0 -14
- data/jsdoc/app/Util.js +0 -97
- data/jsdoc/app/js.jar +0 -0
- data/jsdoc/plugins/min.js +0 -316
- data/jsdoc/plugins/strip.js +0 -20
- data/jsdoc/templates/sproutcore/default.css +0 -191
- data/jsdoc/templates/sproutcore/index.html +0 -13
- data/jsdoc/templates/sproutcore/prototype.js +0 -4186
- data/jsdoc/templates/sproutcore/splash.html +0 -7
@@ -1,8 +1,8 @@
|
|
1
1
|
{!
|
2
2
|
function keys(o) {
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
var keys = [];
|
4
|
+
for (var k in o) { keys.push(k); }
|
5
|
+
return keys;
|
6
6
|
}
|
7
7
|
|
8
8
|
function groupName(path) {
|
@@ -19,38 +19,37 @@ function groupName(path) {
|
|
19
19
|
}
|
20
20
|
};
|
21
21
|
|
22
|
-
function getSymbols(
|
23
|
-
var ret = [
|
22
|
+
function getSymbols(thisClass) {
|
23
|
+
var ret = [thisClass.alias.toLowerCase()] ;
|
24
|
+
var len = thisClass.properties.length ;
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
while(--idx >= 0) {
|
29
|
-
var name = data[idx].name ;
|
30
|
-
if (name) ret.push(name.toLowerCase()) ;
|
31
|
-
}
|
32
|
-
}
|
33
|
-
};
|
34
|
-
|
35
|
-
f(thisClass.properties) ;
|
36
|
-
f(thisClass.methods) ;
|
26
|
+
while (--len>=0) {
|
27
|
+
ret.push(thisClass.properties[len].alias.toLowerCase()) ;
|
28
|
+
}
|
37
29
|
|
38
30
|
return ret.join(' ') ;
|
39
31
|
};
|
40
32
|
|
41
33
|
!}
|
42
|
-
{ records: [
|
43
|
-
|
44
|
-
"
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
34
|
+
{ records: [
|
35
|
+
<for each="thisClass" in="data">
|
36
|
+
<if test="groupName(thisClass.srcFile) !== undefined">
|
37
|
+
{ "type": "Doc",
|
38
|
+
"guid": "{+(thisClass.alias)+}",
|
39
|
+
<if test="!(thisClass.alias == 'SC')">
|
40
|
+
"title": "{+(thisClass.alias)+}",
|
41
|
+
</if>
|
42
|
+
<if test="(thisClass.alias == 'SC')">
|
43
|
+
"title": "SproutCore (SC)",
|
44
|
+
</if>
|
45
|
+
"url": "{+(thisClass.alias)+}.html",
|
46
|
+
<if test="!(thisClass.alias == 'SC')">
|
47
|
+
"group": "{+groupName(thisClass.srcFile)+}",
|
48
|
+
</if>
|
49
|
+
"symbols": "{+getSymbols(thisClass)+}",
|
50
|
+
"path": "{+thisClass.srcFile+}"
|
51
|
+
},
|
52
|
+
</if>
|
53
|
+
</for>
|
54
|
+
]
|
56
55
|
}
|
@@ -1,10 +1,3 @@
|
|
1
|
-
require("app/JsHilite.js");
|
2
|
-
|
3
|
-
function basename(filename) {
|
4
|
-
filename.match(/([^\/\\]+)\.[^\/\\]+$/);
|
5
|
-
return RegExp.$1;
|
6
|
-
}
|
7
|
-
|
8
1
|
// This is the orginial function from Stuart Langridge at http://www.kryogenix.org/
|
9
2
|
// This is the update function from Jeff Minard - http://www.jrm.cc/
|
10
3
|
function superTextile(s) {
|
@@ -21,13 +14,13 @@ function superTextile(s) {
|
|
21
14
|
['~', '~', 'sub'],
|
22
15
|
['\\^', '\\^', 'sup'], // me
|
23
16
|
['{{{', '}}}', 'code']];
|
24
|
-
|
17
|
+
|
25
18
|
for (var i=0;i<qtags.length;i++) {
|
26
19
|
var ttag_o = qtags[i][0], ttag_c = qtags[i][1], htag = qtags[i][2];
|
27
20
|
re = new RegExp(ttag_o+'\\b(.+?)\\b'+ttag_c,'g');
|
28
21
|
r = r.replace(re,'<'+htag+'>'+'$1'+'</'+htag+'>');
|
29
22
|
};
|
30
|
-
|
23
|
+
|
31
24
|
// underscores count as part of a word, so do them separately
|
32
25
|
re = new RegExp('\\b_(.+?)_\\b','g');
|
33
26
|
r = r.replace(re,'<em>$1</em>');
|
@@ -61,16 +54,16 @@ function superTextile(s) {
|
|
61
54
|
|
62
55
|
// handle incode behavior.
|
63
56
|
if (incode) {
|
64
|
-
|
57
|
+
|
65
58
|
// Look for end closing bracket and process it.
|
66
59
|
if (line.match(/^\s*}}}\s*$/)) {
|
67
60
|
incode = 0 ;
|
68
61
|
out.push("<p class=\"code\"><code>" + cur_block.join("<br />") + "</code></p>") ;
|
69
62
|
cur_block = [] ;
|
70
|
-
|
71
|
-
// otherwise, just add the line to the current block
|
63
|
+
|
64
|
+
// otherwise, just add the line to the current block, escaping HTML entities
|
72
65
|
} else {
|
73
|
-
cur_block.push(line) ;
|
66
|
+
cur_block.push(line.split("&").join("&").split("<").join("<").split(">").join(">")) ;
|
74
67
|
}
|
75
68
|
|
76
69
|
// for normal text, look for line-level items to replace. If no
|
@@ -81,17 +74,17 @@ function superTextile(s) {
|
|
81
74
|
if ((line == '') || line.match(/^\s+$/)) {
|
82
75
|
changed = 1 ;
|
83
76
|
line = '' ;
|
84
|
-
|
77
|
+
|
85
78
|
// convert bq. => blockquote.
|
86
79
|
} else if (line.search(/^\s*bq\.\s+/) != -1) {
|
87
80
|
line = line.replace(/^\s*bq\.\s+/,'\t<blockquote>')+'</blockquote>';
|
88
81
|
changed = 1;
|
89
|
-
|
82
|
+
|
90
83
|
// convert h* => heading
|
91
84
|
} else if (line.search(/^\s*h[1|2|3|4|5|6]\.\s+/) != -1) {
|
92
85
|
line = line.replace(/^\s*h([1|2|3|4|5|6])\.(.+)/, '<h$1>$2</h$1>');
|
93
86
|
changed = 1;
|
94
|
-
|
87
|
+
|
95
88
|
// convert - to bulletted list. liu tag will be fixed later.
|
96
89
|
} else if (line.search(/^\s*-\s+/) != -1) {
|
97
90
|
line = line.replace(/^\s*-\s+/,'\t<liu>') + '</liu>'; changed = 1;
|
@@ -101,12 +94,12 @@ function superTextile(s) {
|
|
101
94
|
} else if (line.search(/^\s*\*\s+/) != -1) {
|
102
95
|
line = line.replace(/^\s*\*\s+/,'\t<liu>') + '</liu>'; changed = 1;
|
103
96
|
changed = 1;
|
104
|
-
|
97
|
+
|
105
98
|
// convert # to numbered list. lio tag will be fixed later.
|
106
99
|
} else if (line.search(/^\s*#\s+/) != -1) {
|
107
100
|
line = line.replace(/^\s*#\s+/,'\t<lio>') + '</lio>'; changed = 1;
|
108
101
|
changed = 1;
|
109
|
-
|
102
|
+
|
110
103
|
// open code tag will start code
|
111
104
|
} else if (line.match(/^\s*\{\{\{\s*$/)) {
|
112
105
|
incode++ ;
|
@@ -141,19 +134,19 @@ function superTextile(s) {
|
|
141
134
|
for (var i=0;i<out.length;i++) {
|
142
135
|
line = out[i];
|
143
136
|
var addin = null ;
|
144
|
-
|
137
|
+
|
145
138
|
if (inlist && listtype == 'ul' && !line.match(/^\t<liu/)) {
|
146
139
|
addin = '</ul>\n'; inlist = 0;
|
147
140
|
}
|
148
|
-
|
141
|
+
|
149
142
|
if (inlist && listtype == 'ol' && !line.match(/^\t<lio/)) {
|
150
143
|
addin = '</ol>\n'; inlist = 0;
|
151
144
|
}
|
152
|
-
|
145
|
+
|
153
146
|
if (!inlist && line.match(/^\t<liu/)) {
|
154
147
|
line = '<ul>' + line; inlist = 1; listtype = 'ul';
|
155
148
|
}
|
156
|
-
|
149
|
+
|
157
150
|
if (!inlist && line.match(/^\t<lio/)) {
|
158
151
|
line = '<ol>' + line; inlist = 1; listtype = 'ol';
|
159
152
|
}
|
@@ -169,73 +162,172 @@ function superTextile(s) {
|
|
169
162
|
r = r.replace(/li[o|u]>/g,'li>');
|
170
163
|
|
171
164
|
return r;
|
172
|
-
}
|
165
|
+
};
|
173
166
|
|
174
|
-
function publish(
|
175
|
-
|
176
|
-
|
167
|
+
function publish(symbolSet) {
|
168
|
+
publish.conf = { // trailing slash expected for dirs
|
169
|
+
ext: ".html",
|
170
|
+
outDir: JSDOC.opt.d || SYS.pwd+"../out/jsdoc/",
|
171
|
+
templatesDir: SYS.pwd+"../templates/sproutcore/",
|
172
|
+
symbolsDir: "symbols/",
|
173
|
+
srcDir: "symbols/src/"
|
174
|
+
};
|
177
175
|
|
178
|
-
var allFiles = {};
|
179
|
-
var allClasses = {};
|
180
|
-
var globals = {methods:[], properties:[], alias:"GLOBALS", isStatic:true};
|
181
176
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
for (var s = 0; s < fileGroup.files[i].symbols.length; s++) {
|
187
|
-
if (fileGroup.files[i].symbols[s].isa == "CONSTRUCTOR") {
|
188
|
-
var thisClass = fileGroup.files[i].symbols[s];
|
189
|
-
// sort inherited methods by class
|
190
|
-
var inheritedMethods = fileGroup.files[i].symbols[s].getInheritedMethods();
|
191
|
-
if (inheritedMethods.length > 0) {
|
192
|
-
thisClass.inherited = {};
|
193
|
-
for (var n = 0; n < inheritedMethods.length; n++) {
|
194
|
-
if (! thisClass.inherited[inheritedMethods[n].memberof]) thisClass.inherited[inheritedMethods[n].memberof] = [];
|
195
|
-
thisClass.inherited[inheritedMethods[n].memberof].push(inheritedMethods[n]);
|
196
|
-
}
|
197
|
-
}
|
198
|
-
|
199
|
-
thisClass.name = fileGroup.files[i].symbols[s].alias;
|
200
|
-
thisClass.source = file_srcname;
|
201
|
-
thisClass.filename = fileGroup.files[i].filename;
|
202
|
-
thisClass.docs = thisClass.name+".html";
|
203
|
-
|
204
|
-
if (!allClasses[thisClass.name]) allClasses[thisClass.name] = [];
|
205
|
-
allClasses[thisClass.name].push(thisClass);
|
206
|
-
}
|
207
|
-
else if (fileGroup.files[i].symbols[s].alias == fileGroup.files[i].symbols[s].name) {
|
208
|
-
if (fileGroup.files[i].symbols[s].isa == "FUNCTION") {
|
209
|
-
globals.methods.push(fileGroup.files[i].symbols[s]);
|
210
|
-
}
|
211
|
-
else {
|
212
|
-
globals.properties.push(fileGroup.files[i].symbols[s]);
|
213
|
-
}
|
214
|
-
}
|
177
|
+
if (JSDOC.opt.s && defined(Link) && Link.prototype._makeSrcLink) {
|
178
|
+
Link.prototype._makeSrcLink = function(srcFilePath) {
|
179
|
+
return "<"+srcFilePath+">";
|
215
180
|
}
|
181
|
+
}
|
182
|
+
|
183
|
+
IO.mkPath((publish.conf.outDir+"symbols/src").split("/"));
|
216
184
|
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
185
|
+
// used to check the details of things being linked to
|
186
|
+
Link.symbolSet = symbolSet;
|
187
|
+
|
188
|
+
try {
|
189
|
+
var classTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"class.tmpl");
|
190
|
+
var classesTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"allclasses.tmpl");
|
191
|
+
}
|
192
|
+
catch(e) {
|
193
|
+
print(e.message);
|
194
|
+
quit();
|
223
195
|
}
|
224
196
|
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
197
|
+
// filters
|
198
|
+
function hasNoParent($) {return ($.memberOf == "")}
|
199
|
+
function isaFile($) {return ($.is("FILE"))}
|
200
|
+
function isaClass($) {return ($.is("CONSTRUCTOR") || $.isNamespace)}
|
201
|
+
|
202
|
+
var symbols = symbolSet.toArray();
|
203
|
+
|
204
|
+
var files = JSDOC.opt.srcFiles;
|
205
|
+
for (var i = 0, l = files.length; i < l; i++) {
|
206
|
+
var file = files[i];
|
207
|
+
var srcDir = publish.conf.outDir + "symbols/src/";
|
208
|
+
makeSrcFile(file, srcDir);
|
209
|
+
}
|
210
|
+
|
211
|
+
var classes = symbols.filter(isaClass).sort(makeSortby("alias"));
|
212
|
+
|
213
|
+
Link.base = "../";
|
214
|
+
publish.classesIndex = classesTemplate.process(classes); // kept in memory
|
215
|
+
|
216
|
+
for (var i = 0, l = classes.length; i < l; i++) {
|
217
|
+
var symbol = classes[i];
|
218
|
+
var output = "";
|
219
|
+
output = classTemplate.process(symbol);
|
220
|
+
|
221
|
+
IO.saveFile(publish.conf.outDir+"symbols/", symbol.alias+publish.conf.ext, output);
|
222
|
+
}
|
223
|
+
|
224
|
+
// regenrate the index with different relative links
|
225
|
+
Link.base = "";
|
226
|
+
publish.classesIndex = classesTemplate.process(classes);
|
227
|
+
|
228
|
+
try {
|
229
|
+
var classesindexTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"index.tmpl");
|
230
|
+
}
|
231
|
+
catch(e) { print(e.message); quit(); }
|
232
|
+
|
233
|
+
var classesIndex = classesindexTemplate.process(classes);
|
234
|
+
// IO.saveFile(publish.conf.outDir, "index"+publish.conf.ext, classesIndex);
|
235
|
+
IO.saveFile(publish.conf.outDir, "classes.js", classesIndex);
|
236
|
+
classesindexTemplate = classesIndex = classes = null;
|
237
|
+
|
238
|
+
try {
|
239
|
+
var fileindexTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"allfiles.tmpl");
|
230
240
|
}
|
241
|
+
catch(e) { print(e.message); quit(); }
|
231
242
|
|
232
|
-
|
233
|
-
|
243
|
+
var documentedFiles = symbols.filter(isaFile);
|
244
|
+
var allFiles = [];
|
234
245
|
|
235
|
-
var
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
246
|
+
for (var i = 0; i < files.length; i++) {
|
247
|
+
allFiles.push(new JSDOC.Symbol(files[i], [], "FILE", new JSDOC.DocComment("/** */")));
|
248
|
+
}
|
249
|
+
|
250
|
+
for (var i = 0; i < documentedFiles.length; i++) {
|
251
|
+
var offset = files.indexOf(documentedFiles[i].alias);
|
252
|
+
allFiles[offset] = documentedFiles[i];
|
253
|
+
}
|
254
|
+
|
255
|
+
allFiles = allFiles.sort(makeSortby("name"));
|
256
|
+
|
257
|
+
var filesIndex = fileindexTemplate.process(allFiles);
|
258
|
+
IO.saveFile(publish.conf.outDir, "files"+publish.conf.ext, filesIndex);
|
259
|
+
fileindexTemplate = filesIndex = files = null;
|
260
|
+
}
|
261
|
+
|
262
|
+
|
263
|
+
/** Just the first sentence. */
|
264
|
+
function summarize(desc) {
|
265
|
+
if (typeof desc != "undefined")
|
266
|
+
return desc.match(/([\w\W]+?\.)[^a-z0-9]/i)? RegExp.$1 : desc;
|
267
|
+
}
|
268
|
+
|
269
|
+
/** make a symbol sorter by some attribute */
|
270
|
+
function makeSortby(attribute) {
|
271
|
+
return function(a, b) {
|
272
|
+
if (a[attribute] != undefined && b[attribute] != undefined) {
|
273
|
+
a = a[attribute].toLowerCase();
|
274
|
+
b = b[attribute].toLowerCase();
|
275
|
+
if (a < b) return -1;
|
276
|
+
if (a > b) return 1;
|
277
|
+
return 0;
|
278
|
+
}
|
279
|
+
}
|
241
280
|
}
|
281
|
+
|
282
|
+
function include(path) {
|
283
|
+
var path = publish.conf.templatesDir+path;
|
284
|
+
return IO.readFile(path);
|
285
|
+
}
|
286
|
+
|
287
|
+
function makeSrcFile(path, srcDir, name) {
|
288
|
+
if (JSDOC.opt.s) return;
|
289
|
+
|
290
|
+
if (!name) {
|
291
|
+
name = path.replace(/\.\.?[\\\/]/g, "").replace(/[\\\/]/g, "_");
|
292
|
+
name = name.replace(/\:/g, "_");
|
293
|
+
}
|
294
|
+
|
295
|
+
var src = {path: path, name:name, charset: IO.encoding, hilited: ""};
|
296
|
+
|
297
|
+
if (defined(JSDOC.PluginManager)) {
|
298
|
+
JSDOC.PluginManager.run("onPublishSrc", src);
|
299
|
+
}
|
300
|
+
|
301
|
+
if (src.hilited) {
|
302
|
+
IO.saveFile(srcDir, name+publish.conf.ext, src.hilited);
|
303
|
+
}
|
304
|
+
}
|
305
|
+
|
306
|
+
function makeSignature(params) {
|
307
|
+
if (!params) return "()";
|
308
|
+
var signature = "("
|
309
|
+
+
|
310
|
+
params.filter(
|
311
|
+
function($) {
|
312
|
+
return $.name.indexOf(".") == -1; // don't show config params in signature
|
313
|
+
}
|
314
|
+
).map(
|
315
|
+
function($) {
|
316
|
+
return $.name;
|
317
|
+
}
|
318
|
+
).join(", ")
|
319
|
+
+
|
320
|
+
")";
|
321
|
+
return signature;
|
322
|
+
}
|
323
|
+
|
324
|
+
/** Find symbol {@link ...} strings in text and turn into html links */
|
325
|
+
function resolveLinks(str, from) {
|
326
|
+
str = str.replace(/\{@link ([^} ]+) ?\}/gi,
|
327
|
+
function(match, symbolName) {
|
328
|
+
return new Link().toSymbol(symbolName);
|
329
|
+
}
|
330
|
+
);
|
331
|
+
|
332
|
+
return str;
|
333
|
+
}
|
@@ -0,0 +1,191 @@
|
|
1
|
+
/* @override http://localhost:4020/static/sproutcore/-docs/data/default.css */
|
2
|
+
|
3
|
+
/* @group Core */
|
4
|
+
|
5
|
+
body.sc-doc {
|
6
|
+
background-color: white ;
|
7
|
+
padding: 20px;
|
8
|
+
}
|
9
|
+
|
10
|
+
.sc-doc {
|
11
|
+
font: 64.5% Helvetica, Arial, Verdana, sans-serif;
|
12
|
+
line-height: 1em ;
|
13
|
+
}
|
14
|
+
|
15
|
+
/* Set standard size on some things. */
|
16
|
+
.sc-doc p,
|
17
|
+
.sc-doc dd,
|
18
|
+
.sc-doc dt,
|
19
|
+
.sc-doc li,
|
20
|
+
.sc-doc table {
|
21
|
+
line-height: 1.3em;
|
22
|
+
font-size: 1.3em ;
|
23
|
+
}
|
24
|
+
|
25
|
+
.sc-doc h1 {
|
26
|
+
font-size: 3em;
|
27
|
+
margin: 0 0 1em 0;
|
28
|
+
text-transform: capitalize;
|
29
|
+
}
|
30
|
+
|
31
|
+
.sc-doc h2 {
|
32
|
+
padding: 0;
|
33
|
+
padding-bottom: 4px;
|
34
|
+
border-bottom: 1px #555 solid;
|
35
|
+
text-transform: capitalize;
|
36
|
+
margin: 1.5em 0 0;
|
37
|
+
font-size: 2.2em;
|
38
|
+
}
|
39
|
+
|
40
|
+
.sc-doc h3 {
|
41
|
+
font-size: 2em;
|
42
|
+
padding: 0;
|
43
|
+
margin: 3em 0 0 0;
|
44
|
+
}
|
45
|
+
|
46
|
+
.sc-doc h4 {
|
47
|
+
font-weight: normal ;
|
48
|
+
font-size: 1.4em;
|
49
|
+
margin: 0.5em 0 0 0;
|
50
|
+
padding: 0;
|
51
|
+
}
|
52
|
+
|
53
|
+
.sc-doc h5 {
|
54
|
+
font-size: 1.3em;
|
55
|
+
padding: 0;
|
56
|
+
margin: 1.3em 0 0.5em 0;
|
57
|
+
}
|
58
|
+
|
59
|
+
.sc-doc p { margin: 0.5em 0; }
|
60
|
+
|
61
|
+
.sc-doc a {
|
62
|
+
text-decoration: none ;
|
63
|
+
}
|
64
|
+
|
65
|
+
.sc-doc label {
|
66
|
+
font-weight: bold ;
|
67
|
+
}
|
68
|
+
|
69
|
+
.sc-doc .sc-theme .ghost {
|
70
|
+
-moz-user-select: none;
|
71
|
+
-khtml-user-select: none;
|
72
|
+
user-select: none;
|
73
|
+
opacity: 0.45;
|
74
|
+
-moz-opacity: .45 ;
|
75
|
+
}
|
76
|
+
|
77
|
+
.sc-doc dt {
|
78
|
+
font-style: italic;
|
79
|
+
}
|
80
|
+
|
81
|
+
.sc-doc dd {
|
82
|
+
margin: 0 0 1em 1em;
|
83
|
+
}
|
84
|
+
|
85
|
+
/* @end */
|
86
|
+
|
87
|
+
/* @group Summary Table */
|
88
|
+
|
89
|
+
.sc-doc table.summary {
|
90
|
+
min-width: 600px;
|
91
|
+
border: 1px #999 solid;
|
92
|
+
border-bottom: none ;
|
93
|
+
border-spacing: 0;
|
94
|
+
margin-bottom: 2em;
|
95
|
+
}
|
96
|
+
|
97
|
+
.sc-doc table.summary td {
|
98
|
+
border-bottom: 1px #999 solid;
|
99
|
+
border-collapse: collapse;
|
100
|
+
padding: 0.5em;
|
101
|
+
text-align: left ;
|
102
|
+
}
|
103
|
+
|
104
|
+
.sc-doc table.summary .even td {
|
105
|
+
background-color: #eef;
|
106
|
+
}
|
107
|
+
|
108
|
+
.sc-doc table.summary td.label {
|
109
|
+
font-weight: bold ;
|
110
|
+
width: 100px;
|
111
|
+
text-align: right ;
|
112
|
+
padding-right: 4px;
|
113
|
+
}
|
114
|
+
|
115
|
+
.sc-doc table.summary td.value {
|
116
|
+
min-width: 300px;
|
117
|
+
width: 300px;
|
118
|
+
}
|
119
|
+
|
120
|
+
/* @end */
|
121
|
+
|
122
|
+
/* @group Field & Method Summary */
|
123
|
+
|
124
|
+
.sc-doc .summary li {
|
125
|
+
list-style-type: none ;
|
126
|
+
position: relative;
|
127
|
+
}
|
128
|
+
|
129
|
+
.sc-doc .summary li code {
|
130
|
+
font-size: 1.1em;
|
131
|
+
}
|
132
|
+
|
133
|
+
.sc-doc .summary li .description {
|
134
|
+
display: none ;
|
135
|
+
}
|
136
|
+
|
137
|
+
.sc-doc .summary li:hover .description {
|
138
|
+
display: block ;
|
139
|
+
font-size: 0.86em;
|
140
|
+
position: absolute ;
|
141
|
+
left: 80px;
|
142
|
+
bottom: 2em;
|
143
|
+
padding: 0.3em 1em ;
|
144
|
+
background-color: #fff898;
|
145
|
+
border: 1px solid #bbae2f;
|
146
|
+
/* -webkit-box-shadow: rgba(0,0,0,0.3) 0px 2px 5px; */
|
147
|
+
color: #4b4000;
|
148
|
+
z-index: 100;
|
149
|
+
}
|
150
|
+
|
151
|
+
/* @end */
|
152
|
+
|
153
|
+
/* @group Detail */
|
154
|
+
|
155
|
+
.sc-doc .detail p.signature {
|
156
|
+
padding: 0;
|
157
|
+
margin: 1em 0;
|
158
|
+
font-family: Courier, mono;
|
159
|
+
}
|
160
|
+
|
161
|
+
.sc-doc .detail p.signature .type {
|
162
|
+
font-style: italic;
|
163
|
+
}
|
164
|
+
|
165
|
+
.sc-doc .detail p.signature .name {
|
166
|
+
font-weight: bold ;
|
167
|
+
}
|
168
|
+
|
169
|
+
/* @end */
|
170
|
+
|
171
|
+
.sc-doc .jsdoc_ctime {
|
172
|
+
border-top: 1px #ccc solid ;
|
173
|
+
padding: 4px 0;
|
174
|
+
margin-top: 20px;
|
175
|
+
margin-bottom: 0px;
|
176
|
+
font-size: 1.0em;
|
177
|
+
text-align: center ;
|
178
|
+
color: #888 ;
|
179
|
+
}
|
180
|
+
|
181
|
+
/* @group Description */
|
182
|
+
|
183
|
+
.sc-doc .description blockquote,
|
184
|
+
.sc-doc .description p.code {
|
185
|
+
padding: 10px ;
|
186
|
+
margin: 10px 20px;
|
187
|
+
background-color: #f5f5f5 ;
|
188
|
+
border: 1px #ccc solid ;
|
189
|
+
}
|
190
|
+
|
191
|
+
/* @end */
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
6
|
+
<title>Generated Javascript Documentation</title>
|
7
|
+
</head>
|
8
|
+
<frameset cols="20%,80%">
|
9
|
+
<frame src="allclasses-frame.html" name="packageFrame" />
|
10
|
+
<frame src="splash.html" name="classFrame" />
|
11
|
+
<noframes>
|
12
|
+
<body>
|
13
|
+
<p>
|
14
|
+
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
|
15
|
+
</p>
|
16
|
+
</body>
|
17
|
+
</noframes>
|
18
|
+
</frameset>
|
19
|
+
</html>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<symbol alias="{+data.alias+}">
|
2
|
+
<name>{+data.name+}</name>
|
3
|
+
<memberOf>{+data.memberOf+}</memberOf>
|
4
|
+
<isStatic>{+data.isStatic+}</isStatic>
|
5
|
+
<isa>{+data.isa+}</isa>
|
6
|
+
<desc>{+data.desc+}</desc>
|
7
|
+
<classDesc>{+data.classDesc+}</classDesc>
|
8
|
+
|
9
|
+
<methods><for each="method" in="data.methods">
|
10
|
+
<method>
|
11
|
+
<name>{+method.name+}</name>
|
12
|
+
<memberOf>{+method.memberOf+}</memberOf>
|
13
|
+
<isStatic>{+method.isStatic+}</isStatic>
|
14
|
+
<desc>{+method.desc+}</desc>
|
15
|
+
<params><for each="param" in="method.params">
|
16
|
+
<param>
|
17
|
+
<type>{+param.type+}</type>
|
18
|
+
<name>{+param.name+}</name>
|
19
|
+
<desc>{+param.desc+}</desc>
|
20
|
+
<defaultValue>{+param.defaultValue+}</defaultValue>
|
21
|
+
</param></for>
|
22
|
+
</params>
|
23
|
+
</method></for>
|
24
|
+
</methods>
|
25
|
+
|
26
|
+
<properties><for each="property" in="data.properties">
|
27
|
+
<property>
|
28
|
+
<name>{+property.name+}</name>
|
29
|
+
<memberOf>{+property.memberOf+}</memberOf>
|
30
|
+
<isStatic>{+property.isStatic+}</isStatic>
|
31
|
+
<desc>{+property.desc+}</desc>
|
32
|
+
<type>{+property.type+}</type>
|
33
|
+
</property></for>
|
34
|
+
</properties>
|
35
|
+
</symbol>
|
data/jsdoc/test/addon.js
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
String.prototype.reverse = function() {
|
2
|
+
}
|
3
|
+
|
4
|
+
String.prototype.reverse.utf8 = function() {
|
5
|
+
}
|
6
|
+
|
7
|
+
Function.count = function() {
|
8
|
+
}
|
9
|
+
|
10
|
+
/** @memberOf Function */
|
11
|
+
Function.count.reset = function() {
|
12
|
+
}
|
13
|
+
|
14
|
+
/** @memberOf Function */
|
15
|
+
count.getValue = function() {
|
16
|
+
}
|
17
|
+
|
18
|
+
/** @memberOf Function.prototype */
|
19
|
+
getSig = function() {
|
20
|
+
}
|
21
|
+
|
22
|
+
/** @memberOf Function.prototype */
|
23
|
+
Function.prototype.getProps = function() {
|
24
|
+
}
|