caramelize 0.1.2 → 0.2.0
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/Rakefile +1 -9
- data/caramelize.gemspec +2 -2
- data/lib/caramelize/caramel.rb +3 -1
- data/lib/caramelize/cli.rb +6 -4
- data/lib/caramelize/content_transferer.rb +45 -27
- data/lib/caramelize/ext.rb +1 -1
- data/lib/caramelize/filters/swap_wiki_links.rb +20 -0
- data/lib/caramelize/filters/trac_to_markdown.rb +42 -0
- data/lib/caramelize/{wiki/wikka_converter.rb → filters/wikka_to_markdown.rb} +3 -2
- data/lib/caramelize/gollum_output.rb +14 -4
- data/lib/caramelize/page.rb +5 -5
- data/lib/caramelize/version.rb +1 -1
- data/lib/caramelize/wiki/redmine_wiki.rb +41 -6
- data/lib/caramelize/wiki/wiki.rb +10 -1
- data/lib/caramelize/wiki/wikkawiki.rb +4 -3
- metadata +8 -6
data/Rakefile
CHANGED
data/caramelize.gemspec
CHANGED
@@ -14,11 +14,11 @@ Gem::Specification.new do |s|
|
|
14
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
20
|
s.add_dependency('ruby-progressbar')
|
21
|
-
s.add_dependency('gollum', '>= 1.
|
21
|
+
s.add_dependency('gollum-lib', '>= 1.0.0') # grit dependency implicit through gollum
|
22
22
|
|
23
23
|
s.rubyforge_project = "caramelize"
|
24
24
|
|
data/lib/caramelize/caramel.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
#Encoding: UTF-8
|
1
2
|
require 'caramelize/wiki/wiki'
|
2
3
|
require 'caramelize/wiki/wikkawiki'
|
3
4
|
require 'caramelize/wiki/redmine_wiki'
|
@@ -37,7 +38,6 @@ def customized_wiki
|
|
37
38
|
end
|
38
39
|
@titles.uniq!
|
39
40
|
@revisions
|
40
|
-
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
@@ -57,6 +57,8 @@ def predefined_wiki
|
|
57
57
|
|
58
58
|
|
59
59
|
# For connection to a Redmine-Database use this Connector
|
60
|
+
# Additional options:
|
61
|
+
# :create_namespace_home => true/false (Default: true) - Creates a new wikipage at /home as root page for Gollum wiki
|
60
62
|
return Caramelize::RedmineWiki.new(:host => "localhost",
|
61
63
|
:username => "root",
|
62
64
|
:password => "root",
|
data/lib/caramelize/cli.rb
CHANGED
@@ -39,8 +39,9 @@ module Caramelize
|
|
39
39
|
|
40
40
|
# Finds the configuration file, if it exists in a known location.
|
41
41
|
def detect_configuration_file(config_path = nil)
|
42
|
-
possible_files =
|
42
|
+
possible_files = []
|
43
43
|
possible_files << config_path if config_path
|
44
|
+
possible_files |= KNOWN_CONFIG_LOCATIONS
|
44
45
|
possible_files.detect{|f| File.exists?(f)}
|
45
46
|
end
|
46
47
|
|
@@ -51,13 +52,14 @@ module Caramelize
|
|
51
52
|
file = detect_configuration_file config_file
|
52
53
|
puts "Read config file: #{file}" if @verbosity == :verbose
|
53
54
|
if file && File.exists?(file)
|
54
|
-
instance_eval(File.read(file)
|
55
|
+
instance_eval(File.read(file))
|
55
56
|
original_wiki = input_wiki
|
56
57
|
|
57
|
-
|
58
|
+
options = original_wiki.options
|
59
|
+
options[:verbosity] = @verbosity
|
60
|
+
ContentTransferer.execute(original_wiki, options)
|
58
61
|
|
59
62
|
time_end = Time.now
|
60
|
-
|
61
63
|
puts "Time required: #{time_end - time_start} s" if @verbosity == :verbose
|
62
64
|
else
|
63
65
|
puts "No config file found."
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#Encoding: UTF-8
|
2
2
|
|
3
|
-
require 'gollum'
|
3
|
+
require 'gollum-lib'
|
4
4
|
require 'grit'
|
5
5
|
require 'ruby-progressbar'
|
6
6
|
|
@@ -17,8 +17,6 @@ module Caramelize
|
|
17
17
|
|
18
18
|
# Execute the content migration
|
19
19
|
def self.execute(original_wiki, options={})
|
20
|
-
|
21
|
-
options[:markup] = :markdown if !options[:markup]
|
22
20
|
options[:default_author] = "Caramelize" if !options[:default_author]
|
23
21
|
|
24
22
|
# read page revisions from wiki
|
@@ -28,6 +26,9 @@ module Caramelize
|
|
28
26
|
# initiate new wiki
|
29
27
|
output_wiki = GollumOutput.new('wiki.git') # TODO make wiki_path an option
|
30
28
|
|
29
|
+
# see if original wiki markup is among any gollum supported markups
|
30
|
+
options[:markup] = output_wiki.supported_markup.index(original_wiki.markup) ? original_wiki.markup : :markdown
|
31
|
+
|
31
32
|
# setup progressbar
|
32
33
|
progress_revisions = ProgressBar.create(:title => "Revisions", :total => @revisions.count, :format => '%a %B %p%% %t')
|
33
34
|
|
@@ -42,38 +43,55 @@ module Caramelize
|
|
42
43
|
end
|
43
44
|
end
|
44
45
|
|
46
|
+
|
47
|
+
# TODO reorder interwiki links: https://github.com/gollum/gollum/wiki#bracket-tags
|
48
|
+
|
49
|
+
# init list of filters to perform on the latest wiki pages
|
50
|
+
filters = []
|
51
|
+
|
52
|
+
original_wiki.filters.each do |filter|
|
53
|
+
filters << filter
|
54
|
+
end
|
55
|
+
|
45
56
|
# if wiki needs to convert syntax, do so
|
46
57
|
puts "From markup: " + original_wiki.markup.to_s if options[:verbosity] == :verbose
|
47
58
|
puts "To markup: " + options[:markup].to_s if options[:verbosity] == :verbose
|
48
59
|
if original_wiki.convert_markup? options[:markup] # is wiki in target markup
|
60
|
+
|
61
|
+
|
62
|
+
end # end convert_markup?
|
63
|
+
|
64
|
+
puts "Latest revisions:" if options[:verbosity] == :verbose
|
65
|
+
|
66
|
+
#setup progress for markup conversion
|
67
|
+
progress_markup = ProgressBar.create(:title => "Markup filters", :total => original_wiki.latest_revisions.count, :format => '%a %B %p%% %t')
|
68
|
+
|
69
|
+
# take each latest revision
|
70
|
+
for rev in original_wiki.latest_revisions
|
71
|
+
puts "Filter source: #{rev.title} #{rev.time}" if options[:verbosity] == :verbose
|
72
|
+
progress_markup.increment
|
49
73
|
|
50
|
-
#
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
74
|
+
# run filters
|
75
|
+
body_new = rev.body
|
76
|
+
filters.each do |filter|
|
77
|
+
body_new = filter.run body_new
|
78
|
+
end
|
79
|
+
|
80
|
+
unless body_new.eql? rev.body
|
81
|
+
rev.body = body_new
|
82
|
+
rev.author_name = options[:markup]
|
83
|
+
rev.time = Time.now
|
84
|
+
rev.author = nil
|
58
85
|
|
59
|
-
#
|
60
|
-
|
61
|
-
body_new = original_wiki.to_markdown rev.body
|
62
|
-
else
|
63
|
-
body_new = original_wiki.to_textile rev.body
|
64
|
-
end
|
65
|
-
|
66
|
-
unless body_new.eql? rev.body
|
67
|
-
rev.body = body_new
|
68
|
-
rev.author_name = options[:markup]
|
69
|
-
rev.time = Time.now
|
70
|
-
rev.author = nil
|
71
|
-
|
72
|
-
# commit as latest page revision
|
73
|
-
output_wiki.commit_revision rev, options[:markup]
|
74
|
-
end
|
86
|
+
# commit as latest page revision
|
87
|
+
output_wiki.commit_revision rev, options[:markup]
|
75
88
|
end
|
76
89
|
end
|
90
|
+
|
91
|
+
|
92
|
+
if options[:create_namespace_home]
|
93
|
+
output_wiki.create_namespace_home(original_wiki.namespaces)
|
94
|
+
end
|
77
95
|
end # end execute
|
78
96
|
end
|
79
97
|
end
|
data/lib/caramelize/ext.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
#Encoding: UTF-8
|
2
|
+
module Caramelize
|
3
|
+
class SwapWikiLinks
|
4
|
+
|
5
|
+
# take an input stream and convert all wikka syntax to markdown syntax
|
6
|
+
def run body
|
7
|
+
body = body.dup
|
8
|
+
|
9
|
+
body.gsub!(/\[\[(\S+)\|(.+?)\]\]/, '[[\2|\1]]')
|
10
|
+
body.gsub!(/\[\[([\w\s-]*)\]\]/) do |s|
|
11
|
+
if $1
|
12
|
+
t = $1.dup
|
13
|
+
s = '[[' +t + "|"+ $1.gsub(' ', '_') + "]]"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
body
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#Encoding: UTF-8
|
2
|
+
module Caramelize
|
3
|
+
class Trac2Markdown
|
4
|
+
|
5
|
+
def run body
|
6
|
+
body = body.dup
|
7
|
+
body.gsub!(/\r/, '')
|
8
|
+
body.gsub!(/\{\{\{([^\n]+?)\}\}\}/, '@\1@')
|
9
|
+
body.gsub!(/\{\{\{\n#!([^\n]+?)(.+?)\}\}\}/m, '<pre><code class="\1">\2</code></pre>')
|
10
|
+
body.gsub!(/\{\{\{(.+?)\}\}\}/m, '<pre>\1</pre>')
|
11
|
+
# macro
|
12
|
+
body.gsub!(/\[\[BR\]\]/, '')
|
13
|
+
body.gsub!(/\[\[PageOutline.*\]\]/, '{{toc}}')
|
14
|
+
body.gsub!(/\[\[Image\((.+?)\)\]\]/, '!\1!')
|
15
|
+
# header
|
16
|
+
body.gsub!(/=====\s(.+?)\s=====/, "== #{'\1'} ==\n\n")
|
17
|
+
body.gsub!(/====\s(.+?)\s====/, "=== #{'\1'} ===\n\n")
|
18
|
+
body.gsub!(/===\s(.+?)\s===/, "==== #{'\1'} ====\n\n")
|
19
|
+
body.gsub!(/==\s(.+?)\s==/, "===== #{'\1'} =====\n\n")
|
20
|
+
body.gsub!(/=\s(.+?)\s=[\s\n]*/, "====== #{'\1'} ======\n\n")
|
21
|
+
# table
|
22
|
+
body.gsub!(/\|\|/, "|")
|
23
|
+
# link
|
24
|
+
body.gsub!(/\[(http[^\s\[\]]+)\s([^\[\]]+)\]/, ' "\2":\1' )
|
25
|
+
body.gsub!(/\[([^\s]+)\s(.+)\]/, ' [[\1 | \2]] ')
|
26
|
+
body.gsub!(/([^"\/\!])(([A-Z][a-z0-9]+){2,})/, ' \1[[\2]] ')
|
27
|
+
body.gsub!(/\!(([A-Z][a-z0-9]+){2,})/, '\1')
|
28
|
+
# text decoration
|
29
|
+
body.gsub!(/'''(.+)'''/, '*\1*')
|
30
|
+
body.gsub!(/''(.+)''/, '_\1_')
|
31
|
+
body.gsub!(/`(.+)`/, '@\1@')
|
32
|
+
# itemize
|
33
|
+
body.gsub!(/^\s\s\s\*/, '***')
|
34
|
+
body.gsub!(/^\s\s\*/, '**')
|
35
|
+
body.gsub!(/^\s\*/, '*')
|
36
|
+
body.gsub!(/^\s\s\s\d\./, '###')
|
37
|
+
body.gsub!(/^\s\s\d\./, '##')
|
38
|
+
body.gsub!(/^\s\d\./, '#')
|
39
|
+
body
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -1,8 +1,9 @@
|
|
1
|
+
#Encoding: UTF-8
|
1
2
|
module Caramelize
|
2
|
-
|
3
|
+
class Wikka2Markdown
|
3
4
|
|
4
5
|
# take an input stream and convert all wikka syntax to markdown syntax
|
5
|
-
def
|
6
|
+
def run body
|
6
7
|
body = body.dup
|
7
8
|
body.gsub!(/(======)(.*?)(======)/ ) {|s| '# ' + $2 } #h1
|
8
9
|
body.gsub!(/(=====)(.*?)(=====)/) {|s| '## ' + $2 } #h2
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module Caramelize
|
4
4
|
class GollumOutput
|
5
5
|
|
6
|
-
def supported_markup
|
6
|
+
def supported_markup
|
7
7
|
[:markdown, :textile]
|
8
8
|
end
|
9
9
|
|
@@ -16,14 +16,14 @@ module Caramelize
|
|
16
16
|
|
17
17
|
# Commit the given page into the gollum-wiki-repository.
|
18
18
|
# Make sure the target markup is correct before calling this method.
|
19
|
-
def commit_revision(page, markup)
|
19
|
+
def commit_revision(page, markup)
|
20
20
|
message = page.message.empty? ? "Edit in page #{page.title}" : page.message
|
21
21
|
|
22
22
|
if page.author
|
23
23
|
author = page.author
|
24
24
|
else
|
25
25
|
author = Author.new
|
26
|
-
author.name = page.author_name
|
26
|
+
author.name = page.author_name ? page.author_name : "Caramelize"
|
27
27
|
author.email = "mail@example.com"
|
28
28
|
end
|
29
29
|
|
@@ -44,13 +44,23 @@ module Caramelize
|
|
44
44
|
|
45
45
|
# Commit all revisions of the given history into this gollum-wiki-repository.
|
46
46
|
def commit_history(revisions, options={}, &block)
|
47
|
-
options[:markup] = :markdown if options[:markup]
|
47
|
+
options[:markup] = :markdown if !options[:markup] # target markup
|
48
48
|
revisions.each_with_index do |page, index|
|
49
49
|
# call debug output from outside
|
50
50
|
block.call(page, index) if block_given?
|
51
51
|
commit_revision(page, options[:markup])
|
52
52
|
end
|
53
53
|
end
|
54
|
+
|
55
|
+
def create_namespace_home namespaces, options={}
|
56
|
+
options[:markup] = :markdown if options[:markup].nil? # target markup
|
57
|
+
body = "## Overview of namespaces" + "\n" + "\n"
|
58
|
+
namespaces.each do |namespace|
|
59
|
+
body << "* [[#{namespace[:name]}|#{namespace[:identifier]}/Wiki]] \n" # change wiki as configurable default home
|
60
|
+
end
|
61
|
+
page = Page.new({:title => "Home", :body => body, :message => 'Create Namespace Home', :latest => true })
|
62
|
+
commit_revision(page, options[:markup])
|
63
|
+
end
|
54
64
|
|
55
65
|
end
|
56
66
|
end
|
data/lib/caramelize/page.rb
CHANGED
@@ -5,12 +5,12 @@ module Caramelize
|
|
5
5
|
|
6
6
|
def initialize page={}
|
7
7
|
@id = page[:id]
|
8
|
-
@title = page[:title]
|
9
|
-
@body = page[:body]
|
8
|
+
@title = page[:title] ? page[:title] : ""
|
9
|
+
@body = page[:body] ? page[:body] : ""
|
10
10
|
@syntax = page[:markup]
|
11
|
-
@latest = page[:latest]
|
12
|
-
@time = page[:time]
|
13
|
-
@message = page[:message]
|
11
|
+
@latest = page[:latest] ? page[:latest] : false
|
12
|
+
@time = page[:time] ? page[:time] : Time.now
|
13
|
+
@message = page[:message] ? page[:message] : ""
|
14
14
|
@author = page[:author]
|
15
15
|
@author_name = page[:author_name]
|
16
16
|
end
|
data/lib/caramelize/version.rb
CHANGED
@@ -1,21 +1,57 @@
|
|
1
1
|
#Encoding: UTF-8
|
2
2
|
module Caramelize
|
3
3
|
autoload :DatabaseConnector, 'caramelize/database_connector'
|
4
|
+
autoload :SwapWikiLinks, 'caramelize/filters/swap_wiki_links'
|
4
5
|
|
5
6
|
class RedmineWiki < Wiki
|
6
7
|
include DatabaseConnector
|
7
8
|
|
9
|
+
def initialize options={}
|
10
|
+
super(options)
|
11
|
+
@options[:markup] = :textile
|
12
|
+
@options[:create_namespace_home] = true unless @options[:create_namespace_home]
|
13
|
+
@options[:swap_interwiki_links] = true
|
14
|
+
@options[:filters] << Caramelize::SwapWikiLinks.new
|
15
|
+
end
|
8
16
|
|
9
17
|
# after calling this action, I expect the @titles and @revisions to be filled
|
10
18
|
def read_pages
|
11
|
-
sql = "SELECT id, title FROM wiki_pages;"
|
12
19
|
@revisions = []
|
13
20
|
@titles = []
|
14
21
|
@latest_revisions = {}
|
15
|
-
|
22
|
+
|
23
|
+
# get all projects
|
24
|
+
results_projects = database.query("SELECT id, identifier, name FROM projects;")
|
25
|
+
results_projects.each do |row_project|
|
26
|
+
#collect all namespaces
|
27
|
+
@namespaces << {:identifier => row_project["identifier"], :name => row_project["name"]}
|
28
|
+
end
|
29
|
+
|
30
|
+
# get all wikis
|
31
|
+
results_wikis = database.query("SELECT id, project_id FROM wikis;")
|
32
|
+
|
33
|
+
# get all lemmas
|
34
|
+
results_pages = database.query("SELECT id, title, wiki_id FROM wiki_pages;")
|
16
35
|
results_pages.each do |row_page|
|
17
36
|
results_contents = database.query("SELECT * FROM wiki_content_versions WHERE page_id='#{row_page["id"]}' ORDER BY updated_on;")
|
18
|
-
|
37
|
+
|
38
|
+
# get wiki for page
|
39
|
+
wiki_row = nil
|
40
|
+
project_row = nil
|
41
|
+
results_wikis.each do |wiki|
|
42
|
+
wiki_row = wiki if wiki["id"] == row_page["wiki_id"]
|
43
|
+
end
|
44
|
+
|
45
|
+
if wiki_row
|
46
|
+
# get project from wiki-id
|
47
|
+
results_projects.each do |project|
|
48
|
+
project_row = project if project["id"] == wiki_row["project_id"]
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
project_identifier = project_row ? project_row["identifier"] + '/' : ""
|
53
|
+
|
54
|
+
title = project_identifier + row_page["title"]
|
19
55
|
@titles << title
|
20
56
|
|
21
57
|
results_contents.each do |row_content|
|
@@ -36,8 +72,7 @@ module Caramelize
|
|
36
72
|
@titles.uniq!
|
37
73
|
@latest_revisions.each { |rev| rev[1].set_latest }
|
38
74
|
@revisions.sort! { |a,b| a.time <=> b.time }
|
39
|
-
|
40
|
-
|
75
|
+
|
41
76
|
# TODO find latest revision for each limit
|
42
77
|
|
43
78
|
@revisions
|
@@ -56,5 +91,5 @@ module Caramelize
|
|
56
91
|
end
|
57
92
|
@authors
|
58
93
|
end
|
59
|
-
end
|
94
|
+
end
|
60
95
|
end
|
data/lib/caramelize/wiki/wiki.rb
CHANGED
@@ -1,11 +1,14 @@
|
|
1
|
+
#Encoding: UTF-8
|
1
2
|
module Caramelize
|
2
3
|
autoload :DatabaseConnector, 'caramelize/database_connector'
|
3
4
|
class Wiki
|
4
5
|
include DatabaseConnector
|
5
|
-
attr_accessor :revisions, :wiki_title, :titles, :description
|
6
|
+
attr_accessor :revisions, :wiki_title, :titles, :description, :namespaces, :options
|
6
7
|
|
7
8
|
def initialize options={}
|
8
9
|
@options = options
|
10
|
+
@options[:filters] = []
|
11
|
+
@namespaces = []
|
9
12
|
end
|
10
13
|
|
11
14
|
def revisions_by_title title
|
@@ -20,10 +23,15 @@ module Caramelize
|
|
20
23
|
def read_authors
|
21
24
|
return []
|
22
25
|
end
|
26
|
+
|
23
27
|
|
24
28
|
def convert_markup? to_markup
|
25
29
|
markup != to_markup
|
26
30
|
end
|
31
|
+
|
32
|
+
def filters
|
33
|
+
@options[:filters]
|
34
|
+
end
|
27
35
|
|
28
36
|
def latest_revisions
|
29
37
|
@latest_revisions = []
|
@@ -37,5 +45,6 @@ module Caramelize
|
|
37
45
|
def markup
|
38
46
|
@options[:markup]
|
39
47
|
end
|
48
|
+
|
40
49
|
end
|
41
50
|
end
|
@@ -1,15 +1,16 @@
|
|
1
1
|
#Encoding: UTF-8
|
2
2
|
module Caramelize
|
3
3
|
autoload :DatabaseConnector, 'caramelize/database_connector'
|
4
|
-
autoload :
|
4
|
+
autoload :Wikka2Markdown, 'caramelize/filters/wikka_to_markdown'
|
5
5
|
|
6
6
|
class WikkaWiki < Wiki
|
7
7
|
include DatabaseConnector
|
8
|
-
include WikkaConverter
|
9
8
|
|
10
9
|
def initialize options={}
|
11
10
|
super(options)
|
12
|
-
options[:markup] = :wikka
|
11
|
+
@options[:markup] = :wikka
|
12
|
+
@options[:swap_interwiki_links] = false
|
13
|
+
@options[:filters] << Caramelize::Wikka2Markdown.new
|
13
14
|
end
|
14
15
|
|
15
16
|
# after calling this action, I expect the @titles and @revisions to be filled
|
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.
|
4
|
+
version: 0.2.0
|
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-
|
12
|
+
date: 2013-05-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mysql2
|
@@ -60,13 +60,13 @@ dependencies:
|
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
|
-
name: gollum
|
63
|
+
name: gollum-lib
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
66
66
|
requirements:
|
67
67
|
- - ! '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 1.
|
69
|
+
version: 1.0.0
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,7 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 1.
|
77
|
+
version: 1.0.0
|
78
78
|
description: By defining the connectors from the input wiki you can migrate any wiki
|
79
79
|
to git-based Gollum wiki repositories.
|
80
80
|
email:
|
@@ -100,13 +100,15 @@ files:
|
|
100
100
|
- lib/caramelize/content_transferer.rb
|
101
101
|
- lib/caramelize/database_connector.rb
|
102
102
|
- lib/caramelize/ext.rb
|
103
|
+
- lib/caramelize/filters/swap_wiki_links.rb
|
104
|
+
- lib/caramelize/filters/trac_to_markdown.rb
|
105
|
+
- lib/caramelize/filters/wikka_to_markdown.rb
|
103
106
|
- lib/caramelize/gollum_output.rb
|
104
107
|
- lib/caramelize/page.rb
|
105
108
|
- lib/caramelize/version.rb
|
106
109
|
- lib/caramelize/wiki/redmine_wiki.rb
|
107
110
|
- lib/caramelize/wiki/trac_converter.rb
|
108
111
|
- lib/caramelize/wiki/wiki.rb
|
109
|
-
- lib/caramelize/wiki/wikka_converter.rb
|
110
112
|
- lib/caramelize/wiki/wikkawiki.rb
|
111
113
|
- test/helper.rb
|
112
114
|
- test/test_caramelize.rb
|