I have a plain text list like this:
I am the first top-level list item
I am his son
Me too
Second one here
His son
His daughter
I am the son of the one above
Me too because of the indentation
Another one
And I would like to turn that into:
<ul>
<li>I am the first top-level list-item
<ul>
<li>I am his son</li>
<li>Me too</li>
</ul>
</li>
<li>Second one here
<ul>
<li>His son</li>
<li>His daughter
<ul>
<li>I am the son of the one above</li>
<li>Me too because of the indentation</li>
</ul>
</li>
<li>Another one</li>
</ul>
</li>
</ul>
How would one go about doing that?
I never used ruby but the usual algorithm stays the same:
For output:
1. print <ul>
2. Take the first node, print <li>node.Text
3. If there are child nodes (count of node.Children > 0) recurse to 1.
4. print </li>
5. take next node, continue from 2.
6. print </ul>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With