EUC-JP版のPukiWikiのデータファイルを、UTF-8版のPukiWiki向けに変換するRubyスクリプトです。
- Linux(UTF-8環境であること)
- Ruby 2.3.0
- 変換元PukiWikiバージョン 1.4.7(EUC-JP版)
- 変換先PukiWikiバージョン 1.5.1(UTF-8版)
pukiwikiconvert.rb
をダウンロードします。
以下のように起動します。
ruby pukiwikiconvert.rb SRC_DIR DST_DIR
SRC_DIR
-- 変換元のPukiWikiのディレクトリを指定します。変換元のディレクトリは、変更しません。(例./var/www/htdocs/pukiwiki
)DST_DIR
-- 変換先のディレクトリを指定します。ここに変換したファイルを格納します。ディレクトリは空である必要があります。(例./home/xmisao/pukiwiki
)
通常の出力は標準出力へ、変換失敗などのエラーは標準エラー出力に出力します。
DST_DIR
以下に出力されたファイルを、移行先のPukiWikiのディレクトリの同名のフォルダにコピーして、パーミッションを設定して下さい。
以下のファイルを変換元から変換先に変換してコピーします。 変換は、ファイル名、ファイルの内容、どちらも行います。タイムスタンプ(mtime)は維持します。
wiki/*.txt
-- wikiのページのデータ。ファイル名および内容を変換します。attach/*_*
-- ページの添付ファイル。拡張子がないファイルに加え、logのファイル、および数字のファイルも含みます。内容は変換しません。backup/*.gz
-- wikiのページの履歴データ。ファイル名および内容を変換します。いったん伸張し、変換した後に、再圧縮します。diff/*.txt
-- wikiのページの差分データ。ファイル名および内容を変換します。
- 2016/5/18時点で簡単な動作確認は行っていますが、作りかけです。
- zlibオプションが有効でない環境のファイル(backup以下のファイルがGZip圧縮されない)の変換には対応していません。
- 日本語を含む文字列は、EUC-JPよりUTF-8の方がバイト長が長くなります。このため、長いページ名や名前が長い添付ファイルは、変換先ファイル名の長さがファイルシステムの上限を超過し、変換がエラーとなる場合があります。
This library is distributed under the MIT license.