2008-09-12 11 views
33

एचटीएमएल को जावा के साथ मार्कडाउन में बदलने का एक आसान तरीका है?जावा के साथ मार्कडाउन के लिए एचटीएमएल

मैं वर्तमान में जावा MarkdownJ लाइब्रेरी को मार्कडाउन से HTML में बदलने के लिए उपयोग कर रहा हूं।

import com.petebevin.markdown.MarkdownProcessor; 
... 
public static String getHTML(String markdown) { 
    MarkdownProcessor markdown_processor = new MarkdownProcessor(); 
    return markdown_processor.markdown(markdown); 
} 

public static String getMarkdown(String html) { 
/* TODO Ask stackoverflow */ 
} 

उत्तर

38

इस XSLT का उपयोग करें।

आप XSLT का उपयोग कर मदद की जरूरत है और जावा यहाँ एक कोड स्निपेट बताया गया है:

public static void main(String[] args) throws Exception { 

     File xsltFile = new File("mardownXSLT.xslt"); 

     Source xmlSource = new StreamSource(new StringReader(theHTML)); 
     Source xsltSource = new StreamSource(xsltFile); 

     TransformerFactory transFact = 
       TransformerFactory.newInstance(); 
     Transformer trans = transFact.newTransformer(xsltSource); 

     StringWriter result = new StringWriter(); 
     trans.transform(xmlSource, new StreamResult(result)); 
    } 
+2

+1, यह शानदार है। –

+4

महत्वपूर्ण: यह एक्सएसएलटी एक सीसी-शेयर-समान लाइसेंस के तहत वितरित किया जाता है, जिसका अर्थ है: "यदि आप [...] इस काम पर निर्माण करते हैं, तो आप परिणामी काम को केवल उसी या समान लाइसेंस के तहत वितरित कर सकते हैं" –

+1

@ cx42net - यह इतना महत्वपूर्ण नहीं है))) कई देशों में सीसी-शेयर-समान लाइसेंस में कोई कानूनी शक्ति नहीं है;) – shabunc

2

मैं एक ही मुद्दे पर काम कर रहा हूँ, और एक जोड़ी विभिन्न तकनीकों के साथ प्रयोग।

उपर्युक्त उत्तर काम कर सकता है। प्रारंभिक सफाई कार्य करने और HTML से XHTML में कनवर्ट करने के लिए आप jTidy library का उपयोग कर सकते हैं। आप उपरोक्त लिंक XSLT stylesheet का उपयोग करते हैं।

दुर्भाग्यवश ऐसी कोई लाइब्रेरी नहीं है जिसमें जावा में ऐसा करने के लिए एक-स्टॉप फ़ंक्शन हो। आप पाइथन लिपि html2text का उपयोग ज्योथन के साथ करने का प्रयास कर सकते हैं, लेकिन मैंने अभी तक यह कोशिश नहीं की है!

1

आप सामूहिक नरसंहार के हथियारों संपादक का उपयोग कर रहे हैं और सर्वर साइड पर markdown कोड प्राप्त करना चाहते हैं, बस wmd.js स्क्रिप्ट लोड करने से पहले इन विकल्पों का उपयोग: HTML परिवर्तित करने के लिए

wmd_options = { 
     // format sent to the server. can also be "HTML" 
     output: "Markdown", 

     // line wrapping length for lists, blockquotes, etc. 
     lineLength: 40, 

     // toolbar buttons. Undo and redo get appended automatically. 
     buttons: "bold italic | link blockquote code image | ol ul heading hr", 

     // option to automatically add WMD to the first textarea found. 
     autostart: true 
    }; 
8

मैं टिप्पणी में आए Markdown को देखना : http://remark.overzealous.com/manual/index.html यह वास्तविक दुनिया HTML के साथ काम करने के लिए एक शक्तिशाली जावा लाइब्रेरी JSoup पर निर्भर करता है।

संबंधित मुद्दे