diff options
author | Adam Chlipala <adam@chlipala.net> | 2011-07-15 18:45:03 -0400 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2011-07-15 18:45:03 -0400 |
commit | 4593948fd27e6cdc4c24a0b008ce1beac4df2560 (patch) | |
tree | f0f8093663846ef035f862acf212d11002417a54 /src/tutorial.sml | |
parent | b36a8def513d0fdd96fce220cf1f14409853c7b5 (diff) |
Tutorial tweaks
Diffstat (limited to 'src/tutorial.sml')
-rw-r--r-- | src/tutorial.sml | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/src/tutorial.sml b/src/tutorial.sml index a2156adc..f6b9defb 100644 --- a/src/tutorial.sml +++ b/src/tutorial.sml @@ -54,10 +54,10 @@ fun fixupFile (fname, title) = in if Substring.isEmpty after then TextIO.outputSubstr (outf, source) - else if Substring.size after >= 8 andalso Substring.string (Substring.slice (after, 1, SOME 7)) = "amp;lt;" then + else if Substring.size after >= 4 andalso Substring.string (Substring.slice (after, 1, SOME 3)) = "lt;" then (TextIO.outputSubstr (outf, befor); TextIO.output (outf, "<"); - proseLoop (Substring.slice (after, 8, NONE))) + proseLoop (Substring.slice (after, 4, NONE))) else if Substring.size after >= 4 andalso Substring.string (Substring.slice (after, 1, SOME 3)) = "gt;" then (TextIO.outputSubstr (outf, befor); TextIO.output (outf, ">"); @@ -75,26 +75,7 @@ fun fixupFile (fname, title) = val (befor, after) = Substring.position "<span class=\"comment-delimiter\">(* </span><span class=\"comment\">" source in if Substring.isEmpty after then - let - val (befor, after) = Substring.position "<span class=\"comment-delimiter\">(** </span><span class=\"comment\">" source - in - if Substring.isEmpty after then - TextIO.outputSubstr (outf, source) - else - let - val (befor', after) = Substring.position " </span><span class=\"comment-delimiter\">*)</span>" - (Substring.slice (after, 65, NONE)) - in - if Substring.isEmpty after then - TextIO.outputSubstr (outf, source) - else - (TextIO.outputSubstr (outf, befor); - TextIO.output (outf, "<h2>"); - proseLoop befor'; - TextIO.output (outf, "</h2>"); - loop (Substring.slice (after, 49, NONE))) - end - end + TextIO.outputSubstr (outf, source) else let val (befor', after) = Substring.position " </span><span class=\"comment-delimiter\">*)</span>" @@ -104,9 +85,16 @@ fun fixupFile (fname, title) = TextIO.outputSubstr (outf, source) else (TextIO.outputSubstr (outf, befor); - TextIO.output (outf, "<div class=\"prose\">"); - proseLoop befor'; - TextIO.output (outf, "</div>"); + TextIO.output (outf, "</pre>"); + if Substring.size befor' >= 1 andalso Substring.sub (befor', 0) = #"*" then + (TextIO.output (outf, "<h2>"); + proseLoop (Substring.slice (befor', 2, NONE)); + TextIO.output (outf, "</h2>")) + else + (TextIO.output (outf, "<div class=\"prose\">"); + proseLoop befor'; + TextIO.output (outf, "</div>")); + TextIO.output (outf, "<pre>"); loop (Substring.slice (after, 49, NONE))) end end @@ -130,6 +118,14 @@ fun fixupFile (fname, title) = TextIO.output (outf, "\t\tbackground-color: #99FF99;\n"); TextIO.output (outf, "\t\tpadding: 5px;\n"); TextIO.output (outf, "\t}\n"); + TextIO.output (outf, "\ta:link {\n"); + TextIO.output (outf, "\t\ttext-decoration: underline;\n"); + TextIO.output (outf, "\t\tcolor: blue;\n"); + TextIO.output (outf, "\t}\n"); + TextIO.output (outf, "\ta:visited {\n"); + TextIO.output (outf, "\t\ttext-decoration: underline;\n"); + TextIO.output (outf, "\t\tcolor: red;\n"); + TextIO.output (outf, "\t}\n"); TextIO.output (outf, "-->\n"); TextIO.output (outf, "</style>\n"); TextIO.output (outf, "<title>"); @@ -287,13 +283,14 @@ fun doUr fname = ^ "/\\\") " ^ "(load \\\"urweb-mode-startup\\\") " ^ "(urweb-mode) " - ^ "(find-file \\\"/tmp/final.ur\\\") " + ^ "(find-file \\\"/tmp/final2.ur\\\") " ^ "(switch-to-buffer (htmlize-buffer)) " ^ "(write-file \\\"/tmp/final.html\\\") " ^ "(kill-emacs))\"" in eatNls befor; TextIO.closeOut outf; + ignore (OS.Process.system "sed -e 's/</</g;s/&/\\&/g' </tmp/final.ur >/tmp/final2.ur"); ignore (OS.Process.system cmd); fixupFile (fname, title) end |