detroit-dnote 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.ruby +32 -0
- data/COPYING.rdoc +23 -0
- data/GPL3.txt +674 -0
- data/README.rdoc +34 -0
- data/lib/detroit-dnote.rb +201 -0
- data/man/detroit-dnote.5 +122 -0
- data/man/detroit-dnote.5.html +166 -0
- data/man/detroit-dnote.5.ronn +85 -0
- metadata +79 -0
data/README.rdoc
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
= Detroit DNote Tool
|
2
|
+
|
3
|
+
|
4
|
+
== DESCRIPTION
|
5
|
+
|
6
|
+
The Developer's Notes tool goes through you source files
|
7
|
+
and compiles a list of any labeled comments. Labels are
|
8
|
+
single word prefixes to a comment ending in a colon.
|
9
|
+
|
10
|
+
By default label supported are TODO, FIXME, OPTIMIZE
|
11
|
+
and DEPRECATE.
|
12
|
+
|
13
|
+
A variety of output formats are supported including HTML,
|
14
|
+
XML, Markdown and RDoc's simple markup format.
|
15
|
+
|
16
|
+
See http://rubyworks.github.com/dnote for more information.
|
17
|
+
|
18
|
+
|
19
|
+
== INSTALL
|
20
|
+
|
21
|
+
Per the usual gem install process:
|
22
|
+
|
23
|
+
$ gem install detroit-dnote
|
24
|
+
|
25
|
+
|
26
|
+
== COPYRIGHT
|
27
|
+
|
28
|
+
Copyright (c) 2011 Thomas Sawyer, Rubyworks
|
29
|
+
|
30
|
+
Detroit Dnote is distributable in accordance with the *GPL v3*
|
31
|
+
open source license.
|
32
|
+
|
33
|
+
See COPYING.rdoc and GPL3.txt file for details.
|
34
|
+
|
@@ -0,0 +1,201 @@
|
|
1
|
+
require 'detroit/tool'
|
2
|
+
|
3
|
+
module Detroit
|
4
|
+
|
5
|
+
# Convenience constructor method.
|
6
|
+
def DNote(options={})
|
7
|
+
DNote.new(options)
|
8
|
+
end
|
9
|
+
|
10
|
+
# The Developmer's Notes tool goes through source files
|
11
|
+
# and compiles a list of any labeled comments. Labels are
|
12
|
+
# all-caps single word prefixes to a comment ending in a
|
13
|
+
# colon and space.
|
14
|
+
#
|
15
|
+
# Common labels are `TODO`, `FIXME` and `OPTIMIZE`.
|
16
|
+
#
|
17
|
+
class DNote < Tool
|
18
|
+
|
19
|
+
# not that this is necessary, but ...
|
20
|
+
# def self.available(project)
|
21
|
+
# begin
|
22
|
+
# require 'dnote'
|
23
|
+
# require 'dnote/format'
|
24
|
+
# true
|
25
|
+
# rescue LoadError
|
26
|
+
# false
|
27
|
+
# end
|
28
|
+
#end
|
29
|
+
|
30
|
+
#
|
31
|
+
DEFAULT_FILES = "**/*.rb"
|
32
|
+
|
33
|
+
# Default note labels to looked for in source code.
|
34
|
+
DEFAULT_LABELS = ['TODO', 'FIXME', 'OPTIMIZE', 'DEPRECATE']
|
35
|
+
|
36
|
+
# Specific labels to document.
|
37
|
+
attr_accessor :labels
|
38
|
+
|
39
|
+
# File paths to search.
|
40
|
+
attr_accessor :files
|
41
|
+
|
42
|
+
# Exclude paths.
|
43
|
+
attr_accessor :exclude
|
44
|
+
|
45
|
+
# Ignore paths based on any part of pathname.
|
46
|
+
attr_accessor :ignore
|
47
|
+
|
48
|
+
# Title to use if template can use it.
|
49
|
+
attr_accessor :title
|
50
|
+
|
51
|
+
# Number of context lines to display.
|
52
|
+
attr_accessor :lines
|
53
|
+
|
54
|
+
# Output is either a file name with a clear extension to infer type
|
55
|
+
# or a list of such file names, or a hash mapping file name to type.
|
56
|
+
#
|
57
|
+
# output: NOTES.rdoc
|
58
|
+
#
|
59
|
+
# output:
|
60
|
+
# - NOTES.rdoc
|
61
|
+
# - site/notes.html
|
62
|
+
#
|
63
|
+
# output:
|
64
|
+
# NOTES: markdown
|
65
|
+
# site/notes.html: html
|
66
|
+
#
|
67
|
+
# Recognized formats include `xml`, `html` and `rdoc` among others.
|
68
|
+
attr_accessor :output
|
69
|
+
|
70
|
+
# S E R V I C E M E T H O D S
|
71
|
+
|
72
|
+
# Check the output file and see if they are older than
|
73
|
+
# the input files.
|
74
|
+
#
|
75
|
+
# @return [Boolean] whether output is up-to-date
|
76
|
+
def current?
|
77
|
+
output_mapping.each do |file, format|
|
78
|
+
return false if outofdate?(file, *dnote_session.files)
|
79
|
+
end
|
80
|
+
"DNotes are current (#{output})"
|
81
|
+
end
|
82
|
+
|
83
|
+
# Generate notes documents.
|
84
|
+
def document
|
85
|
+
session = dnote_session
|
86
|
+
|
87
|
+
output_mapping.each do |file, format|
|
88
|
+
#next unless verify_format(format)
|
89
|
+
|
90
|
+
mkdir_p(File.dirname(file))
|
91
|
+
|
92
|
+
session.output = file
|
93
|
+
session.format = format
|
94
|
+
session.run
|
95
|
+
|
96
|
+
report "Updated #{file.sub(Dir.pwd+'/','')}"
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
# Reset output files, marking them as out-of-date.
|
101
|
+
def reset
|
102
|
+
output.each do |file, format|
|
103
|
+
if File.exist?(file)
|
104
|
+
utime(0,0,file)
|
105
|
+
report "Marked #{file} as out-of-date."
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
# Remove output files.
|
111
|
+
def purge
|
112
|
+
output.each do |file, format|
|
113
|
+
if File.exist?(file)
|
114
|
+
rm(file)
|
115
|
+
report "Removed #{file}"
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
# A S S E M B L Y S T A T I O N S
|
121
|
+
|
122
|
+
# Attach document method to assembly station.
|
123
|
+
def station_document
|
124
|
+
document
|
125
|
+
end
|
126
|
+
|
127
|
+
# Attach reset method to assembly station.
|
128
|
+
def station_reset
|
129
|
+
reset
|
130
|
+
end
|
131
|
+
|
132
|
+
# Attach purge method to assembly station.
|
133
|
+
def station_purge
|
134
|
+
purge
|
135
|
+
end
|
136
|
+
|
137
|
+
private
|
138
|
+
|
139
|
+
# Convert output into a hash of `file => format`.
|
140
|
+
#++
|
141
|
+
# TODO: apply_naming_policy ?
|
142
|
+
#--
|
143
|
+
def output_mapping
|
144
|
+
@output_mapping ||= (
|
145
|
+
hash = {}
|
146
|
+
case output
|
147
|
+
when Array
|
148
|
+
output.each do |path|
|
149
|
+
hash[path] = format(path)
|
150
|
+
end
|
151
|
+
when String
|
152
|
+
hash[output] = format(output)
|
153
|
+
when Hash
|
154
|
+
hash = output
|
155
|
+
end
|
156
|
+
hash
|
157
|
+
)
|
158
|
+
end
|
159
|
+
|
160
|
+
#
|
161
|
+
def format(file)
|
162
|
+
type = File.extname(file).sub('.','')
|
163
|
+
type = DEFAULT_FORMAT if type.empty?
|
164
|
+
type
|
165
|
+
end
|
166
|
+
|
167
|
+
#
|
168
|
+
def dnote_session
|
169
|
+
::DNote::Session.new do |s|
|
170
|
+
s.paths = files
|
171
|
+
s.exclude = exclude
|
172
|
+
s.ignore = ignore
|
173
|
+
s.labels = labels
|
174
|
+
s.title = title
|
175
|
+
s.context = lines
|
176
|
+
s.dryrun = trial?
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
#
|
181
|
+
def initialize_requires
|
182
|
+
require 'dnote'
|
183
|
+
require 'dnote/format'
|
184
|
+
end
|
185
|
+
|
186
|
+
#
|
187
|
+
def initialize_defaults
|
188
|
+
@files = DEFAULT_FILES
|
189
|
+
@output = project.log + 'dnotes.html'
|
190
|
+
@labels = nil #DEFAULT_LABELS
|
191
|
+
end
|
192
|
+
|
193
|
+
public
|
194
|
+
|
195
|
+
def self.man_page
|
196
|
+
File.dirname(__FILE__)+'/../man/detroit-dnote.5'
|
197
|
+
end
|
198
|
+
|
199
|
+
end
|
200
|
+
|
201
|
+
end
|
data/man/detroit-dnote.5
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
.\" generated with Ronn/v0.7.3
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
|
+
.
|
4
|
+
.TH "DETROIT\-DNOTE" "5" "October 2011" "" ""
|
5
|
+
.
|
6
|
+
.SH "NAME"
|
7
|
+
\fBdetroit\-dnote\fR \- extract developers notes from ruby source code
|
8
|
+
.
|
9
|
+
.SH "DESCRIPTION"
|
10
|
+
The DNote plug\-in for Detroit utilize the DNote command line tool to extract notes from source code and construct nicely formated documentation out of it\.
|
11
|
+
.
|
12
|
+
.SH "OPTIONS"
|
13
|
+
The following options can be used in the Detroit assembly file for defining a dnote service\.
|
14
|
+
.
|
15
|
+
.IP "\(bu" 4
|
16
|
+
\fBlabels\fR \- List of labels to document\. The default list includes \fBTODO\fR, \fBFIXME\fR, \fBOPTIMIZE\fR, and \fBDEPRECATE\fR\.
|
17
|
+
.
|
18
|
+
.IP "\(bu" 4
|
19
|
+
\fBfiles\fR \- File paths to search\.
|
20
|
+
.
|
21
|
+
.IP "\(bu" 4
|
22
|
+
\fBexclude\fR \- Exclude paths\.
|
23
|
+
.
|
24
|
+
.IP "\(bu" 4
|
25
|
+
\fBignore\fR \- Ignore paths based on any part of pathname\.
|
26
|
+
.
|
27
|
+
.IP "\(bu" 4
|
28
|
+
\fBtitle\fR \- Title to use if template can use it\.
|
29
|
+
.
|
30
|
+
.IP "\(bu" 4
|
31
|
+
\fBlines\fR \- Number of context lines to display\.
|
32
|
+
.
|
33
|
+
.IP "\(bu" 4
|
34
|
+
\fBoutput\fR \- Output is either a file name with a recognized extension, a list of such file names, or a hash mapping file name to file type\. Recognized extensions include \fBxml\fR, \fBhtml\fR and \fBrdoc\fR among others\.
|
35
|
+
.
|
36
|
+
.IP "" 0
|
37
|
+
.
|
38
|
+
.SH "EXAMPLES"
|
39
|
+
The simplist entry is
|
40
|
+
.
|
41
|
+
.IP "" 4
|
42
|
+
.
|
43
|
+
.nf
|
44
|
+
|
45
|
+
dnote:
|
46
|
+
output: NOTES\.rdoc
|
47
|
+
.
|
48
|
+
.fi
|
49
|
+
.
|
50
|
+
.IP "" 0
|
51
|
+
.
|
52
|
+
.P
|
53
|
+
To produce multiple formats use a list\.
|
54
|
+
.
|
55
|
+
.IP "" 4
|
56
|
+
.
|
57
|
+
.nf
|
58
|
+
|
59
|
+
dnote:
|
60
|
+
output:
|
61
|
+
\- NOTES\.rdoc
|
62
|
+
\- site/notes\.html
|
63
|
+
.
|
64
|
+
.fi
|
65
|
+
.
|
66
|
+
.IP "" 0
|
67
|
+
.
|
68
|
+
.P
|
69
|
+
If the extension is atypical use a mapping\.
|
70
|
+
.
|
71
|
+
.IP "" 4
|
72
|
+
.
|
73
|
+
.nf
|
74
|
+
|
75
|
+
dnote:
|
76
|
+
output:
|
77
|
+
NOTES: markdown
|
78
|
+
site/notes\.html: html
|
79
|
+
.
|
80
|
+
.fi
|
81
|
+
.
|
82
|
+
.IP "" 0
|
83
|
+
.
|
84
|
+
.P
|
85
|
+
A fuller example might look something like this\.
|
86
|
+
.
|
87
|
+
.IP "" 4
|
88
|
+
.
|
89
|
+
.nf
|
90
|
+
|
91
|
+
dnote:
|
92
|
+
labels: [TODO, THINK, FIX]
|
93
|
+
files: [lib, test]
|
94
|
+
exclude:
|
95
|
+
\- lib/foo/templates
|
96
|
+
ignore: [\.yml]
|
97
|
+
output: log/NOTES\.rdoc
|
98
|
+
lines: 5
|
99
|
+
.
|
100
|
+
.fi
|
101
|
+
.
|
102
|
+
.IP "" 0
|
103
|
+
.
|
104
|
+
.SH "RESOURCES"
|
105
|
+
For more information:
|
106
|
+
.
|
107
|
+
.IP "\(bu" 4
|
108
|
+
API Documentation \fIhttp://rubydoc\.info/gems/detroit\-dnote\fR
|
109
|
+
.
|
110
|
+
.IP "\(bu" 4
|
111
|
+
Development Site \fIhttp://github\.com/detroit/detroit\-dnote\fR
|
112
|
+
.
|
113
|
+
.IP "" 0
|
114
|
+
.
|
115
|
+
.SH "COPYRIGHT"
|
116
|
+
Copyright (c) 2010 Thomas Sawyer, Rubyworks
|
117
|
+
.
|
118
|
+
.P
|
119
|
+
Detroit DNote is distributable in accordance with the GPLv3 license\.
|
120
|
+
.
|
121
|
+
.SH "SEE ALSO"
|
122
|
+
dnote(1)
|
@@ -0,0 +1,166 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
5
|
+
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
6
|
+
<title>detroit-dnote(5) - extract developers notes from ruby source code</title>
|
7
|
+
<style type='text/css' media='all'>
|
8
|
+
/* style: man */
|
9
|
+
body#manpage {margin:0}
|
10
|
+
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
|
11
|
+
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
|
12
|
+
.mp h2 {margin:10px 0 0 0}
|
13
|
+
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
|
14
|
+
.mp h3 {margin:0 0 0 4ex}
|
15
|
+
.mp dt {margin:0;clear:left}
|
16
|
+
.mp dt.flush {float:left;width:8ex}
|
17
|
+
.mp dd {margin:0 0 0 9ex}
|
18
|
+
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
|
19
|
+
.mp pre {margin-bottom:20px}
|
20
|
+
.mp pre+h2,.mp pre+h3 {margin-top:22px}
|
21
|
+
.mp h2+pre,.mp h3+pre {margin-top:5px}
|
22
|
+
.mp img {display:block;margin:auto}
|
23
|
+
.mp h1.man-title {display:none}
|
24
|
+
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
|
25
|
+
.mp h2 {font-size:16px;line-height:1.25}
|
26
|
+
.mp h1 {font-size:20px;line-height:2}
|
27
|
+
.mp {text-align:justify;background:#fff}
|
28
|
+
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
|
29
|
+
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
|
30
|
+
.mp u {text-decoration:underline}
|
31
|
+
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
|
32
|
+
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
|
33
|
+
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
|
34
|
+
.mp b.man-ref {font-weight:normal;color:#434241}
|
35
|
+
.mp pre {padding:0 4ex}
|
36
|
+
.mp pre code {font-weight:normal;color:#434241}
|
37
|
+
.mp h2+pre,h3+pre {padding-left:0}
|
38
|
+
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
|
39
|
+
ol.man-decor {width:100%}
|
40
|
+
ol.man-decor li.tl {text-align:left}
|
41
|
+
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
|
42
|
+
ol.man-decor li.tr {text-align:right;float:right}
|
43
|
+
</style>
|
44
|
+
</head>
|
45
|
+
<!--
|
46
|
+
The following styles are deprecated and will be removed at some point:
|
47
|
+
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
|
48
|
+
|
49
|
+
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
|
50
|
+
.man-navigation should be used instead.
|
51
|
+
-->
|
52
|
+
<body id='manpage'>
|
53
|
+
<div class='mp' id='man'>
|
54
|
+
|
55
|
+
<div class='man-navigation' style='display:none'>
|
56
|
+
<a href="#NAME">NAME</a>
|
57
|
+
<a href="#DESCRIPTION">DESCRIPTION</a>
|
58
|
+
<a href="#OPTIONS">OPTIONS</a>
|
59
|
+
<a href="#EXAMPLES">EXAMPLES</a>
|
60
|
+
<a href="#RESOURCES">RESOURCES</a>
|
61
|
+
<a href="#COPYRIGHT">COPYRIGHT</a>
|
62
|
+
<a href="#SEE-ALSO">SEE ALSO</a>
|
63
|
+
</div>
|
64
|
+
|
65
|
+
<ol class='man-decor man-head man head'>
|
66
|
+
<li class='tl'>detroit-dnote(5)</li>
|
67
|
+
<li class='tc'></li>
|
68
|
+
<li class='tr'>detroit-dnote(5)</li>
|
69
|
+
</ol>
|
70
|
+
|
71
|
+
<h2 id="NAME">NAME</h2>
|
72
|
+
<p class="man-name">
|
73
|
+
<code>detroit-dnote</code> - <span class="man-whatis">extract developers notes from ruby source code</span>
|
74
|
+
</p>
|
75
|
+
|
76
|
+
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
77
|
+
|
78
|
+
<p>The DNote plug-in for Detroit utilize the DNote command line tool
|
79
|
+
to extract notes from source code and construct nicely formated
|
80
|
+
documentation out of it.</p>
|
81
|
+
|
82
|
+
<h2 id="OPTIONS">OPTIONS</h2>
|
83
|
+
|
84
|
+
<p>The following options can be used in the Detroit assembly file
|
85
|
+
for defining a dnote service.</p>
|
86
|
+
|
87
|
+
<ul>
|
88
|
+
<li><p><code>labels</code> - List of labels to document. The default list includes
|
89
|
+
<code>TODO</code>, <code>FIXME</code>, <code>OPTIMIZE</code>, and <code>DEPRECATE</code>.</p></li>
|
90
|
+
<li><p><code>files</code> - File paths to search.</p></li>
|
91
|
+
<li><p><code>exclude</code> - Exclude paths.</p></li>
|
92
|
+
<li><p><code>ignore</code> - Ignore paths based on any part of pathname.</p></li>
|
93
|
+
<li><p><code>title</code> - Title to use if template can use it.</p></li>
|
94
|
+
<li><p><code>lines</code> - Number of context lines to display.</p></li>
|
95
|
+
<li><p><code>output</code> - Output is either a file name with a recognized extension,
|
96
|
+
a list of such file names, or a hash mapping file name to file type.
|
97
|
+
Recognized extensions include <code>xml</code>, <code>html</code> and <code>rdoc</code> among others.</p></li>
|
98
|
+
</ul>
|
99
|
+
|
100
|
+
|
101
|
+
<h2 id="EXAMPLES">EXAMPLES</h2>
|
102
|
+
|
103
|
+
<p>The simplist entry is</p>
|
104
|
+
|
105
|
+
<pre><code>dnote:
|
106
|
+
output: NOTES.rdoc
|
107
|
+
</code></pre>
|
108
|
+
|
109
|
+
<p>To produce multiple formats use a list.</p>
|
110
|
+
|
111
|
+
<pre><code>dnote:
|
112
|
+
output:
|
113
|
+
- NOTES.rdoc
|
114
|
+
- site/notes.html
|
115
|
+
</code></pre>
|
116
|
+
|
117
|
+
<p>If the extension is atypical use a mapping.</p>
|
118
|
+
|
119
|
+
<pre><code> dnote:
|
120
|
+
output:
|
121
|
+
NOTES: markdown
|
122
|
+
site/notes.html: html
|
123
|
+
</code></pre>
|
124
|
+
|
125
|
+
<p>A fuller example might look something like this.</p>
|
126
|
+
|
127
|
+
<pre><code> dnote:
|
128
|
+
labels: [TODO, THINK, FIX]
|
129
|
+
files: [lib, test]
|
130
|
+
exclude:
|
131
|
+
- lib/foo/templates
|
132
|
+
ignore: [.yml]
|
133
|
+
output: log/NOTES.rdoc
|
134
|
+
lines: 5
|
135
|
+
</code></pre>
|
136
|
+
|
137
|
+
<h2 id="RESOURCES">RESOURCES</h2>
|
138
|
+
|
139
|
+
<p>For more information:</p>
|
140
|
+
|
141
|
+
<ul>
|
142
|
+
<li><p><a href="http://rubydoc.info/gems/detroit-dnote">API Documentation</a></p></li>
|
143
|
+
<li><p><a href="http://github.com/detroit/detroit-dnote">Development Site</a></p></li>
|
144
|
+
</ul>
|
145
|
+
|
146
|
+
|
147
|
+
<h2 id="COPYRIGHT">COPYRIGHT</h2>
|
148
|
+
|
149
|
+
<p>Copyright (c) 2010 Thomas Sawyer, Rubyworks</p>
|
150
|
+
|
151
|
+
<p>Detroit DNote is distributable in accordance with the GPLv3 license.</p>
|
152
|
+
|
153
|
+
<h2 id="SEE-ALSO">SEE ALSO</h2>
|
154
|
+
|
155
|
+
<p><span class="man-ref">dnote<span class="s">(1)</span></span></p>
|
156
|
+
|
157
|
+
|
158
|
+
<ol class='man-decor man-foot man foot'>
|
159
|
+
<li class='tl'></li>
|
160
|
+
<li class='tc'>October 2011</li>
|
161
|
+
<li class='tr'>detroit-dnote(5)</li>
|
162
|
+
</ol>
|
163
|
+
|
164
|
+
</div>
|
165
|
+
</body>
|
166
|
+
</html>
|
@@ -0,0 +1,85 @@
|
|
1
|
+
detroit-dnote(5) - extract developers notes from ruby source code
|
2
|
+
=================================================================
|
3
|
+
|
4
|
+
## DESCRIPTION
|
5
|
+
|
6
|
+
The DNote plug-in for Detroit utilize the DNote command line tool
|
7
|
+
to extract notes from source code and construct nicely formatted
|
8
|
+
documentation out of it.
|
9
|
+
|
10
|
+
|
11
|
+
## OPTIONS
|
12
|
+
|
13
|
+
The following options can be used in the Detroit assembly file
|
14
|
+
for defining a DNote service.
|
15
|
+
|
16
|
+
* `labels` - List of labels to document. The default list includes
|
17
|
+
`TODO`, `FIXME`, `OPTIMIZE`, and `DEPRECATE`.
|
18
|
+
|
19
|
+
* `files` - File paths to search.
|
20
|
+
|
21
|
+
* `exclude` - Exclude paths.
|
22
|
+
|
23
|
+
* `ignore` - Ignore paths based on any part of pathname.
|
24
|
+
|
25
|
+
* `title` - Title to use if template can use it.
|
26
|
+
|
27
|
+
* `lines` - Number of context lines to display.
|
28
|
+
|
29
|
+
* `output` - Output is either a file name with a recognized extension,
|
30
|
+
a list of such file names, or a hash mapping file name to file type.
|
31
|
+
Recognized extensions include `xml`, `html` and `rdoc` among others.
|
32
|
+
|
33
|
+
|
34
|
+
## EXAMPLES
|
35
|
+
|
36
|
+
The simplest entry is
|
37
|
+
|
38
|
+
dnote:
|
39
|
+
output: NOTES.rdoc
|
40
|
+
|
41
|
+
To produce multiple formats use a list.
|
42
|
+
|
43
|
+
dnote:
|
44
|
+
output:
|
45
|
+
- NOTES.rdoc
|
46
|
+
- site/notes.html
|
47
|
+
|
48
|
+
If the extension is atypical use a mapping.
|
49
|
+
|
50
|
+
dnote:
|
51
|
+
output:
|
52
|
+
NOTES: markdown
|
53
|
+
site/notes.html: html
|
54
|
+
|
55
|
+
A fuller example might look something like this.
|
56
|
+
|
57
|
+
dnote:
|
58
|
+
labels: [TODO, THINK, FIX]
|
59
|
+
files: [lib, test]
|
60
|
+
exclude:
|
61
|
+
- lib/foo/templates
|
62
|
+
ignore: [.yml]
|
63
|
+
output: log/NOTES.rdoc
|
64
|
+
lines: 5
|
65
|
+
|
66
|
+
|
67
|
+
## RESOURCES
|
68
|
+
|
69
|
+
For more information:
|
70
|
+
|
71
|
+
* [API Documentation](http://rubydoc.info/gems/detroit-dnote)
|
72
|
+
|
73
|
+
* [Development Site](http://github.com/detroit/detroit-dnote)
|
74
|
+
|
75
|
+
|
76
|
+
## COPYRIGHT
|
77
|
+
|
78
|
+
Copyright (c) 2010 Thomas Sawyer, Rubyworks
|
79
|
+
|
80
|
+
Detroit DNote is distributable in accordance with the GPLv3 license.
|
81
|
+
|
82
|
+
|
83
|
+
## SEE ALSO
|
84
|
+
|
85
|
+
detroit(1), dnote(1)
|
metadata
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: detroit-dnote
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- T.Sawyer
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-10-19 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: dnote
|
16
|
+
requirement: &19118820 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *19118820
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: detroit
|
27
|
+
requirement: &19117640 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *19117640
|
36
|
+
description: DNote plugin for Detroit build system. Extract devleoper's notes from
|
37
|
+
source in documentation phase.
|
38
|
+
email:
|
39
|
+
- transfire@gmail.com
|
40
|
+
executables: []
|
41
|
+
extensions: []
|
42
|
+
extra_rdoc_files:
|
43
|
+
- GPL3.txt
|
44
|
+
- README.rdoc
|
45
|
+
- COPYING.rdoc
|
46
|
+
files:
|
47
|
+
- .ruby
|
48
|
+
- lib/detroit-dnote.rb
|
49
|
+
- man/detroit-dnote.5
|
50
|
+
- man/detroit-dnote.5.html
|
51
|
+
- man/detroit-dnote.5.ronn
|
52
|
+
- README.rdoc
|
53
|
+
- GPL3.txt
|
54
|
+
- COPYING.rdoc
|
55
|
+
homepage: http://detroit.github.com
|
56
|
+
licenses: []
|
57
|
+
post_install_message:
|
58
|
+
rdoc_options: []
|
59
|
+
require_paths:
|
60
|
+
- lib
|
61
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
69
|
+
requirements:
|
70
|
+
- - ! '>='
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
73
|
+
requirements: []
|
74
|
+
rubyforge_project:
|
75
|
+
rubygems_version: 1.8.5
|
76
|
+
signing_key:
|
77
|
+
specification_version: 3
|
78
|
+
summary: DNote plugin for Detroit
|
79
|
+
test_files: []
|