blank.gif (43 bytes)

Church Of The
Swimming Elephant

RFC Fixup Procedure Connected: An Internet Encyclopedia
RFC Fixup Procedure

Up: Connected: An Internet Encyclopedia
Up: Project Documentation
Prev: Web Server Flowchart
Next: Search Engine Design

RFC Fixup Procedure

RFC Fixup Procedure

  1. Make a new directory under RFC - its name is the number of the RFC. Copy the RFC text file into that directory

  2. Compare RFC page header to RegEx in ELISP function remove-page-breaks (in fixup-rfc.el), and correct the RegEx if needed to match RFC page breaks. Be sure to re-eval remove-page-breaks with ESC C-x.

  3. Note: Don't save any changes you make to the RFC, since we want to keep the original text file around. If you do save changes, use C-x C-w to save as "rfc1155.html" (or some such)

  4. Delete the table of contents (we'll generate our own later)

  5. ESC x fixup-rfc in the RFC buffer. Remember that this operation can be undone with a single C-_ if things go too wrong.

  6. Search through the file for <H3>. Each one is a header line, and will trigger the creation of a separate HTML file. I like to use "less" in another xterm to compare the <H3> lines to the original table of contents. Make sure all the section headers are tagged <H3>, and no other lines (like numbered lists) were accidently labeled <H3>. The C-x C-h keycode is bound to a function that turns normal lines into headers. For some very small, insignificant sections, I change the <H3> </H3> pair to a <H4> </H4>, which stops the ELISP code from breaking the micro-section out into a separate file. It also screws up the ToC (the micro-section is not listed), so you'll have to go back and fix it up later.

  7. Go back through the file, line by line (or at least screen page by screen page). Look for things that are "wrong", like PRE blocks that can be converted into numbered, unnumbered, or definition lists. It's best to fix them here, rather than wait until later.

    Be careful to put <P> tags on blank lines within former PRE blocks. Also, the C-x C-d keycode is useful for building definition lists (it turns the current line into a header tag).

  8. ESC x write-html-files in the RFC buffer. This splits the RFC up into multiple HTML files on the header boundaries, writes them out, and builds a ToC in index.html

  9. Switch to index.html, kill the entire ToC, insert file 0.html (everything before the first section header - almost certainly stuff you want in index.html), then yank the ToC back at an "appropriate" place

  10. Still in index.html, fix up the various author and title areas, kill the last "Up:" that points to RFC 000, convert all three instances of "RFC 000 - " to "RFC 000". Save this file, enter the RFC in the "master list" one directory up, load it up in Netscape and make sure the ToC looks right

  11. Assuming everything looks fine, exit emacs (without saving the RFC text file), and run something like this:

        sededit 's/RFC 000/RFC 1155/g' *.html

  12. Edit 1.html and delete the "Prev:" reference to 0.html. Then delete 0.html.

  13. Use Netscape to browse through the RFC, checking to make sure it "looks right", and fixing it up where it doesn't

Next: Search Engine Design

Connected: An Internet Encyclopedia
RFC Fixup Procedure


Protect yourself from cyberstalkers, identity thieves, and those who would snoop on you.
Stop spam from invading your inbox without losing the mail you want. We give you more control over your e-mail than any other service.
Block popups, ads, and malicious scripts while you surf the net through our anonymous proxies.
Participate in Usenet, host your web files, easily send anonymous messages, and more, much more.
All private, all encrypted, all secure, all in an easy to use service, and all for only $5.95 a month!

Service Details

Have you gone to church today?
All pages ©1999, 2000, 2001, 2002, 2003 Church of the Swimming Elephant unless otherwise stated
Church of the Swimming Elephant©1999, 2000, 2001, 2002, 2003 is a wholly owned subsidiary of Packetderm, LLC.

Packetderm, LLC
210 Park Ave #308
Worcester, MA 01609