我想使用markdown作为我的redmine wiki引擎。
我安装了降价插件,效果很好。
唯一的问题是,如何将旧维基(纺织品)转换为降价,以便正确显示?
答案 0 :(得分:11)
因为这是一次性的任务,为什么不pandoc -f textile -t markdown
oldfile.text -o newfile.md?在Try Pandoc处尝试。
答案 1 :(得分:11)
我编写了一个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!(/^((\\[*>])+)/) { $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
答案 2 :(得分:2)
在Michaël's answer的基础上,这是一个从Textile迁移到Markdown的工具。它将迁移所有内容(评论,维基,问题,消息,新闻,文档,项目和期刊)。它还将修复Redmine的Textile和pandoc之间的几种不兼容性。
它在那边:https://github.com/Ecodev/redmine_convert_textile_to_markown
答案 3 :(得分:0)
当我尝试通过上面的pandoc命令(pandoc版本为1.12.4.2)将markdown文件转换为textile文件时,Redmine无法正常显示CodeBlock。因此,在pre元素中编写CodeBlock会更好。
原来是吼叫。~~~ % foo bar ~~~
转换后的一个是吼叫。
bc. % foo bar % foo bar
- >这无法在redmine中显示为CodeBlock。
您应该事先将CodeBlock编写为pre元素。
<pre> % foo bar </pre>