Как конвертировать существующий redmine wiki из текстиль в markdown?

Я хочу использовать markdown в качестве моего движка Redmine wiki.

Я установил плагин Markdown и он работал хорошо.

единственный вопрос в том, как я могу преобразовать эти старые wiki (текстиль) в markdown, чтобы их можно было правильно отобразить?

4 ответов


поскольку это единственная задача, почему бы и нет pandoc -f textile -t markdown oldfile.text-o newfile.md? Попробуйте в Попробуйте Pandoc.


Я написал задачу rake для преобразования всех страниц wiki и их версий в markdown.

этой 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!(/^((\[*>])+)/) { .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

на Микаэлем х, вот инструмент для перехода от текстиля к уценке. Он перенесет все содержимое (комментарий, Вики, выпуск, сообщение, Новости, документ, проект и журнал). И это также исправит несколько несовместимостей между текстилем Redmine и pandoc.

Это там:https://github.com/Ecodev/redmine_convert_textile_to_markown


когда я попытался преобразовать файл markdown в текстильный файл с помощью команды выше pandoc(версия pandoc-1.12.4.2),Redmine не смог отобразить CodeBlock должным образом. Так что лучше, чтобы был написан CodeBlock в pre элементе.

оригинал пыльник.

~~~
% foo bar
~~~

преобразованный один ниже.

bc. % foo bar
% foo bar

- > Это не может быть отображено в redmine как CodeBlock.

вы должны написать CodeBlock как элемент pre заранее.

<pre>
 % foo bar
</pre>