fix <a> and <hn> order in section links
[c-standard] / ann2html.sh
index 6b27ecd..ad4413d 100755 (executable)
@@ -14,6 +14,12 @@ BEGIN {
        gsub(/>/, "\\&gt;")
 }
 
+!title && /^[^@]/ {
+       title = $0
+       gsub(/  +/, "  ", title)
+       gsub(/Committee Draft --/, "", title)
+}
+
 /^@sect Contents/ {
        ss[sid] = ss[sid] "</pre>\n"
        seencontents = 1
@@ -73,7 +79,6 @@ seencontents && !seenfore && /^[^@]/ {
        sid++
        getline
        ss[sid] = ss[sid] "<h1>" $0 "</h1>\n"
-       title = $0
        if (!seencontents) {
                ss[sid] = ss[sid] "<pre>\n"
        }
@@ -88,7 +93,7 @@ seencontents && !seenfore && /^[^@]/ {
        sect = $2
        getline
        # todo hX, back to top
-       ss[sid] = sprintf("<a name=\"%s\" href=\"#%s\"><h%s>%s</h%s></a>\n", sect, sect, slevel, $0, slevel)
+       ss[sid] = sprintf("<h%s><a name=\"%s\" href=\"#%s\">%s</a></h%s>\n", slevel, sect, sect, $0, slevel)
        if ($0 == "Index")
                ss[sid] = ss[sid] "<pre>\n"
        next
@@ -143,13 +148,12 @@ seencontents && !seenfore && /^[^@]/ {
        nn = 0
        p = $2
        getline
-       i = $2
-       ss[sid] = ss[sid] "<!--page " p " indent " i "-->\n"
+       ss[sid] = ss[sid] "<!--page " p " -->\n"
        next
 }
 
 /^@para/ {
-       ss[sid] = ss[sid] "<p><!--para " $2 "-->\n"
+       ss[sid] = ss[sid] "<p><!--para " $2 " -->\n"
        next
 }
 
@@ -225,7 +229,7 @@ seencontents && !seenfore && /^[^@]/ {
 END {
        ss[sid] = ss[sid] "</pre>"
 
-       print "<html><head><title>C</title></head><body>"
+       print "<html><head><title>" title "</title></head><body>"
 
        for (i = 1; i <= sid; i++) {
                print ss[i]