list = substr( block, 1, RLENGTH); block = substr( block, RLENGTH + 1);
return "\n<dl>\n" _dlist( list ) "</dl>\n" _block( block );
- # Unordered list
- } else if ( text = _startlist( block, "ul", "[-+*]", "([0-9]+\\.|#\\.)") ) {
+ # Unordered list types
+ } else if ( text = _startlist( block, "ul", "-", "([+*]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) {
+ return text;
+ } else if ( text = _startlist( block, "ul", "\\+", "([-*]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) {
+ return text;
+ } else if ( text = _startlist( block, "ul", "\\*", "([-+]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) {
return text;
- # Ordered list
- } else if ( text = _startlist( block, "ol", "([0-9]+\\.|#\\.)", "[-+*]") ) {
+ # Ordered list types
+ } else if ( text = _startlist( block, "ol", "[0-9]+\\.", "([-+*]|#\\.|[0-9]+\\)|#\\))") ) {
+ return text;
+ } else if ( text = _startlist( block, "ol", "[0-9]+\\)", "([-+*]|[0-9]+\\.|#\\.|#\\))") ) {
+ return text;
+ } else if ( text = _startlist( block, "ol", "#\\.", "([-+*]|[0-9]+\\.|[0-9]+\\)|#\\))") ) {
+ return text;
+ } else if ( text = _startlist( block, "ol", "#\\)", "([-+*]|[0-9]+\\.|#\\.|[0-9]+\\))") ) {
return text;
# Split paragraphs
st = RSTART; len = RLENGTH; list = substr( block, RSTART, RLENGTH);
sub("^\n", "", list); match(list, "^ ? ? ?"); indent = RLENGTH;
- gsub( "(^|\n) {0," indent - 1 "}", "\n", list); sub("^\n", "", list);
+ gsub( "(^|\n) {0," indent "}", "\n", list); sub("^\n", "", list);
text = substr(block, 1, st - 1); block = substr(block, st + len);
if (match( list, "\n" exclude "[ \t]" )) {