Convert text-format RFCs and Internet-Drafts to html
Project description
Htmlizing IETF Text Documents
This module contains one single function, `markup(text)` which adds HTML markup to what is assumed to be an IETF document (usually an Internet-Draft or an RFC):
from rfc2html import markup with open('rfc3344.txt') as file: text = file.read() html = markup(text)
As a historic artifact of being a document series which was started at the time when the easiest way of distributing a ‘Request For Comments’ was to type it up on a typewriter and mimeographing it, RFCs and Internet-Drafts have traditionally been published as plaintext documents with a maximum line length of 72 characters.
This format isn’t particularly appropriate in a web-centric world, howerver, so starting in 2002, Henrik Levkowetz started using scripts to convert the plaintext documents into HTML documents with the same look-and-feel as the plaintext originals, but with internal and external HTML links in order to facilitate browsing.
Since 2004, the resulting documents have been made available on tools.ietf.org.
This module is a packaging of the htmlization code from version 1.113 of the htmlizing script. Earlier version of the script are available at tools.ietf.org/tools/rfcmarkup
Changelog
Version 2.0.1 (25 Jun 2019)
Changed tabs to spaces for python 3.
Now importing escape() from html instead of cgi if possible.
Added a name= keyword argument to markup(), in order to be able to do special handling dependent on the draft or RFC name.
Added special case handling for draft-ietf-dnsop-interim-signed-root-01.
Corrected the copyright in setup.py; fixed some pyflakes issues, and added sys reload with defaultencoding UTF-8 under py27.
Added a tox.ini file for test runs across py27 and 3.4-3.6, and a trivial tests.py placeholder.
Added control character stripping.
Added code to identify not only the start but also the end of reference section(s).
Version 1.121 (13 Jul 2016)
Added handling for ‘Section x of RFC y’, with an intervening line break after ‘Section’, and similar cases.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.