Я хочу использовать markdown как мой вики-движок redmine.
Я установил плагин markdown, и он работал хорошо.
Вопрос только в том, как я могу преобразовать эти старые wiki (текстильные) в уценку, чтобы они могли отображаться правильно?
Я хочу использовать markdown как мой вики-движок redmine.
Я установил плагин markdown, и он работал хорошо.
Вопрос только в том, как я могу преобразовать эти старые wiki (текстильные) в уценку, чтобы они могли отображаться правильно?
Поскольку это задача только один раз, почему бы не pandoc -f textile -t markdown
oldfile.text -o newfile.md? Попробуйте в Попробовать Pandoc.
Я написал задачу 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
Основываясь на ответе Michaël, вот инструмент перехода от Textile to Markdown. Он перенесет весь контент (комментарий, вики, выпуск, сообщение, новости, документ, проект и журнал). И это также исправляет несколько несовместимостей между Redmine Textile и pandoc's.
Здесь: https://github.com/Ecodev/redmine_convert_textile_to_markown
Когда я попытался преобразовать файл разметки в файл в файл с помощью команды pandoc (версия pandoc - 1.12.4.2), Redmine не смог правильно отобразить CodeBlock. Так что лучше было написать CodeBlock в элементе pre.
оригинал ниже.
~~~ % foo bar ~~~
преобразованный один ниже.
bc. % foo bar % foo bar
- > Это не может отображаться в redmine как CodeBlock.
Вы должны написать CodeBlock как предварительный элемент заранее.
<pre> % foo bar </pre>