codemerger 0.2.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/.rvmrc +41 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +14 -6
- data/README.markdown +44 -44
- data/Rakefile +7 -3
- data/codemerger.gemspec +18 -16
- data/lib/codemerger.rb +2 -3
- data/lib/codemerger/merger.rb +126 -0
- data/lib/codemerger/rake_tasks.rb +4 -38
- data/lib/codemerger/version.rb +1 -1
- data/test/merger_spec.rb +53 -0
- data/test/sample.rb +3 -0
- data/test/test.html +1 -0
- data/test/test2.markdown +9 -0
- data/test/version_spec.rb +8 -0
- metadata +53 -13
data/.gitignore
CHANGED
data/.rvmrc
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# This is an RVM Project .rvmrc file, used to automatically load the ruby
|
4
|
+
# development environment upon cd'ing into the directory
|
5
|
+
|
6
|
+
# First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
|
7
|
+
environment_id="ruby-1.9.2-p180"
|
8
|
+
|
9
|
+
#
|
10
|
+
# First we attempt to load the desired environment directly from the environment
|
11
|
+
# file. This is very fast and efficient compared to running through the entire
|
12
|
+
# CLI and selector. If you want feedback on which environment was used then
|
13
|
+
# insert the word 'use' after --create as this triggers verbose mode.
|
14
|
+
#
|
15
|
+
if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
|
16
|
+
&& -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
|
17
|
+
then
|
18
|
+
\. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
|
19
|
+
|
20
|
+
if [[ -s ".rvm/hooks/after_use" ]]
|
21
|
+
then
|
22
|
+
. ".rvm/hooks/after_use"
|
23
|
+
fi
|
24
|
+
else
|
25
|
+
# If the environment file has not yet been created, use the RVM CLI to select.
|
26
|
+
if ! rvm --create use "$environment_id"
|
27
|
+
then
|
28
|
+
echo "Failed to create RVM environment ''."
|
29
|
+
fi
|
30
|
+
fi
|
31
|
+
|
32
|
+
#
|
33
|
+
# If you use an RVM gemset file to install a list of gems (*.gems), you can have
|
34
|
+
# it be automatically loaded. Uncomment the following and adjust the filename if
|
35
|
+
# necessary.
|
36
|
+
#
|
37
|
+
# filename=".gems"
|
38
|
+
# if [[ -s "$filename" ]] ; then
|
39
|
+
# rvm gemset import "$filename" | grep -v already | grep -v listed | grep -v complete | sed '/^$/d'
|
40
|
+
# fi
|
41
|
+
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,19 +1,27 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
codemerger (0.
|
5
|
-
|
4
|
+
codemerger (0.3.2)
|
5
|
+
albino (= 1.3.3)
|
6
|
+
redcarpet (= 2.0.0b3)
|
6
7
|
|
7
8
|
GEM
|
8
9
|
remote: http://rubygems.org/
|
9
10
|
specs:
|
10
|
-
|
11
|
-
|
12
|
-
|
11
|
+
albino (1.3.3)
|
12
|
+
posix-spawn (>= 0.3.6)
|
13
|
+
posix-spawn (0.3.6)
|
14
|
+
rake (0.9.2)
|
15
|
+
redcarpet (2.0.0b3)
|
16
|
+
simplecov (0.4.2)
|
17
|
+
simplecov-html (~> 0.4.4)
|
18
|
+
simplecov-html (0.4.4)
|
13
19
|
|
14
20
|
PLATFORMS
|
21
|
+
ruby
|
15
22
|
x86-mingw32
|
16
23
|
|
17
24
|
DEPENDENCIES
|
18
25
|
codemerger!
|
19
|
-
|
26
|
+
rake
|
27
|
+
simplecov
|
data/README.markdown
CHANGED
@@ -1,53 +1,53 @@
|
|
1
|
-
This gem is used to help writing technical posts for wordpress.
|
2
|
-
|
3
|
-
To use this GEM I usually create a new directory for the post or post group project, then I create a Gemfile like this:
|
4
|
-
|
1
|
+
This gem is used to help writing technical posts for wordpress.
|
2
|
+
|
3
|
+
To use this GEM I usually create a new directory for the post or post group project, then I create a Gemfile like this:
|
4
|
+
|
5
5
|
source "http://rubygems.org"
|
6
6
|
group :rake do
|
7
7
|
gem "codemerger", "0.1.0", :require => "codemerger/rake_tasks"
|
8
8
|
end
|
9
|
-
|
10
|
-
After that I create a Rakefile like this:
|
11
|
-
|
9
|
+
|
10
|
+
After that I create a Rakefile like this:
|
11
|
+
|
12
12
|
require "rubygems"
|
13
13
|
require "bundler/setup"
|
14
14
|
Bundler.require :rake
|
15
15
|
|
16
|
-
Then just start creating the post file in the root directory, the project supports .html or .markdown files for the posts.
|
17
|
-
Inside this file, when I want to include a source sample, I create another file for the sample, and then I include it into the main post file with a code like this:
|
18
|
-
|
19
|
-
{{full/path/to/the/file.rb}}
|
20
|
-
|
21
|
-
When the post is ready I run teh rake task:
|
22
|
-
|
23
|
-
rake codemerger:merge
|
24
|
-
|
25
|
-
After that, the file I was writting is processed, a new file is created into the output directory and the sample source files are included with a code like this:
|
26
|
-
|
27
|
-
<b>{{full/path/to/the/file.rb}}</b>
|
28
|
-
<pre line="1" lang="ruby">
|
29
|
-
ruby code
|
30
|
-
</pre>
|
31
|
-
|
32
|
-
This snippet is then copied and pasted to a post into my wordpress blog, and the code gets colored using the plugin wp-syntax, and the output can be turned into PDF with the plugin wp-mpdf.
|
33
|
-
|
34
|
-
Today this gem supports source files in the following languages:
|
35
|
-
|
36
|
-
* Ruby (including Rakefile and Gemfile)
|
37
|
-
* Java
|
38
|
-
* YAML
|
39
|
-
* HTML
|
40
|
-
* XML
|
41
|
-
* Scala
|
42
|
-
* CSS
|
43
|
-
* Javascript
|
44
|
-
* Bash
|
45
|
-
* Batch
|
46
|
-
|
47
|
-
All other files are configured as "text".
|
48
|
-
|
49
|
-
For the next steps I'm planning to write more automated tests, refactor the language support code out, today it is a switch statement to convert from a file extension to a name supported by wp-syntax/Geshi and add support for templates and direct conversion of the source samples to colored HTML.
|
50
|
-
|
51
|
-
All these changes are simple, but besides the automated tests, I do not need any of the other right now, if you think they will be usefull for you, send me a message, file an enhancement request or fork, implement and send me a pull request.
|
52
|
-
|
16
|
+
Then just start creating the post file in the root directory, the project supports .html or .markdown files for the posts.
|
17
|
+
Inside this file, when I want to include a source sample, I create another file for the sample, and then I include it into the main post file with a code like this:
|
18
|
+
|
19
|
+
{{full/path/to/the/file.rb}}
|
20
|
+
|
21
|
+
When the post is ready I run teh rake task:
|
22
|
+
|
23
|
+
rake codemerger:merge
|
24
|
+
|
25
|
+
After that, the file I was writting is processed, a new file is created into the output directory and the sample source files are included with a code like this:
|
26
|
+
|
27
|
+
<b>{{full/path/to/the/file.rb}}</b>
|
28
|
+
<pre line="1" lang="ruby">
|
29
|
+
ruby code
|
30
|
+
</pre>
|
31
|
+
|
32
|
+
This snippet is then copied and pasted to a post into my wordpress blog, and the code gets colored using the plugin wp-syntax, and the output can be turned into PDF with the plugin wp-mpdf.
|
33
|
+
|
34
|
+
Today this gem supports source files in the following languages:
|
35
|
+
|
36
|
+
* Ruby (including Rakefile and Gemfile)
|
37
|
+
* Java
|
38
|
+
* YAML
|
39
|
+
* HTML
|
40
|
+
* XML
|
41
|
+
* Scala
|
42
|
+
* CSS
|
43
|
+
* Javascript
|
44
|
+
* Bash
|
45
|
+
* Batch
|
46
|
+
|
47
|
+
All other files are configured as "text".
|
48
|
+
|
49
|
+
For the next steps I'm planning to write more automated tests, refactor the language support code out, today it is a switch statement to convert from a file extension to a name supported by wp-syntax/Geshi and add support for templates and direct conversion of the source samples to colored HTML.
|
50
|
+
|
51
|
+
All these changes are simple, but besides the automated tests, I do not need any of the other right now, if you think they will be usefull for you, send me a message, file an enhancement request or fork, implement and send me a pull request.
|
52
|
+
|
53
53
|
Any testing or comments will be of great value, today, I think only I'm using this GEM.
|
data/Rakefile
CHANGED
data/codemerger.gemspec
CHANGED
@@ -11,25 +11,27 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.homepage = "https://github.com/urubatan/codemerger"
|
12
12
|
s.summary = %q{Used to create blog posts and tecnical articles that need code samples, the code samples will be taken from the actual source code file instead of a copy paste approach}
|
13
13
|
s.description = %q{This gem is used to help writing technical posts for wordpress.
|
14
|
-
The output is copied and pasted to a post into my wordpress blog, and the code gets colored using the plugin wp-syntax, and the output can be turned into PDF with the plugin wp-mpdf.
|
15
|
-
|
16
|
-
Today this gem supports source files in the following languages:
|
17
|
-
|
18
|
-
* Ruby (including Rakefile and Gemfile)
|
19
|
-
* Java
|
20
|
-
* YAML
|
21
|
-
* HTML
|
22
|
-
* XML
|
23
|
-
* Scala
|
24
|
-
* CSS
|
25
|
-
* Javascript
|
26
|
-
* Bash
|
27
|
-
* Batch
|
28
|
-
|
14
|
+
The output is copied and pasted to a post into my wordpress blog, and the code gets colored using the plugin wp-syntax, and the output can be turned into PDF with the plugin wp-mpdf.
|
15
|
+
|
16
|
+
Today this gem supports source files in the following languages:
|
17
|
+
|
18
|
+
* Ruby (including Rakefile and Gemfile)
|
19
|
+
* Java
|
20
|
+
* YAML
|
21
|
+
* HTML
|
22
|
+
* XML
|
23
|
+
* Scala
|
24
|
+
* CSS
|
25
|
+
* Javascript
|
26
|
+
* Bash
|
27
|
+
* Batch
|
28
|
+
|
29
29
|
All other files are configured as "text".}
|
30
30
|
|
31
31
|
s.rubyforge_project = "codemerger"
|
32
|
-
s.add_dependency '
|
32
|
+
s.add_dependency 'redcarpet', '2.0.0b3'
|
33
|
+
s.add_dependency "albino", "1.3.3"
|
34
|
+
s.add_development_dependency 'simplecov'
|
33
35
|
|
34
36
|
s.files = `git ls-files`.split("\n")
|
35
37
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
data/lib/codemerger.rb
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
end
|
1
|
+
require 'codemerger/version'
|
2
|
+
require 'codemerger/merger'
|
@@ -0,0 +1,126 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'redcarpet'
|
3
|
+
require 'albino'
|
4
|
+
|
5
|
+
module Codemerger
|
6
|
+
class HTMLwithAlbino < Redcarpet::Render::HTML
|
7
|
+
include Redcarpet::Render::SmartyPants
|
8
|
+
def code(code, language)
|
9
|
+
if language
|
10
|
+
Albino.new(code, language).colorize({O:"linenos=table,encoding=utf-8"})
|
11
|
+
else
|
12
|
+
%Q{<pre><code>#{code}</code></pre>}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
def block_html(raw_html)
|
16
|
+
@markdown ||= Redcarpet::Markdown.new(HTMLwithAlbino.new,
|
17
|
+
:autolink => true, :space_after_headers => true, :superscript => true,
|
18
|
+
:fenced_code_blocks => true, :tables => true, :no_intra_emphasis => true)
|
19
|
+
m,tag,attrs,content = *(raw_html.match(/<([a-z]+)(.*?)>(.*)<\/\1>/m))
|
20
|
+
result = @markdown.render(content)
|
21
|
+
%Q{<#{tag}#{attrs}>
|
22
|
+
#{result}
|
23
|
+
</#{tag}>
|
24
|
+
}
|
25
|
+
end
|
26
|
+
def block_code(code, language)
|
27
|
+
if language
|
28
|
+
Albino.new(code, language).colorize({O:"linenos=table,encoding=utf-8"})
|
29
|
+
else
|
30
|
+
%Q{<pre><code>#{code}</code></pre>}
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
class Merger
|
35
|
+
attr_reader :markdown
|
36
|
+
def initialize(dir_name)
|
37
|
+
@dir_name = dir_name
|
38
|
+
end
|
39
|
+
def clean_dirs
|
40
|
+
FileUtils.rm_rf 'output'
|
41
|
+
FileUtils.mkdir_p 'output'
|
42
|
+
FileUtils.mkdir_p "output/#{@dir_name}" if @dir_name != '.'
|
43
|
+
end
|
44
|
+
def get_language_str(ext)
|
45
|
+
case ext
|
46
|
+
when ".yml"; "yaml"
|
47
|
+
when ".xml"; "xml"
|
48
|
+
when ".html"; "xml"
|
49
|
+
when ".rb"; "ruby"
|
50
|
+
when ".java"; "java"
|
51
|
+
when ".scala"; "scala"
|
52
|
+
when ".erb"; "erb"
|
53
|
+
when ".xsl"; "xslt"
|
54
|
+
when ".css"; "css"
|
55
|
+
when ".scss"; "scss"
|
56
|
+
when ".coffee"; "coffeescript"
|
57
|
+
when ".js"; "javascript"
|
58
|
+
when ".sh"; "bash"
|
59
|
+
when ".bat"; "batch"
|
60
|
+
when ".xhtml"; "xml"
|
61
|
+
when nil; "ruby"
|
62
|
+
else; "text"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
def sanitize(fname)
|
66
|
+
fname.gsub(/.*?:/, "")
|
67
|
+
end
|
68
|
+
def read_contents(fname)
|
69
|
+
if fname =~ /.+:/
|
70
|
+
`git cat-file blob #{fname}`
|
71
|
+
else
|
72
|
+
IO.readlines(fname).join('')
|
73
|
+
end
|
74
|
+
end
|
75
|
+
def build_html_merged_file_content(f_name)
|
76
|
+
ext = f_name[/(\.[a-zA-Z]+)/]
|
77
|
+
lang_str = get_language_str(ext)
|
78
|
+
%Q{
|
79
|
+
<b>#{sanitize(f_name)}</b>
|
80
|
+
<pre line="1" lang="#{lang_str}">
|
81
|
+
#{read_contents(f_name)}
|
82
|
+
</pre>
|
83
|
+
}
|
84
|
+
end
|
85
|
+
def build_md_merged_file_content(f_name)
|
86
|
+
ext = f_name[/(\.[a-zA-Z]+)/]
|
87
|
+
lang_str = get_language_str(ext)
|
88
|
+
%Q{_#{sanitize(f_name)}_
|
89
|
+
|
90
|
+
```#{lang_str}
|
91
|
+
#{read_contents(f_name)}
|
92
|
+
```
|
93
|
+
}
|
94
|
+
end
|
95
|
+
def process_files
|
96
|
+
in_files = Dir.glob("#{@dir_name}/*.{markdown,md,html}")
|
97
|
+
in_files.sort.each do |file|
|
98
|
+
in_lines = IO.readlines(file).join('')
|
99
|
+
is_markdown = (file =~ /markdown$/) || (file =~ /md$/)
|
100
|
+
out_fname = file[/^.*\./]
|
101
|
+
out_f = File.new("output/#{out_fname}html", 'w')
|
102
|
+
if is_markdown
|
103
|
+
in_lines.gsub!(/(\{\{[\/a-zA-Z0-9:_]+(?>\.[a-z:_A-Z0-9]{2,}){0,3}\}\})/) do |f_name_match|
|
104
|
+
puts "Merging #{f_name_match}"
|
105
|
+
f_name = f_name_match[2..-3]
|
106
|
+
build_md_merged_file_content(f_name)
|
107
|
+
end
|
108
|
+
out_f << processMarkdown(in_lines)
|
109
|
+
else
|
110
|
+
out_f << in_lines.gsub(/(\{\{[\/a-zA-Z0-9_]+(?>\.[a-zA-Z0-9]{2,}){0,3}\}\})/) do |f_name_match|
|
111
|
+
puts "Merging #{f_name_match}"
|
112
|
+
f_name = f_name_match[2..-3]
|
113
|
+
build_html_merged_file_content(f_name)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
def processMarkdown(text)
|
119
|
+
@markdown ||= Redcarpet::Markdown.new(HTMLwithAlbino.new,
|
120
|
+
:autolink => true, :space_after_headers => true, :superscript => true,
|
121
|
+
:fenced_code_blocks => true, :tables => true, :no_intra_emphasis => true)
|
122
|
+
result = @markdown.render(text)
|
123
|
+
result
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
@@ -1,43 +1,9 @@
|
|
1
|
+
require 'codemerger'
|
1
2
|
namespace "codemerger" do
|
2
3
|
desc "Merge all the markdown files and the source files to create the output/post.html file"
|
3
4
|
task :merge do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
in_files = Dir.glob("*.{markdown,html}")
|
8
|
-
in_files.sort.each do |file|
|
9
|
-
in_lines = IO.readlines(file).join('')
|
10
|
-
in_lines = Maruku.new(in_lines).to_html if file =~ /markdown$/
|
11
|
-
out_fname = file[/^.*\./]
|
12
|
-
out_f = File.new("output/#{out_fname}html", 'w')
|
13
|
-
out_f << in_lines.gsub(/(\{\{[\/a-zA-Z0-9_]+(?>\.[a-zA-Z0-9]{2,}){0,3}\}\})/) do |f_name_match|
|
14
|
-
f_name = f_name_match[2..-3]
|
15
|
-
ext = f_name[/(\.[a-zA-Z]+)/]
|
16
|
-
lang_str = case ext
|
17
|
-
when ".yml"; "lang=\"yaml\""
|
18
|
-
when ".xml"; "lang=\"xml\""
|
19
|
-
when ".html"; "lang=\"xml\""
|
20
|
-
when ".rb"; "lang=\"ruby\""
|
21
|
-
when ".java"; "lang=\"java\""
|
22
|
-
when ".scala"; "lang=\"scala\""
|
23
|
-
when ".erb"; "lang=\"ruby\""
|
24
|
-
when ".xsl"; "lang=\"xml\""
|
25
|
-
when ".css"; "lang=\"css\""
|
26
|
-
when ".js"; "lang=\"javascript\""
|
27
|
-
when ".sh"; "lang=\"bash\""
|
28
|
-
when ".bat"; "lang=\"batch\""
|
29
|
-
when ".xhtml"; "lang=\"xml\""
|
30
|
-
when nil; "lang=\"ruby\""
|
31
|
-
else; "lang=\"text\""
|
32
|
-
end
|
33
|
-
|
34
|
-
<<_EOF_
|
35
|
-
<b>#{f_name}</b>
|
36
|
-
<pre line="1" #{lang_str}>
|
37
|
-
#{IO.readlines(f_name).join('')}
|
38
|
-
</pre>
|
39
|
-
_EOF_
|
40
|
-
end
|
41
|
-
end
|
5
|
+
@merger = Codemerger::Merger.new '.'
|
6
|
+
@merger.clean_dirs
|
7
|
+
@merger.process_files
|
42
8
|
end
|
43
9
|
end
|
data/lib/codemerger/version.rb
CHANGED
data/test/merger_spec.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'codemerger'
|
3
|
+
|
4
|
+
describe Codemerger::Merger do
|
5
|
+
def setup
|
6
|
+
@merger = Codemerger::Merger.new 'test'
|
7
|
+
end
|
8
|
+
it "should return the correct language string" do
|
9
|
+
@merger.get_language_str(".yml").must_equal "yaml"
|
10
|
+
@merger.get_language_str(".xml").must_equal "xml"
|
11
|
+
@merger.get_language_str(".html").must_equal "xml"
|
12
|
+
@merger.get_language_str(".rb").must_equal "ruby"
|
13
|
+
@merger.get_language_str(".java").must_equal "java"
|
14
|
+
@merger.get_language_str(".scala").must_equal "scala"
|
15
|
+
@merger.get_language_str(".erb").must_equal "erb"
|
16
|
+
@merger.get_language_str(".xsl").must_equal "xslt"
|
17
|
+
@merger.get_language_str(".css").must_equal "css"
|
18
|
+
@merger.get_language_str(".js").must_equal "javascript"
|
19
|
+
@merger.get_language_str(".sh").must_equal "bash"
|
20
|
+
@merger.get_language_str(".bat").must_equal "batch"
|
21
|
+
@merger.get_language_str(".xhtml").must_equal "xml"
|
22
|
+
@merger.get_language_str(nil).must_equal "ruby"
|
23
|
+
@merger.get_language_str("niaaa").must_equal "text"
|
24
|
+
@merger.get_language_str(".coffee").must_equal "coffeescript"
|
25
|
+
@merger.get_language_str(".scss").must_equal "scss"
|
26
|
+
end
|
27
|
+
it "should delete and re-create the output directory" do
|
28
|
+
FileUtils.mkdir_p 'output'
|
29
|
+
out_f = File.new("output/temp.txt", 'w')
|
30
|
+
out_f << "content"
|
31
|
+
out_f.close
|
32
|
+
@merger.clean_dirs
|
33
|
+
File.exists?("output/temp.txt").must_equal false
|
34
|
+
end
|
35
|
+
it "should return the correctly formated output for an embedded file" do
|
36
|
+
expected = %Q{
|
37
|
+
<b>test/sample.rb</b>
|
38
|
+
<pre line="1" lang="ruby">
|
39
|
+
def sample
|
40
|
+
println "sample"
|
41
|
+
end
|
42
|
+
</pre>
|
43
|
+
}
|
44
|
+
actual = @merger.build_html_merged_file_content('test/sample.rb')
|
45
|
+
expected.must_equal actual
|
46
|
+
end
|
47
|
+
it "should process HTML and Markdown files" do
|
48
|
+
@merger.process_files
|
49
|
+
File.exists?("output/test/test.html").must_equal true
|
50
|
+
File.exists?("output/test/test2.html").must_equal true
|
51
|
+
puts File.new("output/test/test2.html").read
|
52
|
+
end
|
53
|
+
end
|
data/test/sample.rb
ADDED
data/test/test.html
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{{test/sample.rb}}
|
data/test/test2.markdown
ADDED
metadata
CHANGED
@@ -1,28 +1,50 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codemerger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.2
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Rodrigo Urubatan
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
13
|
-
default_executable:
|
12
|
+
date: 2011-10-10 00:00:00.000000000 -03:00
|
13
|
+
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
17
|
-
requirement: &
|
16
|
+
name: redcarpet
|
17
|
+
requirement: &2157414700 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - =
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.0.0b3
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *2157414700
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: albino
|
28
|
+
requirement: &2157413920 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - =
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.3.3
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *2157413920
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: simplecov
|
39
|
+
requirement: &2157413100 !ruby/object:Gem::Requirement
|
18
40
|
none: false
|
19
41
|
requirements:
|
20
42
|
- - ! '>='
|
21
43
|
- !ruby/object:Gem::Version
|
22
44
|
version: '0'
|
23
|
-
type: :
|
45
|
+
type: :development
|
24
46
|
prerelease: false
|
25
|
-
version_requirements: *
|
47
|
+
version_requirements: *2157413100
|
26
48
|
description: ! "This gem is used to help writing technical posts for wordpress.\n
|
27
49
|
\ The output is copied and pasted to a post into my wordpress blog, and the code
|
28
50
|
gets colored using the plugin wp-syntax, and the output can be turned into PDF with
|
@@ -38,18 +60,25 @@ files:
|
|
38
60
|
- .Gemfile.swp
|
39
61
|
- .codemerger.gemspec.swp
|
40
62
|
- .gitignore
|
63
|
+
- .rvmrc
|
41
64
|
- Gemfile
|
42
65
|
- Gemfile.lock
|
43
66
|
- README.markdown
|
44
67
|
- Rakefile
|
45
68
|
- codemerger.gemspec
|
46
69
|
- lib/codemerger.rb
|
70
|
+
- lib/codemerger/merger.rb
|
47
71
|
- lib/codemerger/rake_tasks.rb
|
48
72
|
- lib/codemerger/version.rb
|
73
|
+
- test/merger_spec.rb
|
74
|
+
- test/sample.rb
|
75
|
+
- test/test.html
|
76
|
+
- test/test2.markdown
|
77
|
+
- test/version_spec.rb
|
49
78
|
has_rdoc: true
|
50
79
|
homepage: https://github.com/urubatan/codemerger
|
51
80
|
licenses: []
|
52
|
-
post_install_message:
|
81
|
+
post_install_message:
|
53
82
|
rdoc_options: []
|
54
83
|
require_paths:
|
55
84
|
- lib
|
@@ -59,18 +88,29 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
59
88
|
- - ! '>='
|
60
89
|
- !ruby/object:Gem::Version
|
61
90
|
version: '0'
|
91
|
+
segments:
|
92
|
+
- 0
|
93
|
+
hash: -2316311512102027505
|
62
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
63
95
|
none: false
|
64
96
|
requirements:
|
65
97
|
- - ! '>='
|
66
98
|
- !ruby/object:Gem::Version
|
67
99
|
version: '0'
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
hash: -2316311512102027505
|
68
103
|
requirements: []
|
69
104
|
rubyforge_project: codemerger
|
70
|
-
rubygems_version: 1.
|
71
|
-
signing_key:
|
105
|
+
rubygems_version: 1.6.2
|
106
|
+
signing_key:
|
72
107
|
specification_version: 3
|
73
108
|
summary: Used to create blog posts and tecnical articles that need code samples, the
|
74
109
|
code samples will be taken from the actual source code file instead of a copy paste
|
75
110
|
approach
|
76
|
-
test_files:
|
111
|
+
test_files:
|
112
|
+
- test/merger_spec.rb
|
113
|
+
- test/sample.rb
|
114
|
+
- test/test.html
|
115
|
+
- test/test2.markdown
|
116
|
+
- test/version_spec.rb
|