diff --git a/exec/typehtml.js b/exec/typehtml.js index dda7c6e47e7df1830a873611fa71f64825f9a4cd..614763d3d89c8598de995c3e59de7625e164f820 100644 --- a/exec/typehtml.js +++ b/exec/typehtml.js @@ -17,9 +17,10 @@ var BOLD ="\1H\1C\x014" var ITALIC ="\1H\1G\x012" var UNDERLINE ="\1H\1W\x016" var STRIKE_THROUGH ="\1N\1K\x017" -var LIST_ITEM ="\r\n \1H\1Wo \1G" +var LIST_ITEM ="\1N\r\n \1H\1Wo \1G" var f; +var mono=false; for(i in argv) { switch(argv[i].toLowerCase()) { @@ -82,45 +83,31 @@ buf=buf.replace(/<br>/gi,"\r\n"); // Replace <br> with \r\n buf=buf.replace(/<p>/gi,"\r\n"); // Replace <p> with \r\n buf=buf.replace(/<tr[^<]*>/gi,"\r\n"); // Replace <tr> with \r\n buf=buf.replace(/<\/p>/gi,"\r\n"); // Replace </p> with \r\n -buf=buf.replace(/<\/ul>/gi,"\r\n"); // Replace </ul> with \r\n -buf=buf.replace(/<\/ol>/gi,"\r\n"); // Replace </ul> with \r\n -buf=buf.replace(/<\/caption>/gi,"\r\n"); // Replace </caption> with \r\n -buf=buf.replace(/<\/table>/gi,"\r\n"); // Replace </table> with \r\n +buf=buf.replace(/<\/ul>/gi,"\r\n\r\n"); // Replace </ul> +buf=buf.replace(/<\/ol>/gi,"\r\n"); // Replace </ol> +buf=buf.replace(/<\/caption>/gi,"\r\n"); // Replace </caption> +buf=buf.replace(/<\/table>/gi,"\r\n"); // Replace </table> buf=buf.replace(/<td[^<]*>/gi," "); buf=buf.replace(/<th[^<]*>/gi," "); -if(1) { // Text attributes -buf=buf.replace(/<b>/gi,BOLD); -buf=buf.replace(/<\/b>/gi,NORMAL); - -buf=buf.replace(/<i>/gi,ITALIC); -buf=buf.replace(/<\/i>/gi,NORMAL); - -buf=buf.replace(/<u>/gi,UNDERLINE); -buf=buf.replace(/<\/u>/gi,NORMAL); - -buf=buf.replace(/<s>/gi,STRIKE_THROUGH); -buf=buf.replace(/<\/s>/gi,NORMAL); - -buf=buf.replace(/<h1>/gi,"\r\n" + HEADING1); -buf=buf.replace(/<\/h1>/gi,NORMAL + "\r\n"); -buf=buf.replace(/<h2>/gi,"\r\n" + HEADING2); -buf=buf.replace(/<\/h2>/gi,NORMAL + "\r\n"); -buf=buf.replace(/<h3>/gi,"\r\n" + HEADING3); -buf=buf.replace(/<\/h3>/gi,NORMAL + "\r\n"); -buf=buf.replace(/<h4>/gi,"\r\n" + HEADING4); -buf=buf.replace(/<\/h4>/gi,NORMAL + "\r\n"); -buf=buf.replace(/<h5>/gi,"\r\n" + HEADING5); -buf=buf.replace(/<\/h5>/gi,NORMAL + "\r\n"); -buf=buf.replace(/<h6>/gi,"\r\n" + HEADING6); -buf=buf.replace(/<\/h6>/gi,NORMAL + "\r\n"); -} +buf=buf.replace(/<b>([^<]*)<\/b>/gi,BOLD + "$1" + NORMAL); +buf=buf.replace(/<i>([^<]*)<\/i>/gi,ITALIC + "$1" + NORMAL); +buf=buf.replace(/<u>([^<]*)<\/u>/gi,UNDERLINE + "$1" + NORMAL); +buf=buf.replace(/<s>([^<]*)<\/s>/gi,STRIKE_THROUGH + "$1" + NORMAL); + +// Headings +buf=buf.replace(/<h1>([^<]*)<\/h1>/gi,"\r\n" + HEADING1 + "*** $1 ***" + NORMAL + "\r\n\r\n"); +buf=buf.replace(/<h2>([^<]*)<\/h2>/gi,"\r\n" + HEADING2 + "%%% $1 %%%" + NORMAL + "\r\n"); +buf=buf.replace(/<h3>([^<]*)<\/h3>/gi,"\r\n" + HEADING3 + "--- $1 ---" + NORMAL + "\r\n"); +buf=buf.replace(/<h4>([^<]*)<\/h4>/gi,"\r\n" + HEADING4 + "-=< $1 >=-" + NORMAL + "\r\n"); +buf=buf.replace(/<h5>([^<]*)<\/h5>/gi,"\r\n" + HEADING5 + "... $1 ..." + NORMAL + "\r\n"); +buf=buf.replace(/<h6>([^<]*)<\/h6>/gi,"\r\n" + HEADING6 + "___ $1 ___" + NORMAL + "\r\n"); + // Lists buf=buf.replace(/<li[^<]*>/gi,LIST_ITEM); - // Strip unsupported tags buf=buf.replace(/<[^<]*>/g,""); @@ -129,4 +116,6 @@ buf=html_decode(buf); buf=word_wrap(buf); -print(buf); +buf+="\r\n"; + +write(buf);