jsduck 3.1.0 → 3.2.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/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
|