jsduck 3.1.0 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +14 -9
- data/Rakefile +31 -230
- data/jsduck.gemspec +2 -2
- data/lib/jsduck/accessors.rb +14 -6
- data/lib/jsduck/aggregator.rb +9 -4
- data/lib/jsduck/app.rb +1 -0
- data/lib/jsduck/app_data.rb +14 -7
- data/lib/jsduck/app_exporter.rb +3 -3
- data/lib/jsduck/class.rb +8 -5
- data/lib/jsduck/class_formatter.rb +1 -3
- data/lib/jsduck/css_parser.rb +1 -1
- data/lib/jsduck/doc_formatter.rb +140 -36
- data/lib/jsduck/doc_parser.rb +27 -44
- data/lib/jsduck/index_html.rb +0 -3
- data/lib/jsduck/inherit_doc.rb +20 -4
- data/lib/jsduck/js_parser.rb +1 -1
- data/lib/jsduck/lint.rb +15 -0
- data/lib/jsduck/logger.rb +9 -7
- data/lib/jsduck/merger.rb +18 -16
- data/lib/jsduck/meta_tag.rb +28 -5
- data/lib/jsduck/meta_tag_loader.rb +38 -21
- data/lib/jsduck/meta_tag_registry.rb +79 -0
- data/lib/jsduck/options.rb +69 -12
- data/lib/jsduck/renderer.rb +10 -38
- data/lib/jsduck/search_data.rb +53 -3
- data/lib/jsduck/tag/abstract.rb +14 -0
- data/lib/jsduck/{author_tag.rb → tag/author.rb} +2 -2
- data/lib/jsduck/tag/deprecated.rb +33 -0
- data/lib/jsduck/{doc_author_tag.rb → tag/docauthor.rb} +2 -2
- data/lib/jsduck/tag/markdown.rb +12 -0
- data/lib/jsduck/tag/preventable.rb +28 -0
- data/lib/jsduck/tag/protected.rb +14 -0
- data/lib/jsduck/tag/readonly.rb +14 -0
- data/lib/jsduck/tag/required.rb +21 -0
- data/lib/jsduck/tag/static.rb +14 -0
- data/lib/jsduck/tag/template.rb +23 -0
- data/opt/example.js +149 -0
- metadata +17 -9
- data/opt/extjs-welcome.html +0 -74
- data/opt/touch-iframe.html +0 -85
- data/opt/touch-welcome.html +0 -122
data/README.md
CHANGED
@@ -77,15 +77,18 @@ documentation. Guides, videos and examples will not be present.
|
|
77
77
|
These can be added using more command line options as explained in the
|
78
78
|
[Advanced Usage][adv] section of wiki.
|
79
79
|
|
80
|
-
Running JSDuck
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
80
|
+
Running latest JSDuck is expected to generate lots of warnings.
|
81
|
+
That's because some warning types were added after Ext JS 4.0.7
|
82
|
+
release. Sorry for that, JSDuck just wants to be helpful. If you are
|
83
|
+
overwhelmed by the warnings, you can disable them selectively using
|
84
|
+
something like `--warnings=-link_ambiguous,-no_doc` or you could
|
85
|
+
disable them all by `--warnings=-all`.
|
86
|
+
|
87
|
+
Another thing that often happens is that JSDuck is unable to determine
|
88
|
+
into which class a member belongs and will place all such items into a
|
89
|
+
global class - you can disable this using the `--ignore-global`
|
90
|
+
switch. For full list of all command line options type
|
91
|
+
`jsduck --help=full`.
|
89
92
|
|
90
93
|
[adv]: https://github.com/senchalabs/jsduck/wiki/Advanced-Usage
|
91
94
|
|
@@ -100,7 +103,9 @@ Documenting your code
|
|
100
103
|
---------------------
|
101
104
|
|
102
105
|
All the supported syntax is described in the [Guide][].
|
106
|
+
For quick overview take a look at [example.js][example].
|
103
107
|
|
108
|
+
[example]: https://github.com/senchalabs/jsduck/blob/master/opt/example.js
|
104
109
|
|
105
110
|
Copying
|
106
111
|
-------
|
data/Rakefile
CHANGED
@@ -154,34 +154,6 @@ class JsDuckRunner
|
|
154
154
|
@options += options
|
155
155
|
end
|
156
156
|
|
157
|
-
def add_sdk
|
158
|
-
head_html = <<-EOHTML
|
159
|
-
<link rel="canonical" href="http://docs.sencha.com/ext-js/4-0/" />
|
160
|
-
<meta name="description" content="Ext JS 4.0 API Documentation from Sencha. Class documentation, Guides and Videos on how to create Javascript applications with Ext JS 4" />
|
161
|
-
EOHTML
|
162
|
-
|
163
|
-
@options += [
|
164
|
-
"--title", "Sencha Docs - Ext JS 4.0",
|
165
|
-
"--head-html", head_html,
|
166
|
-
"--footer", "Ext JS 4.0.7 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a> rev #{revision}",
|
167
|
-
"--welcome", "opt/extjs-welcome.html",
|
168
|
-
"--guides", "#{@sdk_dir}/extjs/docs/guides.json",
|
169
|
-
"--videos", "#{@sdk_dir}/extjs/docs/videos.json",
|
170
|
-
"--examples", "#{@sdk_dir}/extjs/examples/examples.json",
|
171
|
-
"--categories", "#{@sdk_dir}/extjs/docs/categories.json",
|
172
|
-
"--local-storage-db", "ext-4",
|
173
|
-
"--output", "#{@out_dir}",
|
174
|
-
"--builtin-classes",
|
175
|
-
"--images", "#{@sdk_dir}/extjs/docs/resources",
|
176
|
-
"--images", "#{@sdk_dir}/platform/docs/resources",
|
177
|
-
"--stats",
|
178
|
-
"#{@sdk_dir}/extjs/src",
|
179
|
-
"#{@sdk_dir}/platform/src",
|
180
|
-
"#{@sdk_dir}/platform/core/src",
|
181
|
-
"#{@sdk_dir}/extjs/examples/ux",
|
182
|
-
]
|
183
|
-
end
|
184
|
-
|
185
157
|
def add_relative_examples_path
|
186
158
|
@options += ["--head-html", <<-EOHTML]
|
187
159
|
<script type="text/javascript">
|
@@ -215,34 +187,10 @@ class JsDuckRunner
|
|
215
187
|
end
|
216
188
|
end
|
217
189
|
|
218
|
-
def add_ext3
|
219
|
-
head_html = <<-EOHTML
|
220
|
-
<link rel="canonical" href="http://docs.sencha.com/ext-js/3-4/" />
|
221
|
-
<meta name="description" content="Ext JS 3.4 API Documentation from Sencha. Class documentation, Guides and Videos on how to create Javascript applications with Ext JS 3.4" />
|
222
|
-
EOHTML
|
223
|
-
|
224
|
-
@options += [
|
225
|
-
"--title", "Sencha Docs - Ext JS 3.4",
|
226
|
-
"--footer", "Ext JS 3.4 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a> revison #{revision}",
|
227
|
-
"--categories", "#{@sdk_dir}/../ext-3.4.0/src/categories.json",
|
228
|
-
"--ignore-global",
|
229
|
-
"--local-storage-db", "ext-3",
|
230
|
-
"--output", "#{@out_dir}",
|
231
|
-
"#{@sdk_dir}/../ext-3.4.0/src/core",
|
232
|
-
"#{@sdk_dir}/../ext-3.4.0/src/data",
|
233
|
-
"#{@sdk_dir}/../ext-3.4.0/src/dd",
|
234
|
-
"#{@sdk_dir}/../ext-3.4.0/src/direct",
|
235
|
-
"#{@sdk_dir}/../ext-3.4.0/src/ext-core/src",
|
236
|
-
"#{@sdk_dir}/../ext-3.4.0/src/state",
|
237
|
-
"#{@sdk_dir}/../ext-3.4.0/src/util",
|
238
|
-
"#{@sdk_dir}/../ext-3.4.0/src/widgets"
|
239
|
-
]
|
240
|
-
end
|
241
|
-
|
242
190
|
def add_ext4
|
243
191
|
@options += [
|
244
192
|
"--title", "Sencha Docs - Ext JS 4.0",
|
245
|
-
"--footer", "Ext JS 4.0 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a>
|
193
|
+
"--footer", "Ext JS 4.0 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a> VERSION. <a href='http://www.sencha.com/legal/terms-of-use/'>Terms of Use</a>",
|
246
194
|
"--ignore-global",
|
247
195
|
"--no-warnings",
|
248
196
|
"--images", "#{@ext_dir}/docs/doc-resources",
|
@@ -252,74 +200,22 @@ class JsDuckRunner
|
|
252
200
|
]
|
253
201
|
end
|
254
202
|
|
255
|
-
def add_touch
|
256
|
-
head_html = <<-EOHTML
|
257
|
-
<link rel="canonical" href="http://docs.sencha.com/touch/1-1/" />
|
258
|
-
<meta name="description" content="Sencha Touch 1.1 API Documentation from Sencha. Documentation on how to create Javascript applications with Sencha Touch" />
|
259
|
-
EOHTML
|
260
|
-
|
261
|
-
@options += [
|
262
|
-
"--title", "Sencha Docs - Touch 1.1",
|
263
|
-
"--head-html", head_html,
|
264
|
-
"--footer", "Sencha Touch 1.1 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a> revison #{revision}",
|
265
|
-
"--categories", "#{@sdk_dir}/touch/doc-resources/categories.json",
|
266
|
-
"--videos", "#{@sdk_dir}/touch/doc-resources/videos.json",
|
267
|
-
"--local-storage-db", "touch-1",
|
268
|
-
"--output", "#{@out_dir}",
|
269
|
-
"--external=google.maps.Map,google.maps.LatLng",
|
270
|
-
"--images", "#{@sdk_dir}/touch/doc-resources",
|
271
|
-
"#{@sdk_dir}/touch/resources/themes/stylesheets/sencha-touch/default",
|
272
|
-
]
|
273
|
-
|
274
|
-
@options += extract_jsb_build_files("#{@sdk_dir}/touch/sencha-touch.jsb3")
|
275
|
-
end
|
276
|
-
|
277
|
-
def add_touch2
|
278
|
-
head_html = <<-EOHTML
|
279
|
-
<link rel="canonical" href="http://docs.sencha.com/touch/2-0/" />
|
280
|
-
<meta name="description" content="Sencha Touch 2.0 API Documentation from Sencha. Documentation on how to create Javascript applications with Sencha Touch" />
|
281
|
-
EOHTML
|
282
|
-
|
283
|
-
@options += [
|
284
|
-
"--title", "Sencha Docs - Touch 2.0",
|
285
|
-
"--head-html", head_html,
|
286
|
-
"--footer", "Sencha Touch 2.0 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a> revison #{revision}",
|
287
|
-
"--categories", "#{@sdk_dir}/touch/docs/categories.json",
|
288
|
-
"--welcome", "opt/touch-welcome.html",
|
289
|
-
"--videos", "#{@sdk_dir}/touch/docs/videos.json",
|
290
|
-
"--guides", "#{@sdk_dir}/touch/docs/guides.json",
|
291
|
-
"--examples", "#{@sdk_dir}/touch/docs/examples.json",
|
292
|
-
"--touch-examples-ui",
|
293
|
-
"--local-storage-db", "touch-2",
|
294
|
-
"--output", "#{@out_dir}",
|
295
|
-
"--external=google.maps.Map,google.maps.LatLng",
|
296
|
-
"--builtin-classes",
|
297
|
-
"--img", "<p class='screenshot'><img src='%u' alt='%a'><span>%a</span></p>",
|
298
|
-
"--eg-iframe", "opt/touch-iframe.html",
|
299
|
-
"--warnings=-image",
|
300
|
-
# "--stats",
|
301
|
-
"#{@sdk_dir}/touch/resources/themes/stylesheets/sencha-touch/default",
|
302
|
-
]
|
303
|
-
|
304
|
-
@options += extract_jsb_build_files("#{@sdk_dir}/touch/touch.jsb3")
|
305
|
-
end
|
306
|
-
|
307
203
|
def add_touch_export
|
308
204
|
@options += [
|
309
205
|
"--json",
|
310
206
|
"--output", "#{@out_dir}/../export/touch1",
|
311
207
|
"--external=google.maps.Map,google.maps.LatLng",
|
208
|
+
"#{@sdk_dir}/touch/sencha-touch.jsb3",
|
312
209
|
]
|
313
|
-
@options += extract_jsb_build_files("#{@sdk_dir}/touch/sencha-touch.jsb3")
|
314
210
|
end
|
315
211
|
|
316
212
|
def add_touch2_export
|
317
213
|
@options += [
|
318
|
-
"--
|
214
|
+
"--export", "full",
|
319
215
|
"--output", "#{@out_dir}/../export/touch2",
|
320
216
|
"--external=google.maps.Map,google.maps.LatLng",
|
217
|
+
"#{@sdk_dir}/touch/touch.jsb3",
|
321
218
|
]
|
322
|
-
@options += extract_jsb_build_files("#{@sdk_dir}/touch/touch.jsb3")
|
323
219
|
end
|
324
220
|
|
325
221
|
def set_touch2_src
|
@@ -354,82 +250,6 @@ class JsDuckRunner
|
|
354
250
|
]
|
355
251
|
end
|
356
252
|
|
357
|
-
def add_touch_charts
|
358
|
-
head_html = <<-EOHTML
|
359
|
-
<link rel="canonical" href="http://docs.sencha.com/touch-charts/1-0/" />
|
360
|
-
<meta name="description" content="Sencha Touch Charts 1.0 API Documentation. Documentation on how to create Charts with Sencha Touch" />
|
361
|
-
EOHTML
|
362
|
-
|
363
|
-
@options += [
|
364
|
-
"--title", "Sencha Docs - Touch Charts 1.0",
|
365
|
-
"--head-html", head_html,
|
366
|
-
"--footer", "Sencha Touch Charts 1.0 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a>",
|
367
|
-
"--categories", "#{@sdk_dir}/charts/docs/categories.json",
|
368
|
-
"--guides", "#{@sdk_dir}/charts/docs/guides.json",
|
369
|
-
"--images", "#{@sdk_dir}/charts/docs/resources",
|
370
|
-
"--local-storage-db", "touch-charts",
|
371
|
-
"--output", "#{@out_dir}"
|
372
|
-
]
|
373
|
-
|
374
|
-
@options += extract_jsb_build_files("#{@sdk_dir}/charts/touch-charts.jsb3")
|
375
|
-
end
|
376
|
-
|
377
|
-
def add_sencha_io
|
378
|
-
head_html = <<-EOHTML
|
379
|
-
<link rel="canonical" href="http://docs.sencha.com/sencha-io/1-0/" />
|
380
|
-
<meta name="description" content="Sencha.io 1.0 API Documentation. Documentation on how to use the Sencha.io SDK" />
|
381
|
-
EOHTML
|
382
|
-
|
383
|
-
@options += [
|
384
|
-
"--title", "Sencha Docs - IO 1.0",
|
385
|
-
"--head-html", head_html,
|
386
|
-
"--footer", "Sencha.io 1.0 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a>",
|
387
|
-
"--guides", "#{@sdk_dir}/../sync/docs/guides.json",
|
388
|
-
"--images", "#{@sdk_dir}/../sync/docs/resources",
|
389
|
-
"--local-storage-db", "sencha-io",
|
390
|
-
"--ignore-global",
|
391
|
-
"--output", "#{@out_dir}"
|
392
|
-
]
|
393
|
-
|
394
|
-
@options += extract_jsb_build_files("#{@sdk_dir}/../sync/sencha-io.jsb3")
|
395
|
-
end
|
396
|
-
|
397
|
-
def add_animator
|
398
|
-
head_html = <<-EOHTML
|
399
|
-
<link rel="canonical" href="http://docs.sencha.com/animator/1-0/" />
|
400
|
-
<meta name="description" content="Sencha Animator 1.0 API Documentation from Sencha. Documentation on how to create Javascript applications with Sencha Touch" />
|
401
|
-
EOHTML
|
402
|
-
|
403
|
-
@options += [
|
404
|
-
"--title", "Sencha Docs - Animator 1.0",
|
405
|
-
"--head-html", head_html,
|
406
|
-
"--footer", "Sencha Animator 1.0 Docs - Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a> revison #{revision}",
|
407
|
-
# "--videos", "#{@animator_dir}/docs/videos.json",
|
408
|
-
"--guides", "#{@animator_dir}/docs/guides.json",
|
409
|
-
# "--examples", "#{@animator_dir}/docs/examples/examples.json",
|
410
|
-
"--local-storage-db", "animator",
|
411
|
-
"--output", "#{@out_dir}",
|
412
|
-
]
|
413
|
-
end
|
414
|
-
|
415
|
-
# Extracts files of first build in jsb file
|
416
|
-
def extract_jsb_build_files(jsb_file)
|
417
|
-
json = JSON.parse(IO.read(jsb_file))
|
418
|
-
basedir = File.dirname(jsb_file)
|
419
|
-
|
420
|
-
return json["builds"][0]["packages"].map do |package_id|
|
421
|
-
package = json["packages"].find {|p| p["id"] == package_id }
|
422
|
-
package["files"].map do |file|
|
423
|
-
basedir + "/" + file["path"] + file["name"]
|
424
|
-
end
|
425
|
-
end.flatten
|
426
|
-
end
|
427
|
-
|
428
|
-
# Returns shortened hash of naming current git revision
|
429
|
-
def revision
|
430
|
-
`git rev-parse HEAD`.slice(0, 7)
|
431
|
-
end
|
432
|
-
|
433
253
|
def add_debug
|
434
254
|
@options += [
|
435
255
|
"--extjs-path", "extjs/ext-all-debug.js",
|
@@ -444,21 +264,11 @@ class JsDuckRunner
|
|
444
264
|
]
|
445
265
|
end
|
446
266
|
|
447
|
-
def
|
448
|
-
@options += [
|
449
|
-
"--body-html", <<-EOHTML
|
450
|
-
<div id="notice-text" style="display: none">
|
451
|
-
Use <a href="http://docs.sencha.com/ext-js/4-0">http://docs.sencha.com/ext-js/4-0</a> for up to date documentation and features
|
452
|
-
</div>
|
453
|
-
EOHTML
|
454
|
-
]
|
455
|
-
end
|
456
|
-
|
457
|
-
def add_touch2_export_notice
|
267
|
+
def add_export_notice path
|
458
268
|
@options += [
|
459
269
|
"--body-html", <<-EOHTML
|
460
270
|
<div id="notice-text" style="display: none">
|
461
|
-
Use <a href="http://docs.sencha.com
|
271
|
+
Use <a href="http://docs.sencha.com/#{path}">http://docs.sencha.com/#{path}</a> for up to date documentation and features
|
462
272
|
</div>
|
463
273
|
EOHTML
|
464
274
|
]
|
@@ -530,6 +340,10 @@ class JsDuckRunner
|
|
530
340
|
{
|
531
341
|
text: 'Sencha Animator',
|
532
342
|
href: 'http://docs.sencha.com/animator/1-0'
|
343
|
+
},
|
344
|
+
{
|
345
|
+
text: 'Sencha.io',
|
346
|
+
href: 'http://docs.sencha.com/io/1-0'
|
533
347
|
}
|
534
348
|
];
|
535
349
|
</script>
|
@@ -547,11 +361,6 @@ class JsDuckRunner
|
|
547
361
|
system "cp -r #{@ext_dir}/welcome #{@out_dir}/extjs"
|
548
362
|
end
|
549
363
|
|
550
|
-
def copy_animator_examples
|
551
|
-
system "mkdir -p #{@out_dir}/extjs"
|
552
|
-
system "cp -r #{@animator_dir}/docs/examples #{@out_dir}/extjs"
|
553
|
-
end
|
554
|
-
|
555
364
|
# Copy over Sencha Touch
|
556
365
|
def copy_touch2_build
|
557
366
|
system "cp -r #{@sdk_dir}/touch/build #{@out_dir}/touch"
|
@@ -568,12 +377,6 @@ task :sass do
|
|
568
377
|
system "compass compile --quiet template/resources/sass"
|
569
378
|
end
|
570
379
|
|
571
|
-
desc "Updates JSB3 file for Docs app.\n"+
|
572
|
-
"Run this before every commit that changes JS dependencies."
|
573
|
-
task :jsb do
|
574
|
-
system("sencha", "create", "jsb", "-a", "template/build-js.html", "-p", "template/app.jsb3")
|
575
|
-
end
|
576
|
-
|
577
380
|
desc "Run JSDuck on Ext JS SDK (for internal use at Sencha)\n" +
|
578
381
|
"sdk - creates debug/development version\n" +
|
579
382
|
"sdk[export] - creates export version\n" +
|
@@ -584,10 +387,10 @@ task :sdk, [:mode] => :sass do |t, args|
|
|
584
387
|
compress if mode == "export" || mode == "live"
|
585
388
|
|
586
389
|
runner = JsDuckRunner.new
|
587
|
-
runner.
|
390
|
+
runner.add_options ["--output", OUT_DIR, "--config", "#{SDK_DIR}/extjs/docs/config.json"]
|
588
391
|
runner.add_debug if mode == "debug"
|
589
392
|
runner.add_seo if mode == "debug" || mode == "live"
|
590
|
-
runner.
|
393
|
+
runner.add_export_notice("ext-js/4-0") if mode == "export"
|
591
394
|
runner.add_google_analytics if mode == "live"
|
592
395
|
runner.add_comments('comments-ext-js-4') if mode == "debug" || mode == "live"
|
593
396
|
runner.run
|
@@ -634,7 +437,7 @@ task :ext3, [:mode] => :sass do |t, args|
|
|
634
437
|
compress if mode == "export"
|
635
438
|
|
636
439
|
runner = JsDuckRunner.new
|
637
|
-
runner.
|
440
|
+
runner.add_options ["--output", OUT_DIR, "--config", "#{SDK_DIR}/../ext-3.4.0/src/doc-config.json"]
|
638
441
|
runner.add_debug if mode == "debug"
|
639
442
|
runner.add_seo if mode == "live"
|
640
443
|
runner.add_google_analytics if mode == "live"
|
@@ -650,7 +453,7 @@ task :touch, [:mode] => :sass do |t, args|
|
|
650
453
|
compress if mode == "live"
|
651
454
|
|
652
455
|
runner = JsDuckRunner.new
|
653
|
-
runner.
|
456
|
+
runner.add_options ["--output", OUT_DIR, "--config", "#{SDK_DIR}/touch/doc-resources/config.json"]
|
654
457
|
runner.add_debug if mode == "debug"
|
655
458
|
runner.add_seo if mode == "debug" || mode == "live"
|
656
459
|
runner.add_google_analytics if mode == "live"
|
@@ -667,9 +470,9 @@ task :touch2, [:mode] => :sass do |t, args|
|
|
667
470
|
compress if mode == "live" || mode == "export"
|
668
471
|
|
669
472
|
runner = JsDuckRunner.new
|
670
|
-
runner.
|
473
|
+
runner.add_options ["--output", OUT_DIR, "--config", "#{SDK_DIR}/touch/docs/config.json"]
|
671
474
|
runner.add_debug if mode == "debug"
|
672
|
-
runner.
|
475
|
+
runner.add_export_notice("touch/2-0") if mode == "export"
|
673
476
|
runner.set_touch2_src if mode == "export"
|
674
477
|
runner.add_seo if mode == "debug" || mode == "live"
|
675
478
|
runner.add_google_analytics if mode == "live"
|
@@ -689,7 +492,7 @@ task :charts, [:mode] => :sass do |t, args|
|
|
689
492
|
compress if mode == "live"
|
690
493
|
|
691
494
|
runner = JsDuckRunner.new
|
692
|
-
runner.
|
495
|
+
runner.add_options ["--output", OUT_DIR, "--config", "#{SDK_DIR}/charts/docs/config.json"]
|
693
496
|
runner.add_debug if mode == "debug"
|
694
497
|
runner.add_seo if mode == "debug" || mode == "live"
|
695
498
|
runner.add_google_analytics if mode == "live"
|
@@ -706,26 +509,13 @@ task :senchaio, [:mode] => :sass do |t, args|
|
|
706
509
|
compress if mode == "live"
|
707
510
|
|
708
511
|
runner = JsDuckRunner.new
|
709
|
-
runner.
|
512
|
+
runner.add_options ["--output", OUT_DIR, "--config", "#{SDK_DIR}/../sync/docs/config.json"]
|
710
513
|
runner.add_debug if mode == "debug"
|
711
514
|
runner.add_seo if mode == "debug" || mode == "live"
|
712
515
|
runner.add_google_analytics if mode == "live"
|
713
516
|
runner.run
|
714
517
|
end
|
715
518
|
|
716
|
-
desc "Run JSDuck JSON Export (for internal use at Sencha)\n" +
|
717
|
-
"export[touch] - creates export for Touch 1\n" +
|
718
|
-
"export[touch2] - creates export for Touch 2"
|
719
|
-
task :export, [:mode] do |t, args|
|
720
|
-
mode = args[:mode]
|
721
|
-
throw "Unknown mode #{mode}" unless ["touch", "touch2"].include?(mode)
|
722
|
-
|
723
|
-
runner = JsDuckRunner.new
|
724
|
-
runner.add_touch_export if mode == "touch"
|
725
|
-
runner.add_touch2_export if mode == "touch2"
|
726
|
-
runner.run
|
727
|
-
end
|
728
|
-
|
729
519
|
desc "Run JSDuck on Sencha Animator (for internal use at Sencha)\n" +
|
730
520
|
"animator - creates debug/development version\n" +
|
731
521
|
"animator[export] - create live version for deployment\n"
|
@@ -736,13 +526,24 @@ task :animator, [:mode] => :sass do |t, args|
|
|
736
526
|
compress if mode == "live"
|
737
527
|
|
738
528
|
runner = JsDuckRunner.new
|
739
|
-
runner.
|
529
|
+
runner.add_options ["--output", OUT_DIR, "--config", "#{ANIMATOR_DIR}/docs/config.json"]
|
740
530
|
runner.add_debug if mode == "debug"
|
741
531
|
runner.add_seo if mode == "debug" || mode == "live"
|
742
532
|
runner.add_google_analytics if mode == "live"
|
743
533
|
runner.run
|
534
|
+
end
|
744
535
|
|
745
|
-
|
536
|
+
desc "Run JSDuck JSON Export (for internal use at Sencha)\n" +
|
537
|
+
"export[touch] - creates export for Touch 1\n" +
|
538
|
+
"export[touch2] - creates export for Touch 2"
|
539
|
+
task :export, [:mode] do |t, args|
|
540
|
+
mode = args[:mode]
|
541
|
+
throw "Unknown mode #{mode}" unless ["touch", "touch2"].include?(mode)
|
542
|
+
|
543
|
+
runner = JsDuckRunner.new
|
544
|
+
runner.add_touch_export if mode == "touch"
|
545
|
+
runner.add_touch2_export if mode == "touch2"
|
546
|
+
runner.run
|
746
547
|
end
|
747
548
|
|
748
549
|
desc "Build JSDuck gem"
|
data/jsduck.gemspec
CHANGED
@@ -2,8 +2,8 @@ Gem::Specification.new do |s|
|
|
2
2
|
s.required_rubygems_version = ">= 1.3.5"
|
3
3
|
|
4
4
|
s.name = 'jsduck'
|
5
|
-
s.version = '3.1
|
6
|
-
s.date = '2011-
|
5
|
+
s.version = '3.2.1'
|
6
|
+
s.date = '2011-12-07'
|
7
7
|
s.summary = "Simple JavaScript Duckumentation generator"
|
8
8
|
s.description = "Documentation generator for Sencha JS frameworks"
|
9
9
|
s.homepage = "https://github.com/senchalabs/jsduck"
|
data/lib/jsduck/accessors.rb
CHANGED
@@ -57,8 +57,7 @@ module JsDuck
|
|
57
57
|
:owner => cfg[:owner],
|
58
58
|
:files => cfg[:files],
|
59
59
|
:id => "method-" + name,
|
60
|
-
:
|
61
|
-
:meta => cfg[:meta],
|
60
|
+
:meta => clone_meta(cfg),
|
62
61
|
}
|
63
62
|
end
|
64
63
|
|
@@ -80,8 +79,7 @@ module JsDuck
|
|
80
79
|
:owner => cfg[:owner],
|
81
80
|
:files => cfg[:files],
|
82
81
|
:id => "method-" + name,
|
83
|
-
:
|
84
|
-
:meta => cfg[:meta]
|
82
|
+
:meta => clone_meta(cfg),
|
85
83
|
}
|
86
84
|
end
|
87
85
|
|
@@ -117,14 +115,24 @@ module JsDuck
|
|
117
115
|
:owner => cfg[:owner],
|
118
116
|
:files => cfg[:files],
|
119
117
|
:id => "event-" + name,
|
120
|
-
:
|
121
|
-
:meta => cfg[:meta]
|
118
|
+
:meta => clone_meta(cfg),
|
122
119
|
}
|
123
120
|
end
|
124
121
|
|
125
122
|
def upcase_first(str)
|
126
123
|
str[0,1].upcase + str[1..-1]
|
127
124
|
end
|
125
|
+
|
126
|
+
# Create copy of all meta attributes of config, except the
|
127
|
+
# :required which only applies to configs and must not be
|
128
|
+
# propagated to methods or events.
|
129
|
+
def clone_meta(cfg)
|
130
|
+
h = {}
|
131
|
+
cfg[:meta].each_pair do |key, value|
|
132
|
+
h[:key] = value unless key == :required
|
133
|
+
end
|
134
|
+
h
|
135
|
+
end
|
128
136
|
end
|
129
137
|
|
130
138
|
end
|