const markdown = `
- Item 1
- Item 2
- Subitem 2a
- Subitem 2b
- Item 3
`;
const t = parseUl(markdown)
console.log("parse t:",t)
function parseUl(markdown)
{
let currentLevel = 0;
let tHtml = '';
let tStr = markdown;
const lines = tStr.split('\n');
const matchRegex = /^(\s*)- (.*)/;
for(let line of lines)
{
if(!line)
{
continue;
}
const tMatch = line.match(matchRegex);
if(tMatch)
{
const level = tMatch[1].length / 2;
console.log('t level:', level);
const tText = line.repalaceAll(/^(\s*)- /, '')
if(level == currentLevel)
{
tHtml += `<li>${tText}</li>`;
}
else if(level > currentLevel)
{
tHtml += `<ul>`;
tHtml += `<li>${tText}</li>`;
}
else if(level < currentLevel)
{
tHtml += `<li>${tText}</li>`
for(let i = 0; i < currentLevel - level; i++)
{
tHtml += '</ul>'
}
}
currentLevel = level;
}
}
return tHtml
}