You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Caramelize is a compact and flexible wiki content migration tool. It is intended for easi transfer of content from legacy wikis. With caramelize you can create your own export configurations and migrate your data into a git-based [gollum](https://github.com/github/gollum) wiki retaining all your history and gaining the most flexible access to your wiki content.
5
+
Caramelize is a compact and flexible wiki migration tool. It is intended for easy transfer of content from legacy wikis. With caramelize you can create your own export configurations and migrate your page revisions into a git repository of markdown files. This retains all your history and you gain the most flexible access to your wiki content available for use with git-based wikis like [gollum](https://github.com/github/gollum), [Otter Wiki](https://github.com/redimp/otterwiki), [Wiki.js](https://js.wiki/) or [Obsidian](https://obsidian.md/).
6
+
7
+
By default, it ships with configurations for [WikkaWiki](http://wikkawiki.org/) and [Redmine](http://www.redmine.org/).
6
8
7
-
In the future more target wikis may be added. For the moment migration is supported for [WikkaWiki](http://wikkawiki.org/) and [Redmine](http://www.redmine.org/)-Wiki.
8
9
9
10
## Usage
10
11
11
12
### Installation
12
13
13
-
$ gem install caramelize
14
+
```sh
15
+
$ gem install caramelize
16
+
```
14
17
15
18
Install the latest release of caramelize using RubyGems.
19
+
Requires pandoc to be installed.
16
20
17
21
### Use
18
22
19
-
$ caramelize create
23
+
```sh
24
+
$ caramelize create
25
+
```
20
26
21
27
Creates a template configuration file "caramel.rb". This includes documentation on how to use the preset Wiki-connectors and how to write addition customized connectors. More about this below.
22
28
23
-
$ caramelize run
29
+
```sh
30
+
$ caramelize run
31
+
```
24
32
25
33
Will start the wiki migration based on the configuration file. These are either found in predefined paths (./caramel.rb, ./config.rb, …), or passed as argument, as below.
26
34
27
-
$ caramelize doctor
35
+
```sh
36
+
$ caramelize doctor
37
+
```
28
38
29
39
Can be used to assess the quality of your wiki conversion. It'll help you see
30
40
how many wiki links may be broken and how many pages were orphaned.
Creates an example configuration by the given name.
45
61
46
-
$ caramelize run --config my_caramel_configuration.rb
62
+
```sh
63
+
$ caramelize run --config my_caramel_configuration.rb
64
+
```
47
65
48
66
Executes the given configuration.
49
67
50
-
$ caramelize --verbose [command]
68
+
```sh
69
+
$ caramelize --verbose [command]
70
+
```
51
71
52
72
Displays more verbose output to the command line.
53
73
54
74
## Content migration
55
75
56
76
### Wiki support
57
77
58
-
Caramelize comes with direct support for [WikkaWiki](http://wikkawiki.org/) and [Redmine](http://www.redmine.org/)-Wiki.
78
+
Caramelize comes with direct support for [MediaWiki](https://www.mediawiki.org), [WikkaWiki](http://wikkawiki.org/) and [Redmine](http://www.redmine.org/)-Wiki.
59
79
More custom wikis can be supported by creating a suitable configuration file.
60
80
61
81
The wiki is exported to markdown files in a git-repository. This can be directly used as source for [gollum](https://github.com/github/gollum) wiki, [Otter Wiki](https://github.com/redimp/otterwiki), or if you don't care about the history even [Obsidian](https://obsidian.md/).
@@ -76,7 +96,7 @@ Since wiki software may have special features, that are not common among other w
76
96
77
97
### Configuration recipes
78
98
79
-
The `caramel.rb` configuration contains the settings on how to import the data of the existing wiki and how to convert it into the format required by caramelize to export to gollum.
99
+
The `lib/caramelize/caramel.rb` configuration contains the settings on how to import the data of the existing wiki and how to convert it into the format required by caramelize to export to gollum.
80
100
You also find the predefined definitions for importing from WikkaWiki and Redmine and and example for a custom import.
81
101
82
102
Custom import allows you to import data from wikis that are not natively supported by caramelize. Defining your own wiki import requires a bit of knowledge on Ruby and MySQL as you setup the access to your wiki database and need to define how the data is to be transformed. Depending on the database model of the wiki this can be one simple call for all revisions in the database, or it can get more complicated with multiple mysql-calls as the database becomes more complex.
@@ -123,41 +143,54 @@ end
123
143
124
144
In the end the `wiki` instance needs the `titles` and `revisions` filled.
125
145
126
-
Some wikis don't have all necessary metadata saved in the revision. In this case additional database queries are necessary. **The configuration recipe is pure ruby code, that is included on execution. This gives you alot of freedom in writing your configuration, but also a lot of power to break things for yourself. Be advised.**
146
+
Some wikis don't have all necessary metadata saved in the revision. In this case additional database queries are necessary. **The configuration recipe is pure ruby code, that is included on execution. This gives you a lot of freedom in writing your configuration, but also a lot of power to break things. Be advised.**
127
147
128
148
I'm happy to give support on your recipes and I'd also like to extend caramelize with more wiki modules, if you send in your configurations (minus database credentials of course).
129
149
130
150
### Building
131
151
132
152
This is how you can build caramelize, in case you'd like to develop it further. To get startered you'll need Bundler.
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
187
+
* Check out the latest main to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
154
188
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
155
189
* Fork the project
156
190
* Start a feature/bugfix branch
157
191
* Commit and push until you are happy with your contribution
158
192
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
159
193
160
-
161
194
## Copyright
162
195
163
196
Copyright (c) 2011-2024 Daniel Senff. See LICENSE.md for further details.
0 commit comments