= D'Note * home: http://proutils.github.com/dnote * source: http://github.com/proutils/dnote * forum: http://googlegroups.com/group/proutils == DESCRIPTION Extract developement notes from source code and generate some nice output formats for them. == SYNOPSIS === Note Structure D'Note scans for the common noting pattern used by develepors of many laguages of an all-caps label followed bt a colon. To be more specific, for D'Note to recogznie a note, it needs ot follow this simple set of rules: 1) Notes start with an all-caps label puctuated with a colon, followed by the note's text. # LABEL: description ... 2) Specially designated notes can omit the colon. By default these are +TODO+, +FIXME+ and +OPTIMIZE+. # TODO description ... 3) Any note that requires more than one line must remain flush to the left margin (the margin is set by the first line). This is done because RDoc will mistake the note for a <pre> block if it is indented. # LABEL: description ... # continue ... 4) An alternative to the limitation of the last rule is to indent the whole note, making it a <pre> block. Then the text layout is free-form. # This is a description of something... # # LABEL: description ... # continue ... That's all there is to it, if I can convince the developers of RDoc to add recognize labels, we may eventually be able to relax the flush rule, which would be very nice. === Generating Notes As you can see the commandline interface is quite straight-forward. Usage: dnote [OPTIONS] path1 [path2 ...] OUTPUT FORMAT: (choose one) --rdoc RDoc comment format --markdown Markdown wiki format --xml XML markup format --html HTML markup format --yaml YAML serialization format --json JSON serialization format OTHER OPTIONS: --label labels to collect -t, --title [TITLE] title to use in headers STANDARD OPTIONS: -v, --verbose extra verbose output --debug debug mode -h, --help show this help information The default path is **/*.rb and the default format --rdoc. Here is an example of DNote's current notes in RDoc format: = Development Notes == TODO === file://lib/dnote/notes.rb * TODO: Add ability to read header notes. They oftern have a outline format, rather then the single line. (19) * TODO: Need good CSS file. (22) * TODO: Need XSL? (24) === file://plug/syckle/services/dnote.rb * TODO: Should this service be part of the +site+ cycle? (18) (4 TODOs) == INSTALLATION The usual RubyGem's command: $ sudo gem install dnote == COPYRIGHTS (MIT License) Copyright (c) 2006, 2009 Thomas Sawyer THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.