codemerger 0.2.1 → 0.3.2
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.
- 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
|