jsduck 3.11.0 → 3.11.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 +3 -0
- data/jsduck.gemspec +2 -2
- data/lib/jsduck/app.rb +15 -5
- data/lib/jsduck/guides.rb +17 -12
- data/lib/jsduck/logger.rb +11 -0
- data/lib/jsduck/options.rb +4 -4
- data/lib/jsduck/source_file.rb +4 -12
- metadata +3 -3
data/README.md
CHANGED
@@ -41,7 +41,10 @@ For **Windows** users out there, you can download the binary version,
|
|
41
41
|
which includes Ruby interpreter and all dependencies bundled in a
|
42
42
|
single .exe file. Grab it from the [download page][].
|
43
43
|
|
44
|
+
If you are brave enough: [try out JSDuck 4.0 beta.][beta]
|
45
|
+
|
44
46
|
[download page]: https://github.com/senchalabs/jsduck/downloads
|
47
|
+
[beta]: https://github.com/senchalabs/jsduck/wiki/4.0-beta
|
45
48
|
|
46
49
|
Usage
|
47
50
|
-----
|
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.11.
|
6
|
-
s.date = '2012-
|
5
|
+
s.version = '3.11.1'
|
6
|
+
s.date = '2012-07-26'
|
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/app.rb
CHANGED
@@ -104,7 +104,12 @@ module JsDuck
|
|
104
104
|
def parallel_parse(filenames)
|
105
105
|
@parallel.map(filenames) do |fname|
|
106
106
|
Logger.instance.log("Parsing", fname)
|
107
|
-
|
107
|
+
begin
|
108
|
+
SourceFile.new(JsDuck::IO.read(fname), fname, @opts)
|
109
|
+
rescue
|
110
|
+
Logger.instance.fatal("Error while parsing #{fname}", $!)
|
111
|
+
exit(1)
|
112
|
+
end
|
108
113
|
end
|
109
114
|
end
|
110
115
|
|
@@ -159,10 +164,15 @@ module JsDuck
|
|
159
164
|
# Format all doc-objects in parallel
|
160
165
|
formatted_classes = @parallel.map(@relations.classes) do |cls|
|
161
166
|
Logger.instance.log("Markdown formatting #{cls[:name]}")
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
167
|
+
begin
|
168
|
+
{
|
169
|
+
:doc => class_formatter.format(cls.internal_doc),
|
170
|
+
:images => doc_formatter.images
|
171
|
+
}
|
172
|
+
rescue
|
173
|
+
Logger.instance.fatal("Error while formatting #{cls[:name]}", $!)
|
174
|
+
exit(1)
|
175
|
+
end
|
166
176
|
end
|
167
177
|
# Then merge the data back to classes sequentially
|
168
178
|
formatted_classes.each do |cls|
|
data/lib/jsduck/guides.rb
CHANGED
@@ -36,15 +36,13 @@ module JsDuck
|
|
36
36
|
end
|
37
37
|
|
38
38
|
# Modified each_item that also loads HTML for each guide
|
39
|
-
def each_item
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
39
|
+
def each_item
|
40
|
+
super do |guide|
|
41
|
+
# Load the guide if not loaded
|
42
|
+
guide[:html] = load_guide(guide) if guide[:html] == nil
|
43
|
+
# Pass guide to block if it was successfully loaded.
|
44
|
+
yield guide if guide[:html]
|
45
45
|
end
|
46
|
-
|
47
|
-
super(&block)
|
48
46
|
end
|
49
47
|
|
50
48
|
# Modified to_array that excludes the :html from guide nodes
|
@@ -59,16 +57,23 @@ module JsDuck
|
|
59
57
|
|
60
58
|
def load_guide(guide)
|
61
59
|
in_dir = @path + "/guides/" + guide["name"]
|
60
|
+
|
62
61
|
return Logger.instance.warn(:guide, "Guide #{in_dir} not found") unless File.exists?(in_dir)
|
63
62
|
|
64
63
|
guide_file = in_dir + "/README.md"
|
64
|
+
|
65
65
|
return Logger.instance.warn(:guide, "README.md not found in #{in_dir}") unless File.exists?(guide_file)
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
67
|
+
begin
|
68
|
+
@formatter.doc_context = {:filename => guide_file, :linenr => 0}
|
69
|
+
name = File.basename(in_dir)
|
70
|
+
@formatter.img_path = "guides/#{name}"
|
70
71
|
|
71
|
-
|
72
|
+
return add_toc(guide, @formatter.format(JsDuck::IO.read(guide_file)))
|
73
|
+
rescue
|
74
|
+
Logger.instance.fatal("Error while reading/formatting guide #{in_dir}", $!)
|
75
|
+
exit(1)
|
76
|
+
end
|
72
77
|
end
|
73
78
|
|
74
79
|
def write_guide(guide, dir)
|
data/lib/jsduck/logger.rb
CHANGED
@@ -101,6 +101,8 @@ module JsDuck
|
|
101
101
|
elsif !@warnings.has_key?(type)
|
102
102
|
warn(nil, "Unknown warning type #{type}")
|
103
103
|
end
|
104
|
+
|
105
|
+
return false
|
104
106
|
end
|
105
107
|
|
106
108
|
# Formats filename and line number for output
|
@@ -114,6 +116,15 @@ module JsDuck
|
|
114
116
|
end
|
115
117
|
out
|
116
118
|
end
|
119
|
+
|
120
|
+
# Prints fatal error message with backtrace.
|
121
|
+
# The error param should be $! from resque block.
|
122
|
+
def fatal(msg, error)
|
123
|
+
puts "#{msg}: #{error}"
|
124
|
+
puts
|
125
|
+
puts "Here's a full backtrace:"
|
126
|
+
puts error.backtrace
|
127
|
+
end
|
117
128
|
end
|
118
129
|
|
119
130
|
end
|
data/lib/jsduck/options.rb
CHANGED
@@ -75,11 +75,11 @@ module JsDuck
|
|
75
75
|
]
|
76
76
|
@meta_tag_paths = []
|
77
77
|
|
78
|
-
@version = "3.11.
|
78
|
+
@version = "3.11.1"
|
79
79
|
|
80
80
|
# Customizing output
|
81
|
-
@title = "
|
82
|
-
@header = "<strong>
|
81
|
+
@title = "Ext JS - Sencha Docs"
|
82
|
+
@header = "<strong>Ext JS</strong> Sencha Docs"
|
83
83
|
@footer = "Generated with <a href='https://github.com/senchalabs/jsduck'>JSDuck</a> #{@version}."
|
84
84
|
@head_html = ""
|
85
85
|
@body_html = ""
|
@@ -181,7 +181,7 @@ module JsDuck
|
|
181
181
|
|
182
182
|
opts.on('--title=TEXT',
|
183
183
|
"Custom title text for the documentation.",
|
184
|
-
"Defaults to '
|
184
|
+
"Defaults to 'Ext JS - Sencha Docs'", " ") do |text|
|
185
185
|
@title = text
|
186
186
|
@header = text.sub(/^(.*?) +- +/, "<strong>\\1 </strong>")
|
187
187
|
end
|
data/lib/jsduck/source_file.rb
CHANGED
@@ -80,18 +80,10 @@ module JsDuck
|
|
80
80
|
|
81
81
|
# Parses the file depending on filename as JS or CSS
|
82
82
|
def parse
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
JsParser.new(@contents, @options).parse
|
88
|
-
end
|
89
|
-
rescue
|
90
|
-
puts "Error while parsing #{@filename}: #{$!}"
|
91
|
-
puts
|
92
|
-
puts "Here's a full backtrace:"
|
93
|
-
puts $!.backtrace
|
94
|
-
exit(1)
|
83
|
+
if @filename =~ /\.s?css$/
|
84
|
+
CssParser.new(@contents, @options).parse
|
85
|
+
else
|
86
|
+
JsParser.new(@contents, @options).parse
|
95
87
|
end
|
96
88
|
end
|
97
89
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jsduck
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.11.
|
4
|
+
version: 3.11.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-07-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rdiscount
|
@@ -660,7 +660,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
660
660
|
version: 1.3.5
|
661
661
|
requirements: []
|
662
662
|
rubyforge_project: jsduck
|
663
|
-
rubygems_version: 1.8.
|
663
|
+
rubygems_version: 1.8.24
|
664
664
|
signing_key:
|
665
665
|
specification_version: 3
|
666
666
|
summary: Simple JavaScript Duckumentation generator
|