lm2doc 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,23 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ tmp
8
+ examples
9
+ .sass-cache
10
+ /images/rails_welcome.png
11
+ /images/sample/fjdskafdkasfdsaf_html_1ceb4e50.gif
12
+ /images/sample/fjdskafdkasfdsaf_html_1dd5d304.png
13
+ /images/sample/fjdskafdkasfdsaf_html_43536aa8.png
14
+ /images/sample/fjdskafdkasfdsaf_html_465cc54d.png
15
+ /images/sample/fjdskafdkasfdsaf_html_699d6865.png
16
+ /images/sample/fjdskafdkasfdsaf_html_734e99e5.jpg
17
+ /images/sample/fjdskafdkasfdsaf_html_m6e037855.png
18
+ /views/example.html
19
+ /views/mam_apis.md
20
+ /views/sample.html
21
+ /mam_apis/mam_apis.html
22
+ /mam_apis/style.css
23
+ /stylesheets/bootstrap.min.css
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source "http://rubygems.org"
2
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Sunteya
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # Lm2doc
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'lm2doc'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install lm2doc
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env rake
2
+
3
+ require "bundler/gem_tasks"
4
+
5
+ require 'rake/version_task'
6
+ Rake::VersionTask.new
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
data/bin/lm2doc ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../lib/lm2doc/cli'
4
+ Lm2doc::Cli.new(ARGV).execute
data/lib/lm2doc/cli.rb ADDED
@@ -0,0 +1,58 @@
1
+ require 'optparse'
2
+ require_relative "../lm2doc"
3
+
4
+ module Lm2doc
5
+ class Cli
6
+ attr_accessor :argv, :inputs, :output
7
+
8
+ def initialize(argv)
9
+ self.argv = argv
10
+ end
11
+
12
+ def theme
13
+ Lm2doc.theme("bootstrap")
14
+ end
15
+
16
+ def parse_argv
17
+ self.inputs = []
18
+
19
+ opts = OptionParser.new(self.argv.dup) do |opts|
20
+ opts.banner = "lm2doc is a convertor for lightweight markup language to pretty html document."
21
+ opts.separator ""
22
+ opts.separator "Usage:"
23
+ opts.separator " lm2doc [OPTION]...[-i] FILE"
24
+ opts.separator ""
25
+
26
+ opts.separator "Options:"
27
+ opts.on("-v", "--version", "show the version of lm2doc") { puts Lm2doc::VERSION; exit }
28
+ opts.on("-i", "--in FILE", "input path") {|v| self.inputs = [ v ] }
29
+ # opts.on("-o", "--out DIR|FILE", "output path") {|v| self.output = v }
30
+ end
31
+
32
+ others = opts.parse!
33
+ self.inputs = others
34
+
35
+ if self.inputs.length != 1
36
+ puts opts.help()
37
+ exit
38
+ end
39
+ end
40
+
41
+ def execute
42
+ self.parse_argv
43
+
44
+ self.inputs.each do |input|
45
+ perfrom_source(input)
46
+ end
47
+ end
48
+
49
+ def perfrom_source(source_file)
50
+ source = Resource::Source.build(source_file)
51
+
52
+ output_dir = File.dirname(source_file)
53
+ FileUtils.mkdir_p(output_dir)
54
+ source.write(output_dir, :theme => theme)
55
+ end
56
+
57
+ end
58
+ end
@@ -0,0 +1,19 @@
1
+ module Lm2doc
2
+ class Converter
3
+ include ActiveSupport::Callbacks
4
+
5
+ attr_accessor :content
6
+ define_callbacks :convert
7
+
8
+ def as_html
9
+ run_callbacks :convert do
10
+ convert
11
+ end
12
+ end
13
+
14
+ def self.perfer_exts
15
+ []
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,44 @@
1
+ require_relative 'converter'
2
+
3
+ require "kramdown"
4
+ require "nokogiri"
5
+
6
+ module Lm2doc
7
+
8
+ class Markdown < Converter
9
+
10
+ def self.perfer_exts
11
+ %w[ .md ]
12
+ end
13
+
14
+ def convert
15
+ html = Kramdown::Document.new(self.content,
16
+ coderay_line_numbers: :table,
17
+ coderay_tab_width: 4,
18
+ toc_levels: [ 2, 3 ]
19
+ ).to_html
20
+
21
+ doc = Nokogiri::HTML::DocumentFragment.parse(html)
22
+
23
+ figure_role(doc)
24
+ doc.to_html
25
+ end
26
+
27
+ def figure_role(doc)
28
+ doc.css("p[role=figure]").each do |p|
29
+ p.remove_attribute "role"
30
+ p.name = "figure"
31
+ p["class"] = "thumbnail"
32
+ p.css("em").each {|s| s.name = "figcaption" }
33
+ p.css("strong").each {|s| s.name = "figcaption" }
34
+ end
35
+ end
36
+
37
+ def down_heading(doc)
38
+ doc.css("h3").each {|n| n.name = "h4" }
39
+ doc.css("h2").each {|n| n.name = "h3" }
40
+ doc.css("h1").each {|n| n.name = "h2" }
41
+ end
42
+
43
+ end
44
+ end
@@ -0,0 +1,35 @@
1
+ require_relative '../resource'
2
+
3
+ require "hashie"
4
+ require "tempfile"
5
+ require "compass"
6
+
7
+ module Lm2doc
8
+ class Resource
9
+ class Compass < Resource
10
+
11
+ attr_accessor :scss_pathname
12
+
13
+ def initialize(scss_pathname)
14
+ self.scss_pathname = scss_pathname
15
+ end
16
+
17
+ def write(dir, options = {})
18
+ Lm2doc.mktmpdir do |tmppath|
19
+ tmpdir = Pathname.new(tmppath)
20
+ ::Compass.configuration.sass_path = self.scss_pathname.to_s
21
+ ::Compass.configuration.css_path = tmpdir.to_s
22
+
23
+ update_project = ::Compass::Commands::UpdateProject.new(Lm2doc.root.join("tmp").to_s, { quiet: true })
24
+ update_project.perform
25
+
26
+ tmpdir.children.each do |child|
27
+ relative_pathname = child.relative_path_from(tmpdir)
28
+ FileUtils.cp(child, File.join(dir, relative_pathname))
29
+ end
30
+ end
31
+ end
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,38 @@
1
+ require_relative '../resource'
2
+
3
+ module Lm2doc
4
+ class Resource
5
+ class Source < Resource
6
+
7
+ attr_accessor :content, :basename
8
+
9
+ def initialize(file, converter)
10
+ self.file = file
11
+ extname = File.extname(file)
12
+ self.basename = File.basename(file, extname)
13
+
14
+ raw = File.read(self.file)
15
+ converter.content = raw
16
+ self.content = converter.as_html
17
+ end
18
+
19
+ def write(dir, options = {})
20
+ theme = options[:theme]
21
+ result = theme.render(:article => self.content)
22
+
23
+ target = File.join(dir, "#{basename}.html")
24
+ File.open(target, "w") { |f| f << result }
25
+
26
+ theme.write_assets(dir)
27
+ end
28
+
29
+ def self.build(file)
30
+ extname = File.extname(file)
31
+ converter_class = Converter.subclasses.find {|clazz| clazz.perfer_exts.include?(extname) }
32
+ converter = converter_class.new
33
+
34
+ self.new(file, converter)
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,12 @@
1
+ require "fileutils"
2
+
3
+ module Lm2doc
4
+ class Resource
5
+
6
+ attr_accessor :file
7
+
8
+ def write(file_dir_io, options = {})
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,55 @@
1
+ # require_relative 'resource/static'
2
+ require_relative 'resource/compass'
3
+ require 'erb'
4
+
5
+ module Lm2doc
6
+
7
+ def self.theme(name)
8
+ require Lm2doc.root.join("themes", name, "init.rb")
9
+ Theme.instance(name)
10
+ end
11
+
12
+ class Theme
13
+ class << self
14
+ def register(name, theme)
15
+ @pool ||= {}
16
+ @pool[name] = theme
17
+ end
18
+
19
+ def instance(name)
20
+ @pool ||= {}
21
+ @pool[name]
22
+ end
23
+ end
24
+ end
25
+
26
+ class Theme
27
+ attr_accessor :dir
28
+
29
+ def theme_file_pathname(file)
30
+ self.dir.join(file)
31
+ end
32
+
33
+ def assets
34
+ [
35
+ Resource::Compass.new(self.dir)
36
+ ]
37
+ end
38
+
39
+ def render(hash)
40
+ erb_file = theme_file_pathname("template.html.erb")
41
+ template = ERB.new(erb_file.read)
42
+
43
+ @body = hash[:article]
44
+ @title = hash[:title]
45
+ template.result(binding)
46
+ end
47
+
48
+ def write_assets(dir)
49
+ self.assets.each do |asset|
50
+ asset.write(dir)
51
+ end
52
+ end
53
+
54
+ end
55
+ end
data/lib/lm2doc.rb ADDED
@@ -0,0 +1,27 @@
1
+ require "pathname"
2
+ require "fileutils"
3
+ require "active_support/all"
4
+
5
+ module Lm2doc
6
+ VERSION = "0.0.1"
7
+
8
+ def self.root
9
+ Pathname.new(File.expand_path("../../", __FILE__))
10
+ end
11
+
12
+
13
+ def self.tmpdir
14
+ Lm2doc.root.join("tmp")
15
+ end
16
+
17
+ def self.mktmpdir
18
+ FileUtils.mkdir_p(tmpdir)
19
+ Dir.mktmpdir(nil, tmpdir) do |tmpdir|
20
+ yield(tmpdir)
21
+ end
22
+ end
23
+ end
24
+
25
+ require_relative 'lm2doc/markdown'
26
+ require_relative 'lm2doc/resource/source'
27
+ require_relative 'lm2doc/theme'
data/lm2doc.gemspec ADDED
@@ -0,0 +1,35 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.authors = ["sunteya"]
5
+ gem.email = ["sunteya@gmail.com"]
6
+ gem.description = %q{generate pretty html document by lightweight markup language}
7
+ gem.summary = gem.description
8
+ gem.homepage = "https://github.com/sunteya/lm2doc"
9
+
10
+ gem.files = `git ls-files`.split($\)
11
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
12
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
13
+ gem.name = "lm2doc"
14
+ gem.require_paths = ["lib"]
15
+ gem.version = File.read(File.expand_path("../VERSION", __FILE__)).chomp
16
+
17
+
18
+ gem.add_dependency "activesupport"
19
+ gem.add_dependency "hashie"
20
+ gem.add_dependency "nokogiri"
21
+
22
+ gem.add_dependency "kramdown"
23
+ gem.add_dependency "coderay"
24
+
25
+ gem.add_dependency "compass"
26
+ gem.add_dependency "bootstrap-sass", "~> 2.1.0.0"
27
+
28
+
29
+ # Test & Development
30
+ gem.add_development_dependency "rake"
31
+ gem.add_development_dependency "pry"
32
+ gem.add_development_dependency "version"
33
+
34
+ gem.add_development_dependency "rspec"
35
+ end
@@ -0,0 +1,17 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+
8
+ RSpec.configure do |config|
9
+ config.treat_symbols_as_metadata_keys_with_true_values = true
10
+ config.run_all_when_everything_filtered = true
11
+
12
+ # Run specs in random order to surface order dependencies. If you find an
13
+ # order dependency and want to debug it, you can fix the order by providing
14
+ # the seed, which is printed after each run.
15
+ # --seed 1234
16
+ config.order = 'random'
17
+ end
@@ -0,0 +1,12 @@
1
+ require "compass"
2
+ require "bootstrap-sass"
3
+ require 'compass/exec'
4
+
5
+ class BootstrapTheme < Lm2doc::Theme
6
+ def initialize
7
+ self.dir = Pathname.new(__FILE__).dirname
8
+ end
9
+ end
10
+
11
+ Lm2doc::Theme.register("bootstrap", BootstrapTheme.new)
12
+
@@ -0,0 +1,136 @@
1
+ @import "compass";
2
+
3
+ $baseFontSize: 16px;
4
+ $baseLineHeight: $baseFontSize * 1.5;
5
+ @import "bootstrap";
6
+
7
+ body {
8
+ margin: 10px 30px;
9
+ width: 800px;
10
+ }
11
+
12
+
13
+ h1 { font-size: $baseFontSize * 2.5; }
14
+ h2 { font-size: $baseFontSize * 2.0; }
15
+ h3 { font-size: $baseFontSize * 1.5; }
16
+ h4 { font-size: $baseFontSize * 1.1; }
17
+ h5 { font-size: $baseFontSize * 0.9; }
18
+ h6 { font-size: $baseFontSize * 0.8; }
19
+
20
+ // h4, h5, h6 {
21
+ // line-height: $baseLineHeight;
22
+ // }
23
+
24
+ article {
25
+ h1, h2, h3, h4, h5, h6 {
26
+ margin: 1em 0 0.5em 0;
27
+ }
28
+
29
+ h1 {
30
+ margin-top: 0;
31
+ }
32
+
33
+ p {
34
+ margin-bottom: 0.75em;
35
+
36
+ img {
37
+ width: 100%;
38
+ }
39
+
40
+ code {
41
+ white-space: nowrap;
42
+ }
43
+ }
44
+
45
+ dt {
46
+ margin-top: 1em;
47
+ margin-bottom: 0.3em;
48
+ }
49
+
50
+ ul, ol {
51
+ li {
52
+ margin: 0.3em 0;
53
+ }
54
+ }
55
+
56
+ .thumbnail {
57
+
58
+ figcaption {
59
+ margin-top: 0.2em;
60
+ text-align: center;
61
+ font-style: italic;
62
+ }
63
+ }
64
+
65
+ // figure {
66
+ // width: 100%;
67
+ // margin: 0;
68
+ // margin-bottom: 0.75em;
69
+ // padding: 0;
70
+
71
+ // img {
72
+ // width: 100%;
73
+ // @include box-sizing(border-box);
74
+ // border: 1px solid #999;
75
+ // padding: 0.5em;
76
+ // }
77
+
78
+ //
79
+ // }
80
+
81
+ table {
82
+ @extend .table;
83
+ @extend .table-bordered;
84
+
85
+ th {
86
+ white-space: nowrap;
87
+ }
88
+ }
89
+ }
90
+
91
+ .CodeRay {
92
+ width: auto;
93
+
94
+ td {
95
+ padding: 0;
96
+
97
+ pre {
98
+ font-size: $baseFontSize * 0.80;
99
+ line-height: 1.4;
100
+ margin: 0;
101
+ padding: 8px;
102
+ white-space: pre;
103
+ border: none;
104
+ }
105
+ }
106
+
107
+ .code {
108
+ width: 100%;
109
+ }
110
+
111
+ .code pre {
112
+ border-top-left-radius: 0;
113
+ border-bottom-left-radius: 0;
114
+
115
+ padding-left: 10px;
116
+ }
117
+
118
+ .line-numbers pre {
119
+ background-color: #FBFBFC;
120
+
121
+ border-top-right-radius: 0;
122
+ border-bottom-right-radius: 0;
123
+ text-align: right;
124
+
125
+ padding-left: 15px;
126
+ padding-right: 5px;
127
+
128
+ a {
129
+ color: #BEBEC5;
130
+
131
+ &:after {
132
+ content: ".";
133
+ }
134
+ }
135
+ }
136
+ }
@@ -0,0 +1,6 @@
1
+ <!DOCTYPE html>
2
+ <meta charset="utf-8" />
3
+ <link rel="stylesheet" type="text/css" href="style.css" />
4
+ <article>
5
+ <%= @body %>
6
+ </article>
metadata ADDED
@@ -0,0 +1,250 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lm2doc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - sunteya
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-07 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !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: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: hashie
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: nokogiri
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: kramdown
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: coderay
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: compass
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: bootstrap-sass
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 2.1.0.0
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 2.1.0.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: rake
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: pry
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: version
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: rspec
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ description: generate pretty html document by lightweight markup language
191
+ email:
192
+ - sunteya@gmail.com
193
+ executables:
194
+ - lm2doc
195
+ extensions: []
196
+ extra_rdoc_files: []
197
+ files:
198
+ - .gitignore
199
+ - .rspec
200
+ - Gemfile
201
+ - LICENSE
202
+ - README.md
203
+ - Rakefile
204
+ - VERSION
205
+ - bin/lm2doc
206
+ - lib/lm2doc.rb
207
+ - lib/lm2doc/cli.rb
208
+ - lib/lm2doc/converter.rb
209
+ - lib/lm2doc/markdown.rb
210
+ - lib/lm2doc/resource.rb
211
+ - lib/lm2doc/resource/compass.rb
212
+ - lib/lm2doc/resource/source.rb
213
+ - lib/lm2doc/theme.rb
214
+ - lm2doc.gemspec
215
+ - spec/spec_helper.rb
216
+ - themes/bootstrap/init.rb
217
+ - themes/bootstrap/style.scss
218
+ - themes/bootstrap/template.html.erb
219
+ homepage: https://github.com/sunteya/lm2doc
220
+ licenses: []
221
+ post_install_message:
222
+ rdoc_options: []
223
+ require_paths:
224
+ - lib
225
+ required_ruby_version: !ruby/object:Gem::Requirement
226
+ none: false
227
+ requirements:
228
+ - - ! '>='
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ segments:
232
+ - 0
233
+ hash: -3067056615157754198
234
+ required_rubygems_version: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - ! '>='
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ segments:
241
+ - 0
242
+ hash: -3067056615157754198
243
+ requirements: []
244
+ rubyforge_project:
245
+ rubygems_version: 1.8.24
246
+ signing_key:
247
+ specification_version: 3
248
+ summary: generate pretty html document by lightweight markup language
249
+ test_files:
250
+ - spec/spec_helper.rb