qse/ase/rel/doc.awk

82 lines
1.0 KiB
Awk
Raw Normal View History

2007-02-03 15:03:05 +00:00
global header, mode;
2007-02-03 11:54:02 +00:00
BEGIN {
header = 1;
2007-02-03 15:03:05 +00:00
mode = 0;
2007-02-04 04:40:33 +00:00
output=ARGV[0];
gsub (/\.man/, ".html", output);
print "OUTPUT TO: " output;
print "</html>";
print "</head>";
2007-02-03 11:54:02 +00:00
}
header && /^\.[[:alpha:]]+[[:space:]]/ {
if ($1 == ".title")
{
2007-02-04 04:40:33 +00:00
print "<title>" $2 "</title>";
2007-02-03 11:54:02 +00:00
}
}
2007-02-04 04:40:33 +00:00
header && !/^\.[[:alpha:]]+[[:space:]]/ {
header = 0;
print "</head>";
print "<body>";
}
2007-02-03 11:54:02 +00:00
!header {
2007-02-03 15:03:05 +00:00
local text;
if (mode == 0)
2007-02-03 11:54:02 +00:00
{
2007-02-03 15:03:05 +00:00
if (/^== [^=]+ ==$/)
{
text=substr($0, 3, length($0)-4);
print "<h2>" text "</h2>";
}
else if (/^=== [^=]+ ===$/)
{
text=substr($0, 4, length($0)-6);
print "<h3>" text "</h3>";
}
else if (/^\{\{\{$/)
{
print "<pre>";
mode = 1;
}
else if (/^$/)
{
print "<br>";
}
2007-02-04 04:40:33 +00:00
else
{
gsub ("<", "\\&lt;");
gsub (">", "\\&gt;");
print $0;
print "<br>";
}
2007-02-03 11:54:02 +00:00
}
2007-02-03 15:03:05 +00:00
else if (mode == 1)
2007-02-03 11:54:02 +00:00
{
2007-02-03 15:03:05 +00:00
if (/^}}}$/)
{
print "</pre>";
mode = 0;
}
else
{
gsub ("<", "\\&lt;");
gsub (">", "\\&gt;");
print $0;
}
2007-02-03 11:54:02 +00:00
}
}
2007-02-04 04:40:33 +00:00
END {
print "</body>";
print "</html>";
}