मैं अंत में कोड के बारे में 5 लाइनों में यह करने के लिए एक सुपर सुरुचिपूर्ण तरीका के साथ आया था, तथ्य यह है कि सरल YAMLMarkdown की तरह एक बहुत लग रहा है पर आधारित है। (पर्ल में इस मामले में,)
---
all:
foo: 1025
bar:
baz: 37628
quux:
a: 179
b: 7
उपयोग regexps शुरू करने ---
हटाने, और प्रत्येक पंक्ति पर कुंजी से पहले हाइफ़न डाल करने के लिए:
हम इस के साथ बंद शुरू कर रहे हैं
$data =~ s/^---\n//s;
$data =~ s/^(\s*)(\S.*)$/$1- $2/gm;
देखा, Markdown:
- all:
- foo: 1025
- bar:
- baz: 37628
- quux:
- a: 179
- b: 7
अब, बस यह एक Markdown की प्रक्रिया के माध्यम से चलाने सोर:
use Text::Markdown qw(markdown);
print markdown($data);
और तुम एक HTML सूची प्राप्त - स्वच्छ, अर्थ, पीछे की ओर संगत:
<ul>
<li>all:
<ul>
<li>foo: 1025</li>
<li>bar:</li>
<li>baz: 37628</li>
<li>quux:
<ul>
<li>a: 179</li>
<li>b: 7</li>
</ul></li>
</ul></li>
</ul>
YUI Treeview मौजूदा सूची में वृद्धि कर सकते हैं, इसलिए हम यह सब लपेट अप:
<html><head>
<!-- CSS + JS served via YUI hosting: developer.yahoo.com/yui/articles/hosting/ -->
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/combo?2.6.0/build/treeview/assets/skins/sam/treeview.css">
<script type="text/javascript" src="http://yui.yahooapis.com/combo?2.6.0/build/yahoo-dom-event/yahoo-dom-event.js&2.6.0/build/treeview/treeview-min.js"></script>
</head><body>
<div id="markup" class="yui-skin-sam">
<!-- start Markdown-generated list -->
<ul>
<li>all:
<ul>
<li>foo: 1025</li>
<li>bar:</li>
<li>baz: 37628</li>
<li>quux:
<ul>
<li>a: 179</li>
<li>b: 7</li>
</ul></li>
</ul></li>
</ul>
<!-- end Markdown-generated list -->
</div>
<script type="text/javascript">
var treeInit = function() {
var tree = new YAHOO.widget.TreeView("markup");
tree.render();
};
YAHOO.util.Event.onDOMReady(treeInit);
</script>
</body></html>
तो यह सब कोड की लगभग 5 लाइनों तक काम करता है (मार्कडाउन में वाईएएमएल को चालू करें, मार्कडाउन को एक HTML सूची में बदलें, और उस HTML सूची को टेम्पलेट HTML फ़ाइल के अंदर रखें।जेनरेट किए गए एचटीएमएल की प्रगतिशील रूप से बढ़ी/गिरावट योग्य है, क्योंकि यह गैर-जावास्क्रिप्ट ब्राउज़र पर एक सादे पुरानी सूची के रूप में पूरी तरह से देखने योग्य है।
यह अच्छा है, लेकिन कृपया ध्यान दें, मार्कडाउन सूचियों को स्पीक संगत होने के लिए प्रति स्तर 4 वर्णों द्वारा इंडेंट किया जाना चाहिए। (2 स्पेस इंडेंट कई प्रस्तुतकर्ताओं में काम करेगा, हालांकि निरंतरता और कोड घोंसले नियमित रूप से काम नहीं करेंगे।) – ocodo