caramelize 0.1.1 → 0.1.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/caramelize.gemspec +3 -2
- data/lib/caramelize/content_transferer.rb +18 -6
- data/lib/caramelize/gollum_output.rb +3 -5
- data/lib/caramelize/version.rb +1 -1
- metadata +21 -5
data/caramelize.gemspec
CHANGED
@@ -10,13 +10,14 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.authors = ["Daniel Senff"]
|
11
11
|
s.email = ["mail@danielsenff.de"]
|
12
12
|
s.homepage = "http://github.com/Dahie/caramelize"
|
13
|
-
s.summary = %q{
|
14
|
-
s.description = %q{By defining the
|
13
|
+
s.summary = %q{Flexible and modular wiki conversion tool}
|
14
|
+
s.description = %q{By defining the connectors from the input wiki you can migrate any wiki to git-based Gollum wiki repositories.}
|
15
15
|
|
16
16
|
s.bindir = 'bin'
|
17
17
|
|
18
18
|
s.add_dependency('mysql2')
|
19
19
|
s.add_dependency('cmdparse')
|
20
|
+
s.add_dependency('ruby-progressbar')
|
20
21
|
s.add_dependency('gollum', '>= 1.3.0') # grit dependency implicit through gollum
|
21
22
|
|
22
23
|
s.rubyforge_project = "caramelize"
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'gollum'
|
4
4
|
require 'grit'
|
5
|
+
require 'ruby-progressbar'
|
5
6
|
|
6
7
|
module Caramelize
|
7
8
|
autoload :Wiki, 'caramelize/wiki/wiki'
|
@@ -19,30 +20,41 @@ module Caramelize
|
|
19
20
|
|
20
21
|
options[:markup] = :markdown if !options[:markup]
|
21
22
|
options[:default_author] = "Caramelize" if !options[:default_author]
|
22
|
-
|
23
|
+
|
23
24
|
# read page revisions from wiki
|
24
25
|
# store page revisions
|
25
|
-
|
26
26
|
original_wiki.read_authors
|
27
27
|
@revisions = original_wiki.read_pages
|
28
|
-
|
29
28
|
# initiate new wiki
|
30
29
|
output_wiki = GollumOutput.new('wiki.git') # TODO make wiki_path an option
|
31
30
|
|
31
|
+
# setup progressbar
|
32
|
+
progress_revisions = ProgressBar.create(:title => "Revisions", :total => @revisions.count, :format => '%a %B %p%% %t')
|
33
|
+
|
32
34
|
# TODO ask if we should replace existing paths
|
33
35
|
|
34
36
|
# commit page revisions to new wiki
|
35
|
-
output_wiki.commit_history
|
36
|
-
|
37
|
+
output_wiki.commit_history(@revisions, options) do |page, index|
|
38
|
+
if options[:verbosity] == :verbose
|
39
|
+
puts "(#{index+1}/#{@revisions.count}) #{page.time} #{page.title}"
|
40
|
+
else
|
41
|
+
progress_revisions.increment
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
37
45
|
# if wiki needs to convert syntax, do so
|
38
46
|
puts "From markup: " + original_wiki.markup.to_s if options[:verbosity] == :verbose
|
39
47
|
puts "To markup: " + options[:markup].to_s if options[:verbosity] == :verbose
|
40
48
|
if original_wiki.convert_markup? options[:markup] # is wiki in target markup
|
41
49
|
|
50
|
+
#setup progress for markup conversion
|
51
|
+
progress_markup = ProgressBar.create(:title => "Markup", :total => original_wiki.latest_revisions.count, :format => '%a %B %p%% %t')
|
52
|
+
|
42
53
|
puts "Latest revisions:" if options[:verbosity] == :verbose
|
43
54
|
# take each latest revision
|
44
55
|
for rev in original_wiki.latest_revisions
|
45
56
|
puts "Updated syntax: #{rev.title} #{rev.time}" if options[:verbosity] == :verbose
|
57
|
+
progress_markup.increment
|
46
58
|
|
47
59
|
# parse markup & convert to new syntax
|
48
60
|
if options[:markup] == :markdown
|
@@ -60,7 +72,7 @@ module Caramelize
|
|
60
72
|
# commit as latest page revision
|
61
73
|
output_wiki.commit_revision rev, options[:markup]
|
62
74
|
end
|
63
|
-
end
|
75
|
+
end
|
64
76
|
end
|
65
77
|
end # end execute
|
66
78
|
end
|
@@ -43,13 +43,11 @@ module Caramelize
|
|
43
43
|
end
|
44
44
|
|
45
45
|
# Commit all revisions of the given history into this gollum-wiki-repository.
|
46
|
-
def commit_history(revisions, options={})
|
46
|
+
def commit_history(revisions, options={}, &block)
|
47
47
|
options[:markup] = :markdown if options[:markup].nil? # target markup
|
48
48
|
revisions.each_with_index do |page, index|
|
49
|
-
|
50
|
-
|
51
|
-
end
|
52
|
-
|
49
|
+
# call debug output from outside
|
50
|
+
block.call(page, index) if block_given?
|
53
51
|
commit_revision(page, options[:markup])
|
54
52
|
end
|
55
53
|
end
|
data/lib/caramelize/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caramelize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mysql2
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: ruby-progressbar
|
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'
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: gollum
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,8 +75,8 @@ dependencies:
|
|
59
75
|
- - ! '>='
|
60
76
|
- !ruby/object:Gem::Version
|
61
77
|
version: 1.3.0
|
62
|
-
description: By defining the
|
63
|
-
|
78
|
+
description: By defining the connectors from the input wiki you can migrate any wiki
|
79
|
+
to git-based Gollum wiki repositories.
|
64
80
|
email:
|
65
81
|
- mail@danielsenff.de
|
66
82
|
executables:
|
@@ -118,7 +134,7 @@ rubyforge_project: caramelize
|
|
118
134
|
rubygems_version: 1.8.21
|
119
135
|
signing_key:
|
120
136
|
specification_version: 3
|
121
|
-
summary:
|
137
|
+
summary: Flexible and modular wiki conversion tool
|
122
138
|
test_files:
|
123
139
|
- test/helper.rb
|
124
140
|
- test/test_caramelize.rb
|