using stack to remember closing ul tags

master
Matt Huntington 10 years ago
parent 650916b603
commit f4ae96093c

@ -9,22 +9,33 @@ var insertTabs = function(num_tabs) {
return result;
}
var emptyTabStack = function(tabStack){
var result = '';
while(tabStack.length > 0){
result += tabStack.pop();
}
return result;
}
var parseFile = function(data, callback){
var previous_line = -1;
var lines = data.split('\n');
var html = '';
var tabStack = [];
lines.forEach(function(value, index){
if(value !== ''){
var split_value = value.split('\t');
var num_tabs = split_value.length - 1;
if(num_tabs > previous_line){
html += '\n' + insertTabs(num_tabs) +'<li><ul>';
tabStack.push('\n' + insertTabs(num_tabs) + '</ul></li>');
}
html += '\n' + insertTabs(num_tabs+1) +
'<li>' + split_value[split_value.length-1] + '</li>';
previous_line = num_tabs;
}
});
html += emptyTabStack(tabStack);
callback(html);
}

Loading…
Cancel
Save