vocco 0.1.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.
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
@@ -0,0 +1,3 @@
1
+ [submodule "website"]
2
+ path = website
3
+ url = git@github.com:jbe/vocco.git
@@ -0,0 +1,42 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activesupport (3.0.5)
5
+ git (1.2.5)
6
+ haml (3.0.25)
7
+ i18n (0.5.0)
8
+ jeweler (1.5.2)
9
+ bundler (~> 1.0.0)
10
+ git (>= 1.2.5)
11
+ rake
12
+ rake (0.8.7)
13
+ rdiscount (1.6.8)
14
+ shoulda (2.11.3)
15
+ slim (0.9.0)
16
+ temple (~> 0.1.7)
17
+ tilt (~> 1.2)
18
+ temple (0.1.7)
19
+ tilt (1.2.2)
20
+ trollop (1.16.2)
21
+ vocco (0.0.0)
22
+ tilt
23
+ trollop
24
+ why-hpricot
25
+ why-hpricot (0.7.229)
26
+
27
+ PLATFORMS
28
+ ruby
29
+
30
+ DEPENDENCIES
31
+ activesupport
32
+ bundler (~> 1.0.0)
33
+ haml
34
+ i18n
35
+ jeweler (~> 1.5.2)
36
+ rdiscount
37
+ shoulda
38
+ slim
39
+ tilt
40
+ trollop
41
+ vocco
42
+ why-hpricot
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Jostein Berre Eliassen
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README ADDED
@@ -0,0 +1,83 @@
1
+
2
+ ,---.
3
+ /__./| ,---. ,---.
4
+ ,---.; ; | ' ,'\ ' ,'\
5
+ /___/ \ | | / / | ,---. ,---. / / |
6
+ \ ; \ ' |. ; ,. : / \ / \. ; ,. :
7
+ \ \ \: |' | |: : / / ' / / '' | |: :
8
+ ; \ ' .' | .; :. ' / . ' / ' | .; :
9
+ \ \ '| : |' ; :__ ' ; :__| : |
10
+ \ ` ; \ \ / ' | '.'|' | '.'|\ \ /
11
+ : \ | `----' | : :| : : `----'
12
+ '---" \ \ / \ \ /
13
+ `----' `----'
14
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
+ Quick and dirty documentation using Vim
16
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17
+
18
+ Vocco is a super patchy literate programming-style
19
+ documentation generator using Vim's :TOhtml feature.
20
+ It renders groups of files as syntax highlighted HTML,
21
+ using your everyday Vim settings.
22
+
23
+ Make sure you have gvim or macvim and a nice default
24
+ color scheme installed for optimum roi.
25
+
26
+
27
+ USAGE vocco [options]
28
+
29
+ writes html to the directory
30
+ given by --out, for all files
31
+ matching the --file globs.
32
+
33
+ OPTIONS --files '**/*.rb' README LICENCE
34
+ and
35
+ defaults --out ./docs
36
+
37
+ --notes ./notes
38
+
39
+ --name from gemspec, or use
40
+ current directory name.
41
+
42
+ --site from gemspec, or none
43
+
44
+ --vim macvim gvim vim
45
+
46
+
47
+ RUBYGEM $ gem install vocco
48
+
49
+ Vocco.run :out => './website'
50
+
51
+
52
+ NOTES Vocco can include notes for
53
+ each file.
54
+
55
+ Given
56
+ -- files 'tra/la/**/*.rb'
57
+ and that there is a file at
58
+ 'tra/la/bup/fum.rb',
59
+ and that
60
+ -- notes='./notes'
61
+
62
+ Then you can put notes at
63
+ 'notes/bup/fum.rb.md', or
64
+ 'tra/la/bup/fum.md'
65
+
66
+ Instead of .md (markdown), you
67
+ can also use .textile and
68
+ .rdoc.
69
+
70
+ Bonus points for noticing that
71
+ the static part of the globs
72
+ are automagically trimmed off
73
+ the paths.
74
+
75
+
76
+ GREETS Docco: <http://jashkenas.github.com/docco/>
77
+ Rocco: <http://rtomayko.github.com/rocco/>
78
+ Shocco: <http://rtomayko.github.com/shocco/>
79
+
80
+
81
+ COPYING Copyright (c) 2011 Jostein Berre
82
+ Eliassen. Released under an MIT
83
+ license. See LICENSE.txt for info.
@@ -0,0 +1,88 @@
1
+ require 'rubygems'
2
+
3
+ #require 'bundler'
4
+ #begin
5
+ # Bundler.setup(:default, :development)
6
+ #rescue Bundler::BundlerError => e
7
+ # $stderr.puts e.message
8
+ # $stderr.puts "Run `bundle install` to install missing gems"
9
+ # exit e.status_code
10
+ #end
11
+ require 'rake'
12
+
13
+ require 'jeweler'
14
+ Jeweler::Tasks.new do |gem|
15
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
16
+ gem.name = "vocco"
17
+ gem.homepage = "http://github.com/jbe/vocco"
18
+ gem.license = "MIT"
19
+ gem.summary = %Q{vocco is an extra super quick-and-dirty documentation generator based on Vim, written in Ruby.}
20
+ gem.description = %Q{vocco is an extra super quick-and-dirty documentation generator based on Vim, written in Ruby.}
21
+ gem.email = "post@jostein.be"
22
+ gem.authors = ["jbe"]
23
+
24
+ gem.add_runtime_dependency 'trollop'
25
+ gem.add_runtime_dependency 'why-hpricot'
26
+ gem.add_runtime_dependency 'tilt'
27
+ gem.add_runtime_dependency 'rdiscount'
28
+
29
+ gem.add_development_dependency 'shoulda'
30
+ gem.add_development_dependency 'jeweler'
31
+ gem.add_development_dependency 'tilt'
32
+ gem.add_development_dependency 'slim'
33
+ gem.add_development_dependency 'haml'
34
+ #gem.add_development_dependency 'i18n'
35
+ gem.add_development_dependency 'activesupport'
36
+ gem.add_development_dependency 'vocco'
37
+ end
38
+ Jeweler::RubygemsDotOrgTasks.new
39
+
40
+
41
+ def precompile(const_name, template)
42
+
43
+ require 'active_support/inflector'
44
+ String.send :include, ActiveSupport::Inflector
45
+
46
+ path = File.join('lib', const_name.underscore + '.rb')
47
+
48
+ generated = case template
49
+ when Tilt::SassTemplate then template.render
50
+ when Slim::Template then template.send(:precompiled_template, {})
51
+ else raise 'unsupported template'
52
+ end
53
+
54
+ heredoc_str = '__YOU_ARE_SPECIAL__'
55
+ opener = "#{const_name} = <<-'#{heredoc_str}'\n"
56
+ closer = "\n#{heredoc_str}\n"
57
+
58
+ File.open(path, 'w') do |file|
59
+ file.write opener + generated + closer
60
+ end
61
+ end
62
+
63
+
64
+
65
+ task :docs do
66
+ require 'vocco'
67
+ Vocco.run(
68
+ :out => 'website',
69
+ :files => %w{README LICENSE lib/**/*.rb}
70
+ )
71
+ end
72
+
73
+
74
+ namespace :build do
75
+ task :templates do
76
+ require 'tilt'
77
+ require 'slim'
78
+ precompile(
79
+ 'Vocco::Generator::CSS',
80
+ Tilt.new('template/css.sass')
81
+ )
82
+ precompile(
83
+ 'Vocco::Generator::SourceFile::HTML_TEMPLATE',
84
+ Tilt.new('template/html.slim', :auto_escape => false)
85
+ )
86
+ end
87
+ end
88
+
data/TODO ADDED
@@ -0,0 +1,3 @@
1
+
2
+
3
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.1
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'vocco'
4
+
5
+ Vocco::CLI.start
@@ -0,0 +1,59 @@
1
+
2
+
3
+ require 'hpricot'
4
+ require 'tilt'
5
+ require 'tempfile'
6
+
7
+
8
+ module Vocco
9
+
10
+ require 'vocco/generator'
11
+ require 'vocco/cli'
12
+
13
+ class << self
14
+ def name_fallback
15
+ gemspec(:name) || File.basename(Dir.pwd)
16
+ end
17
+
18
+ def site_fallback
19
+ gemspec(:homepage)
20
+ end
21
+
22
+ def gemspec(prop)
23
+ begin
24
+ require 'rubygems'
25
+ @gemspec ||= Gem::Specification.load(File.basename(Dir.pwd) + '.gemspec')
26
+ @gemspec.send prop
27
+ rescue
28
+ nil
29
+ end
30
+ end
31
+
32
+ def run(opts)
33
+
34
+ bad_opts = opts.keys - OPTIONS.map {|line| line[0] }
35
+
36
+ unless bad_opts.empty?
37
+ raise "Invalid options: #{bad_opts}"
38
+ end
39
+
40
+ 0.upto(OPTIONS.size - 1) do |n|
41
+ opts[OPTIONS[n][0]] ||= OPTIONS[n][2]
42
+ end
43
+
44
+ Generator.new(opts).run
45
+ end
46
+ alias :run! :run
47
+ end
48
+
49
+ OPTIONS = [
50
+ [:files, "File match globs", %w{**/*.rb README LICENSE} ],
51
+ [:out, "Output directory", './docs' ],
52
+ [:notes, "Note directories", ['./notes'] ],
53
+ [:name, "Project name", name_fallback ],
54
+ [:site, "Project url", site_fallback ],
55
+ [:vim, "Vim command", %w{macvim gvim vim} ]
56
+ ]
57
+ end
58
+
59
+
@@ -0,0 +1,22 @@
1
+
2
+
3
+ module Vocco::CLI
4
+
5
+ class << self
6
+ def start
7
+ require 'trollop'
8
+ opts = Trollop::options do
9
+
10
+ banner "Usage: vocco [options]\n\nOptions:"
11
+
12
+ ::Vocco::OPTIONS.each do |name, desc, default|
13
+ opt name, desc, :default => default
14
+ end
15
+ end
16
+
17
+ ::Vocco::Generator.new(opts).run
18
+ end
19
+ end
20
+ end
21
+
22
+
@@ -0,0 +1,180 @@
1
+
2
+
3
+ class Vocco::Generator
4
+
5
+ require 'vocco/generator/css'
6
+
7
+ attr_reader :globs, :notes, :out, :name, :site
8
+
9
+ def initialize(opts)
10
+ @globs = opts[:files].map {|path| path.sub(/\/$/, '') }
11
+ @out = opts[:out]
12
+ @notes = opts[:notes]
13
+ @name = opts[:name].capitalize
14
+ @site = opts[:site]
15
+ @vim = opts[:vim]
16
+ validate_out
17
+ end
18
+
19
+ def run
20
+ run_vim; postprocess
21
+ end
22
+ alias :run! :run
23
+
24
+ def trimmed_globs
25
+ @trimmed_globs ||= @globs.map do |glob|
26
+ glob.gsub(/(^\.\/)|(\/$)/, '')
27
+ end
28
+ end
29
+
30
+ def scopes
31
+ @scopes ||= trimmed_globs.map do |glob|
32
+ tokens = glob.split('*')
33
+ tokens.size > 1 ? tokens.first : nil
34
+ end.compact
35
+ end
36
+
37
+ def glob_regex
38
+ @glob_regex ||= begin
39
+ str = scopes.map do |scope|
40
+ Regexp::escape(scope)
41
+ end.join('|')
42
+ /^(\.\/)?(#{str})(\/)?/
43
+ end
44
+ end
45
+
46
+ def doc_regex
47
+ @doc_regex ||= begin
48
+ str = Regexp::escape(@out) + '/'
49
+ /^#{str}/
50
+ end
51
+ end
52
+
53
+ def files
54
+ @files ||= @globs.map do |glob|
55
+ Dir[glob]
56
+ end.flatten.uniq.map do |path|
57
+ SourceFile.new(path, self)
58
+ end
59
+ end
60
+
61
+ private
62
+
63
+ def validate_out
64
+ unless File.directory?(@out)
65
+ raise "#{@out} is not a valid directory."
66
+ end
67
+ end
68
+
69
+ def run_vim
70
+ script = Tempfile.new('vimdocco')
71
+ script.write(vimscript)
72
+ script.close
73
+ puts 'Running ' + vim_command + ':'
74
+ system "#{vim_command} -f -S #{script.path}"
75
+ script.delete
76
+ end
77
+
78
+ def vim_command
79
+ @vim_command ||= @vim.detect do |c|
80
+ `which #{c}`.chomp.strip != ''
81
+ end || abort("You must install one of #{@vim.inspect}.")
82
+ end
83
+
84
+ def vimscript
85
+ @vimscript ||= begin
86
+ s = "let html_no_pre = 1\n"
87
+ files.each do |file|
88
+ s << "view! #{file.file}\n"
89
+ s << "TOhtml\n"
90
+ s << "w! #{file.doc_path}\n"
91
+ end
92
+ s << ":qall!\n"
93
+ end
94
+ end
95
+
96
+ def postprocess
97
+ hpricotify_docs do |doc, file|
98
+ doc.at('style').after('<style type="text/css">' + CSS + '</style>')
99
+ doc.at('title').inner_html = name + ' : ' + file.basename
100
+ inner = doc.at('body').inner_html
101
+ doc.at('body').swap "<body><div class='code'>#{inner}</div></body>"
102
+ doc.at('.code').after file.render_template
103
+ end
104
+ end
105
+
106
+ def hpricotify_docs
107
+ files.each do |file|
108
+ doc = File.open(file.doc_path) {|f| Hpricot(f) }
109
+ yield(doc, file)
110
+ File.open(file.doc_path, 'w') {|f| f.write(doc.to_html) }
111
+ end
112
+ end
113
+ end
114
+
115
+ class Vocco::Generator::SourceFile
116
+ require 'vocco/generator/source_file/html_template'
117
+
118
+ def initialize(file, generator)
119
+ @file = file
120
+ @gen = generator
121
+ end
122
+
123
+ attr_reader :file
124
+
125
+ def short_path
126
+ @short_path ||= @file.sub(@gen.glob_regex, '')
127
+ end
128
+
129
+ def short_dirname
130
+ File.dirname(short_path).sub(/^\.\//, '')
131
+ end
132
+
133
+ def dirname
134
+ File.dirname(@file)
135
+ end
136
+
137
+ def basename
138
+ File.basename(@file)
139
+ end
140
+
141
+ def doc_prefix
142
+ short_dirname == '.' ? '' : short_dirname.gsub('/', '-') + '-'
143
+ end
144
+
145
+ def doc_path
146
+ File.join(@gen.out, doc_prefix + basename + '.html')
147
+ end
148
+
149
+ def doc_link
150
+ './' + doc_path.sub(@gen.doc_regex, '')
151
+ end
152
+
153
+ def notes
154
+ rendered = render_notes
155
+ rendered.any? ?
156
+ rendered.join("\n") : nil
157
+ end
158
+
159
+ def render_notes
160
+ Dir[note_glob].map do |path|
161
+ Tilt.new(path).render
162
+ end
163
+ end
164
+
165
+ def note_glob
166
+ dirs = [dirname]
167
+ @gen.notes.each do |dir|
168
+ dirs << File.join(dir, short_dirname)
169
+ end
170
+ ext = '.{textile,md,mkd,markdowb,rdoc}'
171
+ dir_glob = '{' + dirs.join(',') + '}/'
172
+ dir_glob + basename + ext
173
+ end
174
+
175
+ class_eval <<-EOF, '(template)'
176
+ def render_template
177
+ #{HTML_TEMPLATE}
178
+ end
179
+ EOF
180
+ end
@@ -0,0 +1,50 @@
1
+ Vocco::Generator::CSS = <<-'__YOU_ARE_SPECIAL__'
2
+ body {
3
+ font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;
4
+ font-size: 15px; }
5
+
6
+ html, body {
7
+ height: 100%; }
8
+
9
+ body {
10
+ padding: 1em; }
11
+
12
+ .code {
13
+ font-family: Menlo, Monaco, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace;
14
+ font-size: 16px;
15
+ padding: 1em;
16
+ width: 50%; }
17
+
18
+ .nav {
19
+ width: 40%;
20
+ position: fixed;
21
+ top: 0;
22
+ left: 55%;
23
+ height: 100%;
24
+ font-size: 15px;
25
+ line-height: 22px;
26
+ color: #252519; }
27
+ .nav .wrapper {
28
+ color: black;
29
+ height: 100%; }
30
+ .nav .wrapper .area {
31
+ background-color: #cccccc;
32
+ padding: 1em 1em 1em 1em;
33
+ border-bottom: 1px dashed #bbbbbb;
34
+ border-top: 1px dashed #666666; }
35
+ .nav .wrapper .area .autohide {
36
+ opacity: 0;
37
+ height: 0px;
38
+ -webkit-transition: all 0.2s linear;
39
+ overflow: auto; }
40
+ .nav .wrapper .area:hover .autohide {
41
+ height: 150px;
42
+ opacity: 1; }
43
+ .nav .wrapper .notes {
44
+ max-height: 40%;
45
+ overflow: auto; }
46
+
47
+ table th {
48
+ text-align: right; }
49
+
50
+ __YOU_ARE_SPECIAL__
@@ -0,0 +1,30 @@
1
+ Vocco::Generator::SourceFile::HTML_TEMPLATE = <<-'__YOU_ARE_SPECIAL__'
2
+ _buf = [] ; _temple_pre_tags = /<pre|<textarea/ ; _buf << ("<div class=\"nav\"><div class=\"wrapper\"><div class=\"area\"><h3><strong>") ;
3
+ ;
4
+ ;
5
+ ;
6
+ ;
7
+ ; if @gen.site ;
8
+ ; _buf << ("<a href=\"#{@gen.site}\">#{@gen.name}"\
9
+ "</a>") ; else ;
10
+ ; _buf << (@gen.name) ;
11
+ ; end ; _buf << ("</strong><span>#{' : '}"\
12
+ "</span><span>#{basename}"\
13
+ ""\
14
+ "</span></h3>") ; if @gen.files.size > 1 ;
15
+ ; _buf << ("<p class=\"autohide\">") ;
16
+ ; @gen.files.each do |file| ;
17
+ ; _buf << ("#{file.short_dirname == '.' ? '' : file.short_dirname + '/'}"\
18
+ "<a href=\"#{file.doc_link}\">#{file.basename}"\
19
+ "</a><br>"\
20
+ ""\
21
+ "") ; end ; _buf << ("</p>") ; end ; _buf << ("</div>") ; if notes ;
22
+ ; _buf << ("<div class=\"notes area\">#{notes}"\
23
+ ""\
24
+ "</div>") ; end ; _buf << ("<div class=\"area\"><table><tr><th>Generated:</th><td>"\
25
+ ""\
26
+ ""\
27
+ ""\
28
+ "#{Time.now.to_s}"\
29
+ "</td></tr></table></div></div></div>") ; _buf = _buf.join
30
+ __YOU_ARE_SPECIAL__
@@ -0,0 +1,9 @@
1
+
2
+
3
+ This webpage was generated by running Vocco on its own source code.
4
+
5
+ These paragraphs are actually "notes" attached to the README -- they were automatically generated and included from `./notes/README.md`. Notes can also be kept in the same directory as the source files, as long as their names correspond; like `app.rb.md` or `config.yml.textile`.
6
+
7
+ The supported note format extensions are: md, mkd, markdown, textile and rdoc.
8
+
9
+ Have a great day. &hearts;
@@ -0,0 +1,56 @@
1
+
2
+ body
3
+ :font-family 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif
4
+ :font-size 15px
5
+
6
+ html, body
7
+ :height 100%
8
+
9
+ body
10
+ :padding 1em
11
+
12
+ .code
13
+ :font-family Menlo, Monaco, 'DejaVu Sans Mono', Consolas, "Lucida Console", monospace
14
+ :font-size 16px
15
+ :padding 1em
16
+ :width 50%
17
+ //:white-space normal
18
+
19
+ .nav
20
+ :width 40%
21
+ :position fixed
22
+ :top 0
23
+ :left 55%
24
+ :height 100%
25
+
26
+ font-size: 15px
27
+ line-height: 22px
28
+ color: #252519
29
+
30
+
31
+ .wrapper
32
+ :color black
33
+ :height 100%
34
+ .area
35
+ :background-color #ccc
36
+ :padding 1em 1em 1em 1em
37
+ :border-bottom 1px dashed #bbb
38
+ :border-top 1px dashed #666
39
+ .autohide
40
+ :opacity 0
41
+ :height 0px
42
+ :-webkit-transition all 0.2s linear
43
+ :overflow auto
44
+ &:hover .autohide
45
+ :height 150px
46
+ :opacity 1
47
+ .notes
48
+ :max-height 40%
49
+ :overflow auto
50
+
51
+
52
+
53
+
54
+
55
+ table th
56
+ :text-align right
@@ -0,0 +1,27 @@
1
+ .nav
2
+ .wrapper
3
+ .area
4
+ h3
5
+ strong
6
+ - if @gen.site
7
+ a href=@gen.site = @gen.name
8
+ - else
9
+ = @gen.name
10
+ span = ' : '
11
+ span = basename
12
+
13
+ - if @gen.files.size > 1
14
+ p.autohide
15
+ - @gen.files.each do |file|
16
+ = file.short_dirname == '.' ? '' : file.short_dirname + '/'
17
+ a href="#{file.doc_link}" = file.basename
18
+ br
19
+
20
+ - if notes
21
+ .notes.area = notes
22
+
23
+ .area
24
+ table
25
+ tr
26
+ th Generated:
27
+ td = Time.now.to_s
@@ -0,0 +1,91 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{vocco}
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["jbe"]
12
+ s.date = %q{2011-03-02}
13
+ s.default_executable = %q{vocco}
14
+ s.description = %q{vocco is an extra super quick-and-dirty documentation generator based on Vim, written in Ruby.}
15
+ s.email = %q{post@jostein.be}
16
+ s.executables = ["vocco"]
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README",
20
+ "TODO"
21
+ ]
22
+ s.files = [
23
+ ".document",
24
+ ".gitmodules",
25
+ "Gemfile.lock",
26
+ "LICENSE.txt",
27
+ "README",
28
+ "Rakefile",
29
+ "TODO",
30
+ "VERSION",
31
+ "bin/vocco",
32
+ "lib/vocco.rb",
33
+ "lib/vocco/cli.rb",
34
+ "lib/vocco/generator.rb",
35
+ "lib/vocco/generator/css.rb",
36
+ "lib/vocco/generator/source_file/html_template.rb",
37
+ "notes/README.md",
38
+ "template/css.sass",
39
+ "template/html.slim",
40
+ "vocco.gemspec"
41
+ ]
42
+ s.homepage = %q{http://github.com/jbe/vocco}
43
+ s.licenses = ["MIT"]
44
+ s.require_paths = ["lib"]
45
+ s.rubygems_version = %q{1.3.7}
46
+ s.summary = %q{vocco is an extra super quick-and-dirty documentation generator based on Vim, written in Ruby.}
47
+
48
+ if s.respond_to? :specification_version then
49
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
50
+ s.specification_version = 3
51
+
52
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
53
+ s.add_runtime_dependency(%q<trollop>, [">= 0"])
54
+ s.add_runtime_dependency(%q<why-hpricot>, [">= 0"])
55
+ s.add_runtime_dependency(%q<tilt>, [">= 0"])
56
+ s.add_runtime_dependency(%q<rdiscount>, [">= 0"])
57
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
58
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
59
+ s.add_development_dependency(%q<tilt>, [">= 0"])
60
+ s.add_development_dependency(%q<slim>, [">= 0"])
61
+ s.add_development_dependency(%q<haml>, [">= 0"])
62
+ s.add_development_dependency(%q<activesupport>, [">= 0"])
63
+ s.add_development_dependency(%q<vocco>, [">= 0"])
64
+ else
65
+ s.add_dependency(%q<trollop>, [">= 0"])
66
+ s.add_dependency(%q<why-hpricot>, [">= 0"])
67
+ s.add_dependency(%q<tilt>, [">= 0"])
68
+ s.add_dependency(%q<rdiscount>, [">= 0"])
69
+ s.add_dependency(%q<shoulda>, [">= 0"])
70
+ s.add_dependency(%q<jeweler>, [">= 0"])
71
+ s.add_dependency(%q<tilt>, [">= 0"])
72
+ s.add_dependency(%q<slim>, [">= 0"])
73
+ s.add_dependency(%q<haml>, [">= 0"])
74
+ s.add_dependency(%q<activesupport>, [">= 0"])
75
+ s.add_dependency(%q<vocco>, [">= 0"])
76
+ end
77
+ else
78
+ s.add_dependency(%q<trollop>, [">= 0"])
79
+ s.add_dependency(%q<why-hpricot>, [">= 0"])
80
+ s.add_dependency(%q<tilt>, [">= 0"])
81
+ s.add_dependency(%q<rdiscount>, [">= 0"])
82
+ s.add_dependency(%q<shoulda>, [">= 0"])
83
+ s.add_dependency(%q<jeweler>, [">= 0"])
84
+ s.add_dependency(%q<tilt>, [">= 0"])
85
+ s.add_dependency(%q<slim>, [">= 0"])
86
+ s.add_dependency(%q<haml>, [">= 0"])
87
+ s.add_dependency(%q<activesupport>, [">= 0"])
88
+ s.add_dependency(%q<vocco>, [">= 0"])
89
+ end
90
+ end
91
+
metadata ADDED
@@ -0,0 +1,225 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vocco
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 1
9
+ version: 0.1.1
10
+ platform: ruby
11
+ authors:
12
+ - jbe
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-03-02 00:00:00 +01:00
18
+ default_executable: vocco
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: trollop
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ type: :runtime
32
+ version_requirements: *id001
33
+ - !ruby/object:Gem::Dependency
34
+ name: why-hpricot
35
+ prerelease: false
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ type: :runtime
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: tilt
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ version: "0"
57
+ type: :runtime
58
+ version_requirements: *id003
59
+ - !ruby/object:Gem::Dependency
60
+ name: rdiscount
61
+ prerelease: false
62
+ requirement: &id004 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
69
+ version: "0"
70
+ type: :runtime
71
+ version_requirements: *id004
72
+ - !ruby/object:Gem::Dependency
73
+ name: shoulda
74
+ prerelease: false
75
+ requirement: &id005 !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ segments:
81
+ - 0
82
+ version: "0"
83
+ type: :development
84
+ version_requirements: *id005
85
+ - !ruby/object:Gem::Dependency
86
+ name: jeweler
87
+ prerelease: false
88
+ requirement: &id006 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ type: :development
97
+ version_requirements: *id006
98
+ - !ruby/object:Gem::Dependency
99
+ name: tilt
100
+ prerelease: false
101
+ requirement: &id007 !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ segments:
107
+ - 0
108
+ version: "0"
109
+ type: :development
110
+ version_requirements: *id007
111
+ - !ruby/object:Gem::Dependency
112
+ name: slim
113
+ prerelease: false
114
+ requirement: &id008 !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ segments:
120
+ - 0
121
+ version: "0"
122
+ type: :development
123
+ version_requirements: *id008
124
+ - !ruby/object:Gem::Dependency
125
+ name: haml
126
+ prerelease: false
127
+ requirement: &id009 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ segments:
133
+ - 0
134
+ version: "0"
135
+ type: :development
136
+ version_requirements: *id009
137
+ - !ruby/object:Gem::Dependency
138
+ name: activesupport
139
+ prerelease: false
140
+ requirement: &id010 !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ segments:
146
+ - 0
147
+ version: "0"
148
+ type: :development
149
+ version_requirements: *id010
150
+ - !ruby/object:Gem::Dependency
151
+ name: vocco
152
+ prerelease: false
153
+ requirement: &id011 !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ segments:
159
+ - 0
160
+ version: "0"
161
+ type: :development
162
+ version_requirements: *id011
163
+ description: vocco is an extra super quick-and-dirty documentation generator based on Vim, written in Ruby.
164
+ email: post@jostein.be
165
+ executables:
166
+ - vocco
167
+ extensions: []
168
+
169
+ extra_rdoc_files:
170
+ - LICENSE.txt
171
+ - README
172
+ - TODO
173
+ files:
174
+ - .document
175
+ - .gitmodules
176
+ - Gemfile.lock
177
+ - LICENSE.txt
178
+ - README
179
+ - Rakefile
180
+ - TODO
181
+ - VERSION
182
+ - bin/vocco
183
+ - lib/vocco.rb
184
+ - lib/vocco/cli.rb
185
+ - lib/vocco/generator.rb
186
+ - lib/vocco/generator/css.rb
187
+ - lib/vocco/generator/source_file/html_template.rb
188
+ - notes/README.md
189
+ - template/css.sass
190
+ - template/html.slim
191
+ - vocco.gemspec
192
+ has_rdoc: true
193
+ homepage: http://github.com/jbe/vocco
194
+ licenses:
195
+ - MIT
196
+ post_install_message:
197
+ rdoc_options: []
198
+
199
+ require_paths:
200
+ - lib
201
+ required_ruby_version: !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ segments:
207
+ - 0
208
+ version: "0"
209
+ required_rubygems_version: !ruby/object:Gem::Requirement
210
+ none: false
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ segments:
215
+ - 0
216
+ version: "0"
217
+ requirements: []
218
+
219
+ rubyforge_project:
220
+ rubygems_version: 1.3.7
221
+ signing_key:
222
+ specification_version: 3
223
+ summary: vocco is an extra super quick-and-dirty documentation generator based on Vim, written in Ruby.
224
+ test_files: []
225
+