summaryrefslogtreecommitdiff
path: root/docs/src/mkpre.py
blob: fe4551dea0340c76268e67a31d60ee674390032e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/python
"""mkpre.py: Convert ASCII art into something that groff can render to
text, HTML, or postscript/pdf

Copyright (C) 2006 Jeff EpleR
License: GPL V2
"""

def substall(s, r):
    for a, b in r: s = s.replace(a, b)
    return s

def mkpre(s):
    msubst = [('\\', '\\\\'), (' ', '\\ ')]
    hsubst = [('&', '&amp;'), ('<', '&lt;'), ('>', '&gt;'),
		('  ', ' &nbsp;'), ('\n', '<BR>'), ('\\', '&#92;')]

    h = "".join(s)
    print ".ie '\\*[.T]'html' .HTML <PRE>%s</PRE>" % substall(h, hsubst)
    print ".el \\{\\"
    print ".ft CR"
    for i, line in enumerate(s):
	if i != 0:
	    print r".PP"
	print substall(line.strip("\n"), msubst)
    print ".ft R"
    print r"\}"

import sys
mkpre(list(sys.stdin))