2012-03-20 40 views
11

मैं अपने रेडमाइन विकी इंजन के रूप में मार्कडाउन का उपयोग करना चाहता हूं।मौजूदा रेडमाइन विकी को कपड़ा से मार्कडाउन में कैसे परिवर्तित करें?

मैंने मार्कडाउन प्लगइन स्थापित किया और यह अच्छी तरह से काम किया।

एकमात्र सवाल यह है कि, मैं उन पुराने विकी (कपड़ा) को मार्कडाउन में कैसे परिवर्तित कर सकता हूं ताकि उन्हें सही तरीके से प्रदर्शित किया जा सके?

उत्तर

11

चूंकि यह एक बार एकमात्र कार्य है क्यों 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

मैंने सभी विकी पृष्ठों और उनके संस्करणों को मार्कडाउन में बदलने के लिए एक रेक कार्य लिखा था।

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 के लिए बेकार ढंग से काम किया। मुझे पहले 'पैंडोक इंस्टॉल' करना था। – tvdeyen

+0

यह अच्छा काम करता है (विंडोज़ पर redmine 2.6.1.स्टेबल), लेकिन कुछ quirks के साथ: * मुझे पैंडोक स्थापित करना था, उदाहरण के लिए। चॉकलेट के साथ: 'चोको इंस्टॉल पांडोक' * कुछ फाइलों के लिए पांडोक असफल रहा - मैंने इन त्रुटियों को अनदेखा करने के लिए "पांडोक असफल" रखने के लिए "पांडोक असफल" को बदल दिया * बुलेट सूचियों (* का उपयोग करके) के अंत में स्लेश (\\) पंक्तियां – qbik

0

जब मैं (pandoc संस्करण 1.12.4.2 है) कपड़ा फ़ाइल में ऊपर pandoc आदेश से markdown फ़ाइल को रूपांतरित करने की कोशिश की, Redmine CodeBlock को ठीक से प्रदर्शित नहीं कर सका। तो यह बेहतर है कि एक पूर्व तत्व में कोडब्लॉक लिखा गया था।

मूल है।

 
~~~ 
% foo bar 
~~~ 

परिवर्तित एक है।

 
bc. % foo bar 
% foo bar 

-> इसे कोडब्लॉक के रूप में रेडमाइन में प्रदर्शित नहीं किया जा सका।

आपको कोडबॉक को पहले से पहले एक तत्व के रूप में लिखना चाहिए।

 
<pre> 
% foo bar 
</pre> 
2

Michaël's answer पर बिल्डिंग, यहां कपड़ा से मार्कडाउन में माइग्रेट करने का एक टूल है। यह सभी सामग्री (टिप्पणी, विकी, अंक, संदेश, समाचार, दस्तावेज़, परियोजना और पत्रिका) माइग्रेट करेगा। और यह रेडमाइन के वस्त्र और पैंडोक के बीच कई असंगतता को भी ठीक करेगा।

यह वहाँ पर है: https://github.com/Ecodev/redmine_convert_textile_to_markown