distil 0.11.6 → 0.11.8
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/assets/distil.js +2 -1
- data/bin/distil +2 -0
- data/distil.gemspec +152 -2
- data/lib/distil/configurable.rb +3 -1
- data/lib/distil/error-reporter.rb +2 -0
- data/lib/distil/product/concatenated.rb +1 -3
- data/lib/distil/product/debug.rb +1 -3
- data/lib/distil/product/javascript-product.rb +2 -8
- data/lib/distil/product.rb +5 -5
- data/lib/distil/project/distil-project.rb +18 -1
- data/lib/distil/project/external-project.rb +1 -1
- data/lib/distil/project/remote-project.rb +39 -0
- data/lib/distil/project.rb +18 -9
- data/lib/distil/target.rb +13 -12
- data/lib/distil/task/css-dependency-task.rb +1 -1
- data/lib/distil/task/validate-js-task.rb +6 -1
- data/lib/distil.rb +1 -0
- data/vendor/pdoc/LICENSE +16 -0
- data/vendor/pdoc/PDoc.tmbundle/Commands/Continue PDoc Comment.tmCommand +39 -0
- data/vendor/pdoc/PDoc.tmbundle/Macros/Collapse PDoc Blocks.tmMacro +4084 -0
- data/vendor/pdoc/PDoc.tmbundle/Macros/Expand PDoc Blocks.tmMacro +1388 -0
- data/vendor/pdoc/PDoc.tmbundle/Preferences/PDoc.tmPreferences +50 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/class.tmSnippet +24 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/constant.tmSnippet +22 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/event.tmSnippet +16 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/method.tmSnippet +22 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/mixin.tmSnippet +23 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/namespace.tmSnippet +24 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/param.tmSnippet +16 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/property.tmSnippet +22 -0
- data/vendor/pdoc/PDoc.tmbundle/Snippets/section.tmSnippet +23 -0
- data/vendor/pdoc/PDoc.tmbundle/Syntaxes/PDoc.tmLanguage +33 -0
- data/vendor/pdoc/PDoc.tmbundle/info.plist +22 -0
- data/vendor/pdoc/README.markdown +34 -0
- data/vendor/pdoc/Rakefile +46 -0
- data/vendor/pdoc/bin/pdoc +58 -0
- data/vendor/pdoc/lib/pdoc/error.rb +4 -0
- data/vendor/pdoc/lib/pdoc/generators/abstract_generator.rb +16 -0
- data/vendor/pdoc/lib/pdoc/generators/html/helpers.rb +256 -0
- data/vendor/pdoc/lib/pdoc/generators/html/page.rb +71 -0
- data/vendor/pdoc/lib/pdoc/generators/html/syntax_highlighter.rb +41 -0
- data/vendor/pdoc/lib/pdoc/generators/html/template.rb +37 -0
- data/vendor/pdoc/lib/pdoc/generators/html/website.rb +194 -0
- data/vendor/pdoc/lib/pdoc/generators/html.rb +8 -0
- data/vendor/pdoc/lib/pdoc/generators/json.rb +15 -0
- data/vendor/pdoc/lib/pdoc/generators/pythonesque.rb +105 -0
- data/vendor/pdoc/lib/pdoc/generators.rb +6 -0
- data/vendor/pdoc/lib/pdoc/models/argument.rb +37 -0
- data/vendor/pdoc/lib/pdoc/models/base.rb +107 -0
- data/vendor/pdoc/lib/pdoc/models/callable.rb +19 -0
- data/vendor/pdoc/lib/pdoc/models/class.rb +28 -0
- data/vendor/pdoc/lib/pdoc/models/class_method.rb +18 -0
- data/vendor/pdoc/lib/pdoc/models/class_property.rb +9 -0
- data/vendor/pdoc/lib/pdoc/models/constant.rb +9 -0
- data/vendor/pdoc/lib/pdoc/models/constructor.rb +14 -0
- data/vendor/pdoc/lib/pdoc/models/container.rb +114 -0
- data/vendor/pdoc/lib/pdoc/models/entity.rb +54 -0
- data/vendor/pdoc/lib/pdoc/models/instance_method.rb +18 -0
- data/vendor/pdoc/lib/pdoc/models/instance_property.rb +9 -0
- data/vendor/pdoc/lib/pdoc/models/mixin.rb +10 -0
- data/vendor/pdoc/lib/pdoc/models/namespace.rb +10 -0
- data/vendor/pdoc/lib/pdoc/models/root.rb +27 -0
- data/vendor/pdoc/lib/pdoc/models/section.rb +19 -0
- data/vendor/pdoc/lib/pdoc/models/signature.rb +27 -0
- data/vendor/pdoc/lib/pdoc/models/utility.rb +11 -0
- data/vendor/pdoc/lib/pdoc/models.rb +47 -0
- data/vendor/pdoc/lib/pdoc/parser/argument_description_nodes.rb +21 -0
- data/vendor/pdoc/lib/pdoc/parser/basic_nodes.rb +31 -0
- data/vendor/pdoc/lib/pdoc/parser/description_nodes.rb +42 -0
- data/vendor/pdoc/lib/pdoc/parser/documentation_nodes.rb +483 -0
- data/vendor/pdoc/lib/pdoc/parser/ebnf_arguments_nodes.rb +58 -0
- data/vendor/pdoc/lib/pdoc/parser/ebnf_expression_nodes.rb +227 -0
- data/vendor/pdoc/lib/pdoc/parser/fragment.rb +55 -0
- data/vendor/pdoc/lib/pdoc/parser/section_content_nodes.rb +19 -0
- data/vendor/pdoc/lib/pdoc/parser/tags_nodes.rb +14 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/argument_description.treetop +31 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/basic.treetop +41 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/description.treetop +7 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/documentation.treetop +75 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/ebnf_arguments.treetop +33 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/ebnf_expression.treetop +70 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/ebnf_javascript.treetop +54 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/events.treetop +17 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/section_content.treetop +8 -0
- data/vendor/pdoc/lib/pdoc/parser/treetop_files/tags.treetop +31 -0
- data/vendor/pdoc/lib/pdoc/parser.rb +109 -0
- data/vendor/pdoc/lib/pdoc/runner.rb +110 -0
- data/vendor/pdoc/lib/pdoc/treemaker.rb +94 -0
- data/vendor/pdoc/lib/pdoc.rb +32 -0
- data/vendor/pdoc/pdoc-0.2.0.gem +0 -0
- data/vendor/pdoc/pdoc.gemspec +31 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/alias.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/class.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/class_deprecated.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/class_method.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/class_property.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/constant.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/constructor.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/deprecated.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/description.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/information.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/instance_method.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/instance_property.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/method.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/method_deprecated.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/mixin.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/namespace.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/property.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/related_to.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/search-background.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/section-background.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/section.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/selected-section-background.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/subclass.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/superclass.png +0 -0
- data/vendor/pdoc/templates/html/assets/images/pdoc/utility.png +0 -0
- data/vendor/pdoc/templates/html/assets/javascripts/pdoc/application.js +478 -0
- data/vendor/pdoc/templates/html/assets/javascripts/pdoc/prototype.js +4874 -0
- data/vendor/pdoc/templates/html/assets/javascripts/pdoc/tabs.js +506 -0
- data/vendor/pdoc/templates/html/assets/stylesheets/pdoc/api.css +677 -0
- data/vendor/pdoc/templates/html/assets/stylesheets/pdoc/pygments.css +62 -0
- data/vendor/pdoc/templates/html/helpers.rb +35 -0
- data/vendor/pdoc/templates/html/index.erb +18 -0
- data/vendor/pdoc/templates/html/item_index.js.erb +6 -0
- data/vendor/pdoc/templates/html/layout.erb +67 -0
- data/vendor/pdoc/templates/html/leaf.erb +22 -0
- data/vendor/pdoc/templates/html/node.erb +30 -0
- data/vendor/pdoc/templates/html/partials/class_relationships.erb +19 -0
- data/vendor/pdoc/templates/html/partials/classes.erb +7 -0
- data/vendor/pdoc/templates/html/partials/constructor.erb +5 -0
- data/vendor/pdoc/templates/html/partials/description.erb +5 -0
- data/vendor/pdoc/templates/html/partials/link_list.erb +1 -0
- data/vendor/pdoc/templates/html/partials/method_signatures.erb +14 -0
- data/vendor/pdoc/templates/html/partials/methodized_note.erb +9 -0
- data/vendor/pdoc/templates/html/partials/mixins.erb +7 -0
- data/vendor/pdoc/templates/html/partials/namespaces.erb +7 -0
- data/vendor/pdoc/templates/html/partials/related_utilities.erb +5 -0
- data/vendor/pdoc/templates/html/partials/relationships.erb +11 -0
- data/vendor/pdoc/templates/html/partials/short_description_list.erb +7 -0
- data/vendor/pdoc/templates/html/partials/title.erb +22 -0
- data/vendor/pdoc/templates/html/section.erb +18 -0
- data/vendor/pdoc/test/fixtures/ajax.js +809 -0
- data/vendor/pdoc/test/fixtures/prototype.js +5789 -0
- data/vendor/pdoc/test/fixtures/test.txt +1 -0
- data/vendor/pdoc/test/fixtures/text.txt +13 -0
- data/vendor/pdoc/test/unit/parser/argument_description_test.rb +40 -0
- data/vendor/pdoc/test/unit/parser/basic_test.rb +55 -0
- data/vendor/pdoc/test/unit/parser/description_test.rb +34 -0
- data/vendor/pdoc/test/unit/parser/documentation_test.rb +520 -0
- data/vendor/pdoc/test/unit/parser/ebnf_arguments_test.rb +81 -0
- data/vendor/pdoc/test/unit/parser/ebnf_expression_test.rb +382 -0
- data/vendor/pdoc/test/unit/parser/ebnf_javascript_test.rb +37 -0
- data/vendor/pdoc/test/unit/parser/events_test.rb +27 -0
- data/vendor/pdoc/test/unit/parser/section_content_test.rb +44 -0
- data/vendor/pdoc/test/unit/parser/tags_test.rb +39 -0
- data/vendor/pdoc/test/unit/parser/test_fragment.rb +80 -0
- data/vendor/pdoc/test/unit/parser_test_helper.rb +62 -0
- data/vendor/pdoc/test/unit/runner/basic_test.rb +14 -0
- data/vendor/pdoc/test/unit/templates/html_helpers_test.rb +25 -0
- data/vendor/pdoc/vendor/albino.rb +122 -0
- data/vendor/pdoc/website/html/documentation.html +280 -0
- data/vendor/pdoc/website/html/images/pdoc.jpg +0 -0
- data/vendor/pdoc/website/html/index.html +84 -0
- data/vendor/pdoc/website/html/stylesheets/main.css +73 -0
- data/vendor/pdoc/website/html/stylesheets/reset.css +18 -0
- data/vendor/pdoc/website/markdown/syntax.markdown +226 -0
- metadata +153 -3
@@ -0,0 +1,50 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>name</key>
|
6
|
+
<string>PDoc</string>
|
7
|
+
<key>scope</key>
|
8
|
+
<string>comment.block</string>
|
9
|
+
<key>settings</key>
|
10
|
+
<dict>
|
11
|
+
<key>smartTypingPairs</key>
|
12
|
+
<array>
|
13
|
+
<array>
|
14
|
+
<string>"</string>
|
15
|
+
<string>"</string>
|
16
|
+
</array>
|
17
|
+
<array>
|
18
|
+
<string>(</string>
|
19
|
+
<string>)</string>
|
20
|
+
</array>
|
21
|
+
<array>
|
22
|
+
<string>{</string>
|
23
|
+
<string>}</string>
|
24
|
+
</array>
|
25
|
+
<array>
|
26
|
+
<string>[</string>
|
27
|
+
<string>]</string>
|
28
|
+
</array>
|
29
|
+
<array>
|
30
|
+
<string>“</string>
|
31
|
+
<string>”</string>
|
32
|
+
</array>
|
33
|
+
<array>
|
34
|
+
<string>‘</string>
|
35
|
+
<string>’</string>
|
36
|
+
</array>
|
37
|
+
<array>
|
38
|
+
<string>`</string>
|
39
|
+
<string>`</string>
|
40
|
+
</array>
|
41
|
+
<array>
|
42
|
+
<string>_</string>
|
43
|
+
<string>_</string>
|
44
|
+
</array>
|
45
|
+
</array>
|
46
|
+
</dict>
|
47
|
+
<key>uuid</key>
|
48
|
+
<string>1711013A-1566-488B-816B-AB5614C47B7D</string>
|
49
|
+
</dict>
|
50
|
+
</plist>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>/**
|
7
|
+
* class ${1:class name}${2: < ${3:super class}}
|
8
|
+
* ${4: includes ${5:mixin}}
|
9
|
+
* $0
|
10
|
+
*
|
11
|
+
*
|
12
|
+
*
|
13
|
+
*
|
14
|
+
**/</string>
|
15
|
+
<key>name</key>
|
16
|
+
<string>class</string>
|
17
|
+
<key>scope</key>
|
18
|
+
<string>source.js</string>
|
19
|
+
<key>tabTrigger</key>
|
20
|
+
<string>doc class</string>
|
21
|
+
<key>uuid</key>
|
22
|
+
<string>9805E27A-D127-4A3E-A51E-39B844228FD8</string>
|
23
|
+
</dict>
|
24
|
+
</plist>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>/**
|
7
|
+
* ${1:Class}.${2:ConstantName}
|
8
|
+
* $0
|
9
|
+
*
|
10
|
+
*
|
11
|
+
*
|
12
|
+
**/</string>
|
13
|
+
<key>name</key>
|
14
|
+
<string>constant</string>
|
15
|
+
<key>scope</key>
|
16
|
+
<string>source.js</string>
|
17
|
+
<key>tabTrigger</key>
|
18
|
+
<string>doc constant</string>
|
19
|
+
<key>uuid</key>
|
20
|
+
<string>EFF335C1-ACCE-4684-8C61-94AF724227DB</string>
|
21
|
+
</dict>
|
22
|
+
</plist>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>fires ${2:namespace}:${4:eventName}$0</string>
|
7
|
+
<key>name</key>
|
8
|
+
<string>event</string>
|
9
|
+
<key>scope</key>
|
10
|
+
<string>source.js</string>
|
11
|
+
<key>tabTrigger</key>
|
12
|
+
<string>doc event</string>
|
13
|
+
<key>uuid</key>
|
14
|
+
<string>460ABE5C-0250-474D-9401-C01F8743C5A4</string>
|
15
|
+
</dict>
|
16
|
+
</plist>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>/**
|
7
|
+
* ${1:Class}${2:#}${3:methodName}(${4:parameters})
|
8
|
+
* $0
|
9
|
+
*
|
10
|
+
*
|
11
|
+
*
|
12
|
+
**/</string>
|
13
|
+
<key>name</key>
|
14
|
+
<string>method</string>
|
15
|
+
<key>scope</key>
|
16
|
+
<string>source.js</string>
|
17
|
+
<key>tabTrigger</key>
|
18
|
+
<string>doc method</string>
|
19
|
+
<key>uuid</key>
|
20
|
+
<string>15D39C72-C707-4C30-9DCA-BEB3073FE3D2</string>
|
21
|
+
</dict>
|
22
|
+
</plist>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>/**
|
7
|
+
* mixin ${1:mixin name}
|
8
|
+
* $0
|
9
|
+
*
|
10
|
+
*
|
11
|
+
*
|
12
|
+
*
|
13
|
+
**/</string>
|
14
|
+
<key>name</key>
|
15
|
+
<string>mixin</string>
|
16
|
+
<key>scope</key>
|
17
|
+
<string>source.js</string>
|
18
|
+
<key>tabTrigger</key>
|
19
|
+
<string>doc mixin</string>
|
20
|
+
<key>uuid</key>
|
21
|
+
<string>82FA7BB9-A47F-419E-8AB2-8E78235E280E</string>
|
22
|
+
</dict>
|
23
|
+
</plist>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>/**
|
7
|
+
* ${1:namespace name}
|
8
|
+
* ${2: includes ${3:mixin}}
|
9
|
+
* $0
|
10
|
+
*
|
11
|
+
*
|
12
|
+
*
|
13
|
+
*
|
14
|
+
**/</string>
|
15
|
+
<key>name</key>
|
16
|
+
<string>namespace</string>
|
17
|
+
<key>scope</key>
|
18
|
+
<string>source.js</string>
|
19
|
+
<key>tabTrigger</key>
|
20
|
+
<string>doc ns</string>
|
21
|
+
<key>uuid</key>
|
22
|
+
<string>2B83660B-5296-4C53-953C-5088AEEAA47A</string>
|
23
|
+
</dict>
|
24
|
+
</plist>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>- ${1:param name}${2: (${3:allowed types})}: ${4:description}</string>
|
7
|
+
<key>name</key>
|
8
|
+
<string>param</string>
|
9
|
+
<key>scope</key>
|
10
|
+
<string>source.js</string>
|
11
|
+
<key>tabTrigger</key>
|
12
|
+
<string>doc param</string>
|
13
|
+
<key>uuid</key>
|
14
|
+
<string>31545749-99C9-43D7-8397-F895E42058C4</string>
|
15
|
+
</dict>
|
16
|
+
</plist>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>/**
|
7
|
+
* ${1:Class}${2:#}${3:propName}
|
8
|
+
* $0
|
9
|
+
*
|
10
|
+
*
|
11
|
+
*
|
12
|
+
**/</string>
|
13
|
+
<key>name</key>
|
14
|
+
<string>property</string>
|
15
|
+
<key>scope</key>
|
16
|
+
<string>source.js</string>
|
17
|
+
<key>tabTrigger</key>
|
18
|
+
<string>doc prop</string>
|
19
|
+
<key>uuid</key>
|
20
|
+
<string>39699591-AFD0-4B2C-BA41-29B55445F472</string>
|
21
|
+
</dict>
|
22
|
+
</plist>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>content</key>
|
6
|
+
<string>/**
|
7
|
+
* == ${1:section name} ==
|
8
|
+
* $0
|
9
|
+
*
|
10
|
+
*
|
11
|
+
*
|
12
|
+
*
|
13
|
+
**/</string>
|
14
|
+
<key>name</key>
|
15
|
+
<string>section</string>
|
16
|
+
<key>scope</key>
|
17
|
+
<string>source.js</string>
|
18
|
+
<key>tabTrigger</key>
|
19
|
+
<string>doc section</string>
|
20
|
+
<key>uuid</key>
|
21
|
+
<string>8C7DCFEE-3EB2-4DB9-AF0C-2F35534F2A45</string>
|
22
|
+
</dict>
|
23
|
+
</plist>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>fileTypes</key>
|
6
|
+
<array>
|
7
|
+
<string>js</string>
|
8
|
+
</array>
|
9
|
+
<key>foldingStartMarker</key>
|
10
|
+
<string>/\*\*|\{\s*$</string>
|
11
|
+
<key>foldingStopMarker</key>
|
12
|
+
<string>\*\*/|^\s*\}</string>
|
13
|
+
<key>keyEquivalent</key>
|
14
|
+
<string>^~J</string>
|
15
|
+
<key>name</key>
|
16
|
+
<string>PDoc</string>
|
17
|
+
<key>patterns</key>
|
18
|
+
<array>
|
19
|
+
<dict>
|
20
|
+
<key>include</key>
|
21
|
+
<string>source.prototype.js</string>
|
22
|
+
</dict>
|
23
|
+
<dict>
|
24
|
+
<key>include</key>
|
25
|
+
<string>source.js</string>
|
26
|
+
</dict>
|
27
|
+
</array>
|
28
|
+
<key>scopeName</key>
|
29
|
+
<string>source.js.pdoc</string>
|
30
|
+
<key>uuid</key>
|
31
|
+
<string>E8B01951-A6A4-4B14-A314-31903479BF59</string>
|
32
|
+
</dict>
|
33
|
+
</plist>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>name</key>
|
6
|
+
<string>PDoc</string>
|
7
|
+
<key>ordering</key>
|
8
|
+
<array>
|
9
|
+
<string>8C7DCFEE-3EB2-4DB9-AF0C-2F35534F2A45</string>
|
10
|
+
<string>9805E27A-D127-4A3E-A51E-39B844228FD8</string>
|
11
|
+
<string>2B83660B-5296-4C53-953C-5088AEEAA47A</string>
|
12
|
+
<string>82FA7BB9-A47F-419E-8AB2-8E78235E280E</string>
|
13
|
+
<string>15D39C72-C707-4C30-9DCA-BEB3073FE3D2</string>
|
14
|
+
<string>39699591-AFD0-4B2C-BA41-29B55445F472</string>
|
15
|
+
<string>EFF335C1-ACCE-4684-8C61-94AF724227DB</string>
|
16
|
+
<string>31545749-99C9-43D7-8397-F895E42058C4</string>
|
17
|
+
<string>460ABE5C-0250-474D-9401-C01F8743C5A4</string>
|
18
|
+
</array>
|
19
|
+
<key>uuid</key>
|
20
|
+
<string>31DB3560-8F7C-40A8-B82D-BC7E020FFCF1</string>
|
21
|
+
</dict>
|
22
|
+
</plist>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
PDoc
|
2
|
+
====
|
3
|
+
|
4
|
+
PDoc is an inline comment parser and JavaScript documentation generator written in Ruby. It is designed for documenting [Prototype](http://prototypejs.org) and Prototype-based libraries.
|
5
|
+
|
6
|
+
PDoc uses [Treetop](http://treetop.rubyforge.org/), a Ruby-based DSL for text parsing and interpretation, and its own ActionView-inspired, ERB-based templating system for HTML generation. Other documentation generators (e.g., DocBook XML) are planned.
|
7
|
+
|
8
|
+
Unlike other inline-doc parsers, PDoc does not rely on the JavaScript source code at all; it only parses the comments. This approach, though slightly more verbose, is much better at generating consistent, reliable documentation, and avoids the headaches encountered when documenting highly dynamic languages.
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
PDoc depends on Rake, your choice of markdown parser, and treetop, all of which can be obtained through RubyGems:
|
13
|
+
|
14
|
+
gem install rake bluecloth treetop
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
For hints on how to run PDoc on the command line, consult the built-in Rake tasks (in `Rakefile`) and the `PDoc::Runner` class (in `lib/pdoc/runner.rb`).
|
19
|
+
|
20
|
+
## How it works
|
21
|
+
|
22
|
+
The process of turning inline PDoc comments into a human-friendly document has two phases.
|
23
|
+
|
24
|
+
### Parsing phase
|
25
|
+
In this phase, the source files are scanned for PDoc comments, then parsed with the Ruby files generated from the Treetop language grammar. The product of this phase is a tree full of specialized classes, all of which inherit from `Treetop::Runtime::SyntaxNode`.
|
26
|
+
|
27
|
+
The root of the tree is an instance of `Documentation::Doc`. It comprises one or more instances of `Documentation::Section`; which in turn comprise language elements like namespaces, classes, constants, etc., all of which have class representations.
|
28
|
+
|
29
|
+
### Rendering phase
|
30
|
+
Next, PDoc asks a _generator_ how to translate this abstract tree into a hierarchical document. The default generator outputs organized HTML in a manner similar to [RDoc](http://rdoc.sourceforge.net/ "RDoc - Document Generator for Ruby Source")'s.
|
31
|
+
|
32
|
+
The HTML generator (`PDoc::Generators::Html`) has associated _templates_ (in the `templates` directory) that accept syntax nodes and echo their metadata onto the page using [ERB](http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/index.html "erb: Ruby Standard Library Documentation"). Templates are modular, so it's quite easy to apply a custom "skin" to one's documentation pages.
|
33
|
+
|
34
|
+
Furthermore, generators themselves are modular; PDoc can, theoretically, parse once and render to several different targets (HTML, [DocBook XML](http://www.docbook.org/ "DocBook.org"), CHM, PDF, even [ScriptDoc](http://www.scriptdoc.org/ "ScriptDoc.org: Dynamic Language Documentation").) We hope many such generators will exist in the future.
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'lib/pdoc'
|
3
|
+
|
4
|
+
desc "Builds the documentation"
|
5
|
+
task :build_doc do
|
6
|
+
PDoc.run({
|
7
|
+
:source_files => [File.join(File.dirname(__FILE__), "test", "fixtures", "ajax.js")],
|
8
|
+
:destination => OUTPUT_DIR,
|
9
|
+
:syntax_highlighter => :pygments,
|
10
|
+
:markdown_parser => :bluecloth,
|
11
|
+
:src_code_href => proc { |file, line|
|
12
|
+
"http://github.com/example/ex/#{file}##{line}"
|
13
|
+
},
|
14
|
+
:pretty_urls => false,
|
15
|
+
:bust_cache => true,
|
16
|
+
:name => 'Example JavaScript Framework',
|
17
|
+
:short_name => 'Ex',
|
18
|
+
:home_url => 'http://example.com',
|
19
|
+
:doc_url => 'http://example.com/api',
|
20
|
+
:version => "1.2.0",
|
21
|
+
:copyright_notice => 'This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-Share Alike 3.0 Unported License</a>.'
|
22
|
+
})
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "Empties output directory"
|
26
|
+
task :remove_doc do
|
27
|
+
rm_rf Dir.glob(File.join(OUTPUT_DIR, "*"))
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "Empties the output directory and builds the documentation."
|
31
|
+
task :doc => [:remove_doc, :build_doc]
|
32
|
+
|
33
|
+
desc "Runs all the unit tests."
|
34
|
+
task :test do
|
35
|
+
require 'rake/runtest'
|
36
|
+
Rake.run_tests '**/*_test.rb'
|
37
|
+
end
|
38
|
+
|
39
|
+
task :compile_parser do
|
40
|
+
require 'treetop'
|
41
|
+
compiler = Treetop::Compiler::GrammarCompiler.new
|
42
|
+
treetop_dir = File.expand_path(File.join(File.dirname(__FILE__), "lib", "pdoc", "parser", "treetop_files"))
|
43
|
+
Dir.glob(File.join(treetop_dir, "*.treetop")).each do |treetop_file_path|
|
44
|
+
compiler.compile(treetop_file_path)
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'oyster'
|
4
|
+
require File.dirname(__FILE__) + '/../lib/pdoc'
|
5
|
+
|
6
|
+
spec = Oyster.spec do
|
7
|
+
name "pdoc -- Inline comment parser and JavaScript documentation generator"
|
8
|
+
author "Tobie Langel <tobie.langel@gmail.com>"
|
9
|
+
|
10
|
+
synopsis <<-EOS
|
11
|
+
pdoc [-o OUTPUT_DIR] [-t TEMPLATE_DIR] SOURCE_FILES
|
12
|
+
pdoc [OPTIONS] -d SOURCE_DIRECTORY
|
13
|
+
EOS
|
14
|
+
|
15
|
+
string :directory,
|
16
|
+
:desc => "Directory to search for JavaScript files. Will take all *.js " +
|
17
|
+
"files from the given directory (including subdirectories) and use " +
|
18
|
+
"them to generate documentation. This option takes precedence over " +
|
19
|
+
"SOURCE_FILES."
|
20
|
+
|
21
|
+
string :output,
|
22
|
+
:desc => "Directory in which to dump output files",
|
23
|
+
:default => "pdoc"
|
24
|
+
|
25
|
+
string :templates,
|
26
|
+
:desc => "Directory containing template files"
|
27
|
+
|
28
|
+
subcommand :'copy-templates' do
|
29
|
+
synopsis <<-EOS
|
30
|
+
pdoc copy-templates TYPE DESTINATION
|
31
|
+
EOS
|
32
|
+
|
33
|
+
description <<-EOS
|
34
|
+
PDoc includes a set of default templates for each type of output generator.
|
35
|
+
This command lets you extract a set of these templates into a local directory
|
36
|
+
so you can tweak it to suit your needs. Be sure to specify your set of
|
37
|
+
templates next time you run pdoc.
|
38
|
+
EOS
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
begin; options = spec.parse
|
43
|
+
rescue Oyster::HelpRendered; exit
|
44
|
+
end
|
45
|
+
|
46
|
+
if command = options[:'copy-templates']
|
47
|
+
args = command[:unclaimed]
|
48
|
+
PDoc.copy_templates(args[0], File.expand_path(args[1]))
|
49
|
+
exit
|
50
|
+
end
|
51
|
+
|
52
|
+
files = (d = options[:directory]) ?
|
53
|
+
Dir["#{d}/**/*.js"].map(&File.method(:expand_path)) :
|
54
|
+
options[:unclaimed].dup
|
55
|
+
|
56
|
+
files << {:destination => options[:output], :templates => options[:templates]}
|
57
|
+
PDoc::Runner.new(*files).run
|
58
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module PDoc
|
2
|
+
module Generators
|
3
|
+
class AbstractGenerator
|
4
|
+
attr_reader :options, :root
|
5
|
+
def initialize(root, options = {})
|
6
|
+
@root = root
|
7
|
+
@options = options
|
8
|
+
end
|
9
|
+
|
10
|
+
# Creates a new directory with read, write and execute permission.
|
11
|
+
def mkdir(name)
|
12
|
+
Dir.mkdir(name, 0755)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|