2012-03-20 25 views

答えて

11

これは1回限りの仕事なので、なぜpandoc -f textile -t markdown oldfile.text -o newfile.mdではないのですか?試してみてくださいTry Pandoc

+0

が、私はそれを試して、次の時間をあげる私のCentOS 5に徒党インストール徒党をインストールを行うことができませんでした。 – hSATAC

+0

ちょっとした注意:[Redmine CKEditor](http://www.redmine.org/plugins/redmine-ckeditor)プラグインを使用している人は、[1.0.18]以降のすべてのバージョン(https:// github .com/a-ono/redmine_ckeditor/commit/383da5d60b2832757493cf65dc418c8ce2cff91c#diff-cb3e0f2c76a671c083e8f001970f4631)には、ソースとターゲットの形式を指定できるレーキタスクが含まれています。 – ZaLiTHkA

11

私はすべてのwikiページとそのバージョンをmarkdownに変換するrakeタスクを書いています。

lib/tasks/convert_textile_to_markdown.rakeにこれを入れて:

task :convert_textile_to_markdown => :environment do 
    require 'tempfile' 
    WikiContent.all.each do |wiki| 
    ([wiki] + wiki.versions).each do |version| 
     textile = version.text 
     src = Tempfile.new('textile') 
     src.write(textile) 
     src.close 
     dst = Tempfile.new('markdown') 
     dst.close 

     command = [ 
     "pandoc", 
     "--no-wrap", 
     "--smart", 
     "--strict", 
     "-f", 
     "textile", 
     "-t", 
     "markdown", 
     src.path, 
     "-o", 
     dst.path, 
     ] 
     system(*command) or raise "pandoc failed" 

     dst.open 
     markdown = dst.read 

     # remove the \ pandoc puts before * and > at begining of lines 
     markdown.gsub!(/^((\\[*>])+)/) { $1.gsub("\\", "") } 

     # add a blank line before lists 
     markdown.gsub!(/^([^*].*)\n\*/, "\\1\n\n*") 

     version.update_attribute(:text, markdown) 
    end 
    end 
end 

そして実行します。

bundle exec rake convert_textile_to_markdown RAILS_ENV=production 
+0

これはredmine 2.5.2でうまくいきます(ファイル名とRAILS_ENVを編集した後) –

+0

Redmine 2.6で完璧に動作しました。私は 'apt-get install pandoc'を最初にやらなければなりませんでした。 – tvdeyen

+0

これはうまくいく(redmine 2.6.1.stable for windows)が、いくつかの特徴があります。 *私はpandocをインストールする必要がありました。 "choco install pandoc" *いくつかのファイルにはpandocが失敗しました - 私は "pandoc failed"を指定して "pandoc failed"にこれらのエラーを無視しました*箇条書きのリスト(*を使用)は末尾にスラッシュ(\\)行 – qbik

0

を私は上記pandocコマンドでテキスタイル・ファイルに値下げファイルを変換しようとしたときに(pandocバージョンは1.12.4.2です)、 RedmineはCodeBlockを正しく表示できませんでした。それで、CodeBlockを前の要素に書いた方が良いです。

オリジナルは次のとおりです。

 
~~~ 
% foo bar 
~~~ 

変換されたものがあります。

 
bc. % foo bar 
% foo bar 

- >これは、CodeBlockとしてredmineで表示できませんでした。

事前にCodeBlockを事前要素として記述する必要があります。

 
<pre> 
% foo bar 
</pre> 
2

ビルドMichaël's answerには、ここでTextileからMarkdownに移行するツールがあります。すべてのコンテンツ(コメント、wiki、問題、メッセージ、ニュース、ドキュメント、プロジェクト、雑誌)を移行します。また、RedmineのTextileとpandocの間のいくつかの非互換性も修正されます。

それはあそこだ:最初の場所で私の心に来たことhttps://github.com/Ecodev/redmine_convert_textile_to_markown

関連する問題