| | @@ -29,10 +29,11 @@ |
| 29 | 29 | #define WIKI_INLINE 0x002 /* Do not surround with <p>..</p> */ |
| 30 | 30 | #define WIKI_NOBLOCK 0x004 /* No block markup of any kind */ |
| 31 | 31 | #define WIKI_BUTTONS 0x008 /* Allow sub-menu buttons */ |
| 32 | 32 | #define WIKI_NOBADLINKS 0x010 /* Ignore broken hyperlinks */ |
| 33 | 33 | #define WIKI_LINKSONLY 0x020 /* No markup. Only decorate links */ |
| 34 | +#define WIKI_NEWLINE 0x040 /* Honor \n - break lines at each \n */ |
| 34 | 35 | #endif |
| 35 | 36 | |
| 36 | 37 | |
| 37 | 38 | /* |
| 38 | 39 | ** These are the only markup attributes allowed. |
| | @@ -681,11 +682,11 @@ |
| 681 | 682 | if( z[0]=='\n' ){ |
| 682 | 683 | n = paragraphBreakLength(z); |
| 683 | 684 | if( n>0 ){ |
| 684 | 685 | *pTokenType = TOKEN_PARAGRAPH; |
| 685 | 686 | return n; |
| 686 | | - }else if( fossil_isspace(z[1]) ){ |
| 687 | + }else{ |
| 687 | 688 | *pTokenType = TOKEN_NEWLINE; |
| 688 | 689 | return 1; |
| 689 | 690 | } |
| 690 | 691 | } |
| 691 | 692 | if( (p->state & AT_NEWLINE)!=0 && fossil_isspace(z[0]) ){ |
| | @@ -1379,11 +1380,15 @@ |
| 1379 | 1380 | } |
| 1380 | 1381 | p->state |= AT_PARAGRAPH|AT_NEWLINE; |
| 1381 | 1382 | break; |
| 1382 | 1383 | } |
| 1383 | 1384 | case TOKEN_NEWLINE: { |
| 1384 | | - blob_append(p->pOut, "\n", 1); |
| 1385 | + if( p->renderFlags & WIKI_NEWLINE ){ |
| 1386 | + blob_append(p->pOut, "<br>\n", 5); |
| 1387 | + }else{ |
| 1388 | + blob_append(p->pOut, "\n", 1); |
| 1389 | + } |
| 1385 | 1390 | p->state |= AT_NEWLINE; |
| 1386 | 1391 | break; |
| 1387 | 1392 | } |
| 1388 | 1393 | case TOKEN_BUL_LI: { |
| 1389 | 1394 | if( inlineOnly ){ |
| 1390 | 1395 | |