📄 rewrite.pl
字号:
#!/usr/bin/perl## Read in the references, and put into an associative array#open FILE, "<refs" || die "Error opening refs: $!\n";while (<FILE>) { chop; split; $refs{$_[1]} = $_[0];}close FILE;## now loop over the input RFC's.#foreach $file (@ARGV) { open FILE, "<$file" || die "Error opening $file: $!\n"; $attribute = "zzzzz"; # get the current reference $ref = $file; $ref =~ s/\..*//g; open OUTPUT, ">$ref.html" || die "Error creating $ref.html: $!\n"; # # Print out the HTML header # print OUTPUT <<EOF;<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><HTML><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Perl"> <title>$ref.html</title></head><body><PRE>EOF # loop over the input file while (<FILE>) { # html-ize it s/&/&/g; s/</</g; s/>/>/g; if (/\[Page/) { print OUTPUT; next; } if (/^RFC \d+/) { print OUTPUT; next; } chop; # # Attribute name header. # if (/^\d+\./) { split; if ($refs{$_[1]} ne "") { $attribute = $_[1]; print OUTPUT "<A NAME=\"$attribute\"><H2>$_[0] $attribute</H2></a>\n"; } else { print OUTPUT "<H2>$_</H2>\n"; $attribute = "zzzz"; } next; } # # Mark these up special. # if ((/^ Description/) || (/^ Type/) || (/^ Length/) || (/^ Value/)) { print OUTPUT "<B>$_</B>\n"; next; } # Make the current attribute name bold s/$attribute/<B>$attribute<\/B>/g; split; # # Re-write the output with links to where-ever # foreach $word (@_) { $word =~ s/[^-a-zA-Z]//g; if ($refs{$word} ne "") { if ($refs{$word} eq $ref) { s/$word/<A HREF="#$word">$word<\/A>/g; } else { s/$word/<A HREF="$refs{$word}.html#$word">$word<\/A>/g; } } } print OUTPUT $_, "\n"; } print OUTPUT "</PRE>\n"; print OUTPUT "</BODY>\n"; close OUTPUT; close FILE;}## And finally, create the index.#open OUTPUT, ">index.html" || die "Error creating index.html: $!\n";## Print out the HTML header#print OUTPUT <<EOF;<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><HTML><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Perl"> <title>$ref.html</title></head><body><H2>RADIUS Attribute List</H2>EOF$letter = "@";foreach $key (sort keys %refs) { if (substr($key,0,1) ne $letter) { $letter = substr($key,0,1); print OUTPUT "\n<H3>$letter</H3>\n\n"; } print OUTPUT "<A HREF=\"$refs{$key}.html#$key\">$key</A><BR>\n";}print OUTPUT "</BODY>\n";close OUTPUT;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -