Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
29901ff5
Commit
29901ff5
authored
Aug 09, 1996
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some improvements by Fred Drake.
parent
eb8d5032
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
174 additions
and
180 deletions
+174
-180
Doc/texi2html.py
Doc/texi2html.py
+58
-60
Doc/tools/texi2html.py
Doc/tools/texi2html.py
+58
-60
Tools/scripts/texi2html.py
Tools/scripts/texi2html.py
+58
-60
No files found.
Doc/texi2html.py
View file @
29901ff5
...
...
@@ -74,8 +74,7 @@ class Node:
self
.
cont
=
''
def
write
(
self
,
*
lines
):
for
line
in
lines
:
self
.
lines
.
append
(
line
)
map
(
self
.
lines
.
append
,
lines
)
def
flush
(
self
):
fp
=
open
(
self
.
dirname
+
'/'
+
makefile
(
self
.
name
),
'w'
)
...
...
@@ -99,7 +98,7 @@ class Node:
length
=
len
(
self
.
lines
)
self
.
text
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
lines
=
[]
self
.
write
(
'<
BR> <
HR>
\
n
'
)
self
.
write
(
'<HR>
\
n
'
)
if
self
.
cont
!=
self
.
next
:
self
.
link
(
'Cont'
,
self
.
cont
)
self
.
link
(
'Next'
,
self
.
next
)
...
...
@@ -107,20 +106,19 @@ class Node:
self
.
link
(
'Up'
,
self
.
up
)
if
self
.
name
<>
self
.
topname
:
self
.
link
(
'Top'
,
self
.
topname
)
self
.
write
(
'<
BR> <HR> <P
>
\
n
'
)
links
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
write
(
'<
HR
>
\
n
'
)
links
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
lines
=
[]
self
.
prologue
=
\
'<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
\
n
'
+
\
'<!- Converted with texi2html and Python>
\
n
'
+
\
'<P>
\
n
<HEAD>
\
n
'
+
\
'<TITLE>'
+
self
.
title
+
'</TITLE>
\
n
'
+
\
'</HEAD>
\
n
<BODY>
\
n
<P>
\
n
'
+
\
links
self
.
prologue
=
(
'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
\
n
'
'<!-- Converted with texi2html and Python -->
\
n
'
'<HEAD>
\
n
'
' <TITLE>'
+
self
.
title
+
'</TITLE>
\
n
'
'</HEAD><BODY>
\
n
'
+
\
links
)
if
length
>
20
:
self
.
epilogue
=
links
+
'</BODY>
\
n
'
self
.
epilogue
=
'<P>
\
n
%s</BODY>
\
n
'
%
links
else
:
self
.
epilogue
=
'</BODY>
\
n
'
...
...
@@ -311,10 +309,10 @@ class TexinfoParser:
if
nodename
[
0
]
==
':'
:
nodename
=
label
else
:
nodename
=
line
[
e
:
f
]
punct
=
line
[
g
:
h
]
self
.
write
(
'<
DT><A HREF="'
,
\
makefile
(
nodename
),
\
'" TYPE=Menu>'
,
nodename
,
\
'</A>'
,
punct
,
'
\
n
<DD>
'
)
self
.
write
(
'<
LI><A HREF="'
,
makefile
(
nodename
),
'">'
,
nodename
,
'</A>'
,
punct
,
'
\
n
'
)
self
.
expand
(
line
[
end
:])
else
:
text
=
string
.
joinfields
(
accu
,
''
)
...
...
@@ -577,8 +575,8 @@ class TexinfoParser:
def
open_dfn
(
self
):
self
.
write
(
'<DFN>'
)
def
close_dfn
(
self
):
self
.
write
(
'</DFN>'
)
def
open_emph
(
self
):
self
.
write
(
'<
I
>'
)
def
close_emph
(
self
):
self
.
write
(
'</
I
>'
)
def
open_emph
(
self
):
self
.
write
(
'<
EM
>'
)
def
close_emph
(
self
):
self
.
write
(
'</
EM
>'
)
open_i
=
open_emph
close_i
=
close_emph
...
...
@@ -599,15 +597,16 @@ class TexinfoParser:
# self.savetext = None
def
writefootnotes
(
self
):
self
.
write
(
'<H2>---------- Footnotes ----------</H2>
\
n
'
)
self
.
write
(
'
\
n
<HR NOSHADE SIZE=1 WIDTH=200>
\
n
'
'<STRONG><EM>Footnotes</EM></STRONG>
\
n
<P>'
)
for
id
,
text
in
self
.
footnotes
:
self
.
write
(
'<A NAME="footnotetext'
,
id
,
\
'" HREF="#footnoteref'
,
id
,
'">('
,
\
id
,
')</A>
\
n
'
,
text
,
'<P>
\
n
'
)
self
.
footnotes
=
[]
def
open_file
(
self
):
self
.
write
(
'<
FIL
E>'
)
def
close_file
(
self
):
self
.
write
(
'</
FIL
E>'
)
def
open_file
(
self
):
self
.
write
(
'<
COD
E>'
)
def
close_file
(
self
):
self
.
write
(
'</
COD
E>'
)
def
open_kbd
(
self
):
self
.
write
(
'<KBD>'
)
def
close_kbd
(
self
):
self
.
write
(
'</KBD>'
)
...
...
@@ -836,18 +835,6 @@ class TexinfoParser:
if
not
self
.
topname
:
self
.
topname
=
name
title
=
name
if
self
.
title
:
title
=
title
+
' -- '
+
self
.
title
# No idea what this means, but this is what latex2html writes
# self.write('<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">\n')
# self.write('<!- Converted with texi2html and Python>\n')
# self.write ('<P>\n<HEAD>\n')
# self.write('<TITLE>', title, '</TITLE>\n')
# self.write ('</HEAD>\n<BODY>\n<P>\n<BR> <HR>\n')
# self.link('Next', next)
# self.link('Prev', prev)
# self.link('Up', up)
# if self.nodename <> self.topname:
# self.link('Top', self.topname)
# self.write ('<BR> <HR> <P>\n')
self
.
node
=
Node
(
self
.
dirname
,
self
.
nodename
,
self
.
topname
,
\
title
,
next
,
prev
,
up
)
...
...
@@ -965,14 +952,26 @@ class TexinfoParser:
do_summarycontents
=
do_shortcontents
def
listcontents
(
self
,
title
,
maxlevel
):
self
.
write
(
'<H1>'
,
title
,
'</H1>
\
n
<UL COMPACT>
\
n
'
)
self
.
write
(
'<H1>'
,
title
,
'</H1>
\
n
<UL COMPACT PLAIN>
\
n
'
)
prevlevels
=
[
0
]
for
level
,
title
,
node
in
self
.
contents
:
if
level
<=
maxlevel
:
self
.
write
(
'<LI>'
,
'. '
*
level
,
'<A HREF="'
,
\
makefile
(
node
),
'">'
)
self
.
expand
(
title
)
self
.
write
(
'</A> '
,
node
,
'
\
n
'
)
self
.
write
(
'</UL>
\
n
'
)
if
level
>
maxlevel
:
continue
if
level
>
prevlevels
[
-
1
]:
# can only advance one level at a time
self
.
write
(
' '
*
prevlevels
[
-
1
],
'<UL PLAIN>
\
n
'
)
prevlevels
.
append
(
level
)
elif
level
<
prevlevels
[
-
1
]:
# might drop back multiple levels
while
level
<
prevlevels
[
-
1
]:
del
prevlevels
[
-
1
]
self
.
write
(
' '
*
prevlevels
[
-
1
],
'</UL>
\
n
'
)
self
.
write
(
' '
*
level
,
'<LI> <A HREF="'
,
makefile
(
node
),
'">'
)
self
.
expand
(
title
)
self
.
write
(
'</A>
\
n
'
)
self
.
write
(
'</UL>
\
n
'
*
len
(
prevlevels
))
# --- Page lay-out ---
...
...
@@ -1229,14 +1228,14 @@ class TexinfoParser:
# --- Enumerations, displays, quotations ---
# XXX Most of these should increase the indentation somehow
def
bgn_quotation
(
self
,
args
):
self
.
write
(
'<
P
>'
)
def
end_quotation
(
self
):
self
.
write
(
'<
P
>
\
n
'
)
def
bgn_quotation
(
self
,
args
):
self
.
write
(
'<
BLOCKQUOTE
>'
)
def
end_quotation
(
self
):
self
.
write
(
'<
/BLOCKQUOTE
>
\
n
'
)
def
bgn_example
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE>
<CODE>
'
)
self
.
write
(
'<PRE>'
)
def
end_example
(
self
):
self
.
write
(
'</
CODE></
PRE>'
)
self
.
write
(
'</PRE>'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_lisp
=
bgn_example
# Synonym when contents are executable lisp code
...
...
@@ -1248,19 +1247,11 @@ class TexinfoParser:
bgn_smalllisp
=
bgn_lisp
# Ditto
end_smalllisp
=
end_lisp
def
bgn_display
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE>
\
n
'
)
def
end_display
(
self
):
self
.
write
(
'</PRE>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_display
=
bgn_example
end_display
=
end_example
def
bgn_format
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE><CODE>
\
n
'
)
def
end_format
(
self
):
self
.
write
(
'</CODE></PRE>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_format
=
bgn_display
end_format
=
end_display
def
do_exdent
(
self
,
args
):
self
.
expand
(
args
+
'
\
n
'
)
# XXX Should really mess with indentation
...
...
@@ -1279,8 +1270,10 @@ class TexinfoParser:
self
.
write
(
'</ADDRESS>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
def
bgn_menu
(
self
,
args
):
self
.
write
(
'<H2>Menu</H2><DL COMPACT>
\
n
'
)
def
end_menu
(
self
):
self
.
write
(
'</DL>
\
n
'
)
def
bgn_menu
(
self
,
args
):
self
.
write
(
'<DIR>
\
n
'
)
self
.
write
(
' <STRONG><EM>Menu</EM></STRONG><P>
\
n
'
)
def
end_menu
(
self
):
self
.
write
(
'</DIR>
\
n
'
)
def
bgn_cartouche
(
self
,
args
):
pass
def
end_cartouche
(
self
):
pass
...
...
@@ -1364,13 +1357,18 @@ class TexinfoParser:
del
index
[:]
index1
.
sort
()
self
.
write
(
'<DL COMPACT>
\
n
'
)
prevkey
=
prevnode
=
None
for
sortkey
,
key
,
node
in
index1
:
if
(
key
,
node
)
==
(
prevkey
,
prevnode
):
continue
if
self
.
debugging
>
1
:
print
key
,
':'
,
node
self
.
write
(
'<DT>'
)
if
iscodeindex
:
key
=
'@code{'
+
key
+
'}'
self
.
expand
(
key
)
if
key
!=
prevkey
:
self
.
expand
(
key
)
self
.
write
(
'<DD><A HREF="'
,
makefile
(
node
),
\
'">'
,
node
,
'</A>
\
n
'
)
prevkey
,
prevnode
=
key
,
node
self
.
write
(
'</DL>
\
n
'
)
# --- Final error reports ---
...
...
Doc/tools/texi2html.py
View file @
29901ff5
...
...
@@ -74,8 +74,7 @@ class Node:
self
.
cont
=
''
def
write
(
self
,
*
lines
):
for
line
in
lines
:
self
.
lines
.
append
(
line
)
map
(
self
.
lines
.
append
,
lines
)
def
flush
(
self
):
fp
=
open
(
self
.
dirname
+
'/'
+
makefile
(
self
.
name
),
'w'
)
...
...
@@ -99,7 +98,7 @@ class Node:
length
=
len
(
self
.
lines
)
self
.
text
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
lines
=
[]
self
.
write
(
'<
BR> <
HR>
\
n
'
)
self
.
write
(
'<HR>
\
n
'
)
if
self
.
cont
!=
self
.
next
:
self
.
link
(
'Cont'
,
self
.
cont
)
self
.
link
(
'Next'
,
self
.
next
)
...
...
@@ -107,20 +106,19 @@ class Node:
self
.
link
(
'Up'
,
self
.
up
)
if
self
.
name
<>
self
.
topname
:
self
.
link
(
'Top'
,
self
.
topname
)
self
.
write
(
'<
BR> <HR> <P
>
\
n
'
)
links
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
write
(
'<
HR
>
\
n
'
)
links
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
lines
=
[]
self
.
prologue
=
\
'<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
\
n
'
+
\
'<!- Converted with texi2html and Python>
\
n
'
+
\
'<P>
\
n
<HEAD>
\
n
'
+
\
'<TITLE>'
+
self
.
title
+
'</TITLE>
\
n
'
+
\
'</HEAD>
\
n
<BODY>
\
n
<P>
\
n
'
+
\
links
self
.
prologue
=
(
'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
\
n
'
'<!-- Converted with texi2html and Python -->
\
n
'
'<HEAD>
\
n
'
' <TITLE>'
+
self
.
title
+
'</TITLE>
\
n
'
'</HEAD><BODY>
\
n
'
+
\
links
)
if
length
>
20
:
self
.
epilogue
=
links
+
'</BODY>
\
n
'
self
.
epilogue
=
'<P>
\
n
%s</BODY>
\
n
'
%
links
else
:
self
.
epilogue
=
'</BODY>
\
n
'
...
...
@@ -311,10 +309,10 @@ class TexinfoParser:
if
nodename
[
0
]
==
':'
:
nodename
=
label
else
:
nodename
=
line
[
e
:
f
]
punct
=
line
[
g
:
h
]
self
.
write
(
'<
DT><A HREF="'
,
\
makefile
(
nodename
),
\
'" TYPE=Menu>'
,
nodename
,
\
'</A>'
,
punct
,
'
\
n
<DD>
'
)
self
.
write
(
'<
LI><A HREF="'
,
makefile
(
nodename
),
'">'
,
nodename
,
'</A>'
,
punct
,
'
\
n
'
)
self
.
expand
(
line
[
end
:])
else
:
text
=
string
.
joinfields
(
accu
,
''
)
...
...
@@ -577,8 +575,8 @@ class TexinfoParser:
def
open_dfn
(
self
):
self
.
write
(
'<DFN>'
)
def
close_dfn
(
self
):
self
.
write
(
'</DFN>'
)
def
open_emph
(
self
):
self
.
write
(
'<
I
>'
)
def
close_emph
(
self
):
self
.
write
(
'</
I
>'
)
def
open_emph
(
self
):
self
.
write
(
'<
EM
>'
)
def
close_emph
(
self
):
self
.
write
(
'</
EM
>'
)
open_i
=
open_emph
close_i
=
close_emph
...
...
@@ -599,15 +597,16 @@ class TexinfoParser:
# self.savetext = None
def
writefootnotes
(
self
):
self
.
write
(
'<H2>---------- Footnotes ----------</H2>
\
n
'
)
self
.
write
(
'
\
n
<HR NOSHADE SIZE=1 WIDTH=200>
\
n
'
'<STRONG><EM>Footnotes</EM></STRONG>
\
n
<P>'
)
for
id
,
text
in
self
.
footnotes
:
self
.
write
(
'<A NAME="footnotetext'
,
id
,
\
'" HREF="#footnoteref'
,
id
,
'">('
,
\
id
,
')</A>
\
n
'
,
text
,
'<P>
\
n
'
)
self
.
footnotes
=
[]
def
open_file
(
self
):
self
.
write
(
'<
FIL
E>'
)
def
close_file
(
self
):
self
.
write
(
'</
FIL
E>'
)
def
open_file
(
self
):
self
.
write
(
'<
COD
E>'
)
def
close_file
(
self
):
self
.
write
(
'</
COD
E>'
)
def
open_kbd
(
self
):
self
.
write
(
'<KBD>'
)
def
close_kbd
(
self
):
self
.
write
(
'</KBD>'
)
...
...
@@ -836,18 +835,6 @@ class TexinfoParser:
if
not
self
.
topname
:
self
.
topname
=
name
title
=
name
if
self
.
title
:
title
=
title
+
' -- '
+
self
.
title
# No idea what this means, but this is what latex2html writes
# self.write('<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">\n')
# self.write('<!- Converted with texi2html and Python>\n')
# self.write ('<P>\n<HEAD>\n')
# self.write('<TITLE>', title, '</TITLE>\n')
# self.write ('</HEAD>\n<BODY>\n<P>\n<BR> <HR>\n')
# self.link('Next', next)
# self.link('Prev', prev)
# self.link('Up', up)
# if self.nodename <> self.topname:
# self.link('Top', self.topname)
# self.write ('<BR> <HR> <P>\n')
self
.
node
=
Node
(
self
.
dirname
,
self
.
nodename
,
self
.
topname
,
\
title
,
next
,
prev
,
up
)
...
...
@@ -965,14 +952,26 @@ class TexinfoParser:
do_summarycontents
=
do_shortcontents
def
listcontents
(
self
,
title
,
maxlevel
):
self
.
write
(
'<H1>'
,
title
,
'</H1>
\
n
<UL COMPACT>
\
n
'
)
self
.
write
(
'<H1>'
,
title
,
'</H1>
\
n
<UL COMPACT PLAIN>
\
n
'
)
prevlevels
=
[
0
]
for
level
,
title
,
node
in
self
.
contents
:
if
level
<=
maxlevel
:
self
.
write
(
'<LI>'
,
'. '
*
level
,
'<A HREF="'
,
\
makefile
(
node
),
'">'
)
self
.
expand
(
title
)
self
.
write
(
'</A> '
,
node
,
'
\
n
'
)
self
.
write
(
'</UL>
\
n
'
)
if
level
>
maxlevel
:
continue
if
level
>
prevlevels
[
-
1
]:
# can only advance one level at a time
self
.
write
(
' '
*
prevlevels
[
-
1
],
'<UL PLAIN>
\
n
'
)
prevlevels
.
append
(
level
)
elif
level
<
prevlevels
[
-
1
]:
# might drop back multiple levels
while
level
<
prevlevels
[
-
1
]:
del
prevlevels
[
-
1
]
self
.
write
(
' '
*
prevlevels
[
-
1
],
'</UL>
\
n
'
)
self
.
write
(
' '
*
level
,
'<LI> <A HREF="'
,
makefile
(
node
),
'">'
)
self
.
expand
(
title
)
self
.
write
(
'</A>
\
n
'
)
self
.
write
(
'</UL>
\
n
'
*
len
(
prevlevels
))
# --- Page lay-out ---
...
...
@@ -1229,14 +1228,14 @@ class TexinfoParser:
# --- Enumerations, displays, quotations ---
# XXX Most of these should increase the indentation somehow
def
bgn_quotation
(
self
,
args
):
self
.
write
(
'<
P
>'
)
def
end_quotation
(
self
):
self
.
write
(
'<
P
>
\
n
'
)
def
bgn_quotation
(
self
,
args
):
self
.
write
(
'<
BLOCKQUOTE
>'
)
def
end_quotation
(
self
):
self
.
write
(
'<
/BLOCKQUOTE
>
\
n
'
)
def
bgn_example
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE>
<CODE>
'
)
self
.
write
(
'<PRE>'
)
def
end_example
(
self
):
self
.
write
(
'</
CODE></
PRE>'
)
self
.
write
(
'</PRE>'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_lisp
=
bgn_example
# Synonym when contents are executable lisp code
...
...
@@ -1248,19 +1247,11 @@ class TexinfoParser:
bgn_smalllisp
=
bgn_lisp
# Ditto
end_smalllisp
=
end_lisp
def
bgn_display
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE>
\
n
'
)
def
end_display
(
self
):
self
.
write
(
'</PRE>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_display
=
bgn_example
end_display
=
end_example
def
bgn_format
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE><CODE>
\
n
'
)
def
end_format
(
self
):
self
.
write
(
'</CODE></PRE>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_format
=
bgn_display
end_format
=
end_display
def
do_exdent
(
self
,
args
):
self
.
expand
(
args
+
'
\
n
'
)
# XXX Should really mess with indentation
...
...
@@ -1279,8 +1270,10 @@ class TexinfoParser:
self
.
write
(
'</ADDRESS>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
def
bgn_menu
(
self
,
args
):
self
.
write
(
'<H2>Menu</H2><DL COMPACT>
\
n
'
)
def
end_menu
(
self
):
self
.
write
(
'</DL>
\
n
'
)
def
bgn_menu
(
self
,
args
):
self
.
write
(
'<DIR>
\
n
'
)
self
.
write
(
' <STRONG><EM>Menu</EM></STRONG><P>
\
n
'
)
def
end_menu
(
self
):
self
.
write
(
'</DIR>
\
n
'
)
def
bgn_cartouche
(
self
,
args
):
pass
def
end_cartouche
(
self
):
pass
...
...
@@ -1364,13 +1357,18 @@ class TexinfoParser:
del
index
[:]
index1
.
sort
()
self
.
write
(
'<DL COMPACT>
\
n
'
)
prevkey
=
prevnode
=
None
for
sortkey
,
key
,
node
in
index1
:
if
(
key
,
node
)
==
(
prevkey
,
prevnode
):
continue
if
self
.
debugging
>
1
:
print
key
,
':'
,
node
self
.
write
(
'<DT>'
)
if
iscodeindex
:
key
=
'@code{'
+
key
+
'}'
self
.
expand
(
key
)
if
key
!=
prevkey
:
self
.
expand
(
key
)
self
.
write
(
'<DD><A HREF="'
,
makefile
(
node
),
\
'">'
,
node
,
'</A>
\
n
'
)
prevkey
,
prevnode
=
key
,
node
self
.
write
(
'</DL>
\
n
'
)
# --- Final error reports ---
...
...
Tools/scripts/texi2html.py
View file @
29901ff5
...
...
@@ -74,8 +74,7 @@ class Node:
self
.
cont
=
''
def
write
(
self
,
*
lines
):
for
line
in
lines
:
self
.
lines
.
append
(
line
)
map
(
self
.
lines
.
append
,
lines
)
def
flush
(
self
):
fp
=
open
(
self
.
dirname
+
'/'
+
makefile
(
self
.
name
),
'w'
)
...
...
@@ -99,7 +98,7 @@ class Node:
length
=
len
(
self
.
lines
)
self
.
text
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
lines
=
[]
self
.
write
(
'<
BR> <
HR>
\
n
'
)
self
.
write
(
'<HR>
\
n
'
)
if
self
.
cont
!=
self
.
next
:
self
.
link
(
'Cont'
,
self
.
cont
)
self
.
link
(
'Next'
,
self
.
next
)
...
...
@@ -107,20 +106,19 @@ class Node:
self
.
link
(
'Up'
,
self
.
up
)
if
self
.
name
<>
self
.
topname
:
self
.
link
(
'Top'
,
self
.
topname
)
self
.
write
(
'<
BR> <HR> <P
>
\
n
'
)
links
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
write
(
'<
HR
>
\
n
'
)
links
=
string
.
joinfields
(
self
.
lines
,
''
)
self
.
lines
=
[]
self
.
prologue
=
\
'<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
\
n
'
+
\
'<!- Converted with texi2html and Python>
\
n
'
+
\
'<P>
\
n
<HEAD>
\
n
'
+
\
'<TITLE>'
+
self
.
title
+
'</TITLE>
\
n
'
+
\
'</HEAD>
\
n
<BODY>
\
n
<P>
\
n
'
+
\
links
self
.
prologue
=
(
'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
\
n
'
'<!-- Converted with texi2html and Python -->
\
n
'
'<HEAD>
\
n
'
' <TITLE>'
+
self
.
title
+
'</TITLE>
\
n
'
'</HEAD><BODY>
\
n
'
+
\
links
)
if
length
>
20
:
self
.
epilogue
=
links
+
'</BODY>
\
n
'
self
.
epilogue
=
'<P>
\
n
%s</BODY>
\
n
'
%
links
else
:
self
.
epilogue
=
'</BODY>
\
n
'
...
...
@@ -311,10 +309,10 @@ class TexinfoParser:
if
nodename
[
0
]
==
':'
:
nodename
=
label
else
:
nodename
=
line
[
e
:
f
]
punct
=
line
[
g
:
h
]
self
.
write
(
'<
DT><A HREF="'
,
\
makefile
(
nodename
),
\
'" TYPE=Menu>'
,
nodename
,
\
'</A>'
,
punct
,
'
\
n
<DD>
'
)
self
.
write
(
'<
LI><A HREF="'
,
makefile
(
nodename
),
'">'
,
nodename
,
'</A>'
,
punct
,
'
\
n
'
)
self
.
expand
(
line
[
end
:])
else
:
text
=
string
.
joinfields
(
accu
,
''
)
...
...
@@ -577,8 +575,8 @@ class TexinfoParser:
def
open_dfn
(
self
):
self
.
write
(
'<DFN>'
)
def
close_dfn
(
self
):
self
.
write
(
'</DFN>'
)
def
open_emph
(
self
):
self
.
write
(
'<
I
>'
)
def
close_emph
(
self
):
self
.
write
(
'</
I
>'
)
def
open_emph
(
self
):
self
.
write
(
'<
EM
>'
)
def
close_emph
(
self
):
self
.
write
(
'</
EM
>'
)
open_i
=
open_emph
close_i
=
close_emph
...
...
@@ -599,15 +597,16 @@ class TexinfoParser:
# self.savetext = None
def
writefootnotes
(
self
):
self
.
write
(
'<H2>---------- Footnotes ----------</H2>
\
n
'
)
self
.
write
(
'
\
n
<HR NOSHADE SIZE=1 WIDTH=200>
\
n
'
'<STRONG><EM>Footnotes</EM></STRONG>
\
n
<P>'
)
for
id
,
text
in
self
.
footnotes
:
self
.
write
(
'<A NAME="footnotetext'
,
id
,
\
'" HREF="#footnoteref'
,
id
,
'">('
,
\
id
,
')</A>
\
n
'
,
text
,
'<P>
\
n
'
)
self
.
footnotes
=
[]
def
open_file
(
self
):
self
.
write
(
'<
FIL
E>'
)
def
close_file
(
self
):
self
.
write
(
'</
FIL
E>'
)
def
open_file
(
self
):
self
.
write
(
'<
COD
E>'
)
def
close_file
(
self
):
self
.
write
(
'</
COD
E>'
)
def
open_kbd
(
self
):
self
.
write
(
'<KBD>'
)
def
close_kbd
(
self
):
self
.
write
(
'</KBD>'
)
...
...
@@ -836,18 +835,6 @@ class TexinfoParser:
if
not
self
.
topname
:
self
.
topname
=
name
title
=
name
if
self
.
title
:
title
=
title
+
' -- '
+
self
.
title
# No idea what this means, but this is what latex2html writes
# self.write('<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">\n')
# self.write('<!- Converted with texi2html and Python>\n')
# self.write ('<P>\n<HEAD>\n')
# self.write('<TITLE>', title, '</TITLE>\n')
# self.write ('</HEAD>\n<BODY>\n<P>\n<BR> <HR>\n')
# self.link('Next', next)
# self.link('Prev', prev)
# self.link('Up', up)
# if self.nodename <> self.topname:
# self.link('Top', self.topname)
# self.write ('<BR> <HR> <P>\n')
self
.
node
=
Node
(
self
.
dirname
,
self
.
nodename
,
self
.
topname
,
\
title
,
next
,
prev
,
up
)
...
...
@@ -965,14 +952,26 @@ class TexinfoParser:
do_summarycontents
=
do_shortcontents
def
listcontents
(
self
,
title
,
maxlevel
):
self
.
write
(
'<H1>'
,
title
,
'</H1>
\
n
<UL COMPACT>
\
n
'
)
self
.
write
(
'<H1>'
,
title
,
'</H1>
\
n
<UL COMPACT PLAIN>
\
n
'
)
prevlevels
=
[
0
]
for
level
,
title
,
node
in
self
.
contents
:
if
level
<=
maxlevel
:
self
.
write
(
'<LI>'
,
'. '
*
level
,
'<A HREF="'
,
\
makefile
(
node
),
'">'
)
self
.
expand
(
title
)
self
.
write
(
'</A> '
,
node
,
'
\
n
'
)
self
.
write
(
'</UL>
\
n
'
)
if
level
>
maxlevel
:
continue
if
level
>
prevlevels
[
-
1
]:
# can only advance one level at a time
self
.
write
(
' '
*
prevlevels
[
-
1
],
'<UL PLAIN>
\
n
'
)
prevlevels
.
append
(
level
)
elif
level
<
prevlevels
[
-
1
]:
# might drop back multiple levels
while
level
<
prevlevels
[
-
1
]:
del
prevlevels
[
-
1
]
self
.
write
(
' '
*
prevlevels
[
-
1
],
'</UL>
\
n
'
)
self
.
write
(
' '
*
level
,
'<LI> <A HREF="'
,
makefile
(
node
),
'">'
)
self
.
expand
(
title
)
self
.
write
(
'</A>
\
n
'
)
self
.
write
(
'</UL>
\
n
'
*
len
(
prevlevels
))
# --- Page lay-out ---
...
...
@@ -1229,14 +1228,14 @@ class TexinfoParser:
# --- Enumerations, displays, quotations ---
# XXX Most of these should increase the indentation somehow
def
bgn_quotation
(
self
,
args
):
self
.
write
(
'<
P
>'
)
def
end_quotation
(
self
):
self
.
write
(
'<
P
>
\
n
'
)
def
bgn_quotation
(
self
,
args
):
self
.
write
(
'<
BLOCKQUOTE
>'
)
def
end_quotation
(
self
):
self
.
write
(
'<
/BLOCKQUOTE
>
\
n
'
)
def
bgn_example
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE>
<CODE>
'
)
self
.
write
(
'<PRE>'
)
def
end_example
(
self
):
self
.
write
(
'</
CODE></
PRE>'
)
self
.
write
(
'</PRE>'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_lisp
=
bgn_example
# Synonym when contents are executable lisp code
...
...
@@ -1248,19 +1247,11 @@ class TexinfoParser:
bgn_smalllisp
=
bgn_lisp
# Ditto
end_smalllisp
=
end_lisp
def
bgn_display
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE>
\
n
'
)
def
end_display
(
self
):
self
.
write
(
'</PRE>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_display
=
bgn_example
end_display
=
end_example
def
bgn_format
(
self
,
args
):
self
.
nofill
=
self
.
nofill
+
1
self
.
write
(
'<PRE><CODE>
\
n
'
)
def
end_format
(
self
):
self
.
write
(
'</CODE></PRE>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
bgn_format
=
bgn_display
end_format
=
end_display
def
do_exdent
(
self
,
args
):
self
.
expand
(
args
+
'
\
n
'
)
# XXX Should really mess with indentation
...
...
@@ -1279,8 +1270,10 @@ class TexinfoParser:
self
.
write
(
'</ADDRESS>
\
n
'
)
self
.
nofill
=
self
.
nofill
-
1
def
bgn_menu
(
self
,
args
):
self
.
write
(
'<H2>Menu</H2><DL COMPACT>
\
n
'
)
def
end_menu
(
self
):
self
.
write
(
'</DL>
\
n
'
)
def
bgn_menu
(
self
,
args
):
self
.
write
(
'<DIR>
\
n
'
)
self
.
write
(
' <STRONG><EM>Menu</EM></STRONG><P>
\
n
'
)
def
end_menu
(
self
):
self
.
write
(
'</DIR>
\
n
'
)
def
bgn_cartouche
(
self
,
args
):
pass
def
end_cartouche
(
self
):
pass
...
...
@@ -1364,13 +1357,18 @@ class TexinfoParser:
del
index
[:]
index1
.
sort
()
self
.
write
(
'<DL COMPACT>
\
n
'
)
prevkey
=
prevnode
=
None
for
sortkey
,
key
,
node
in
index1
:
if
(
key
,
node
)
==
(
prevkey
,
prevnode
):
continue
if
self
.
debugging
>
1
:
print
key
,
':'
,
node
self
.
write
(
'<DT>'
)
if
iscodeindex
:
key
=
'@code{'
+
key
+
'}'
self
.
expand
(
key
)
if
key
!=
prevkey
:
self
.
expand
(
key
)
self
.
write
(
'<DD><A HREF="'
,
makefile
(
node
),
\
'">'
,
node
,
'</A>
\
n
'
)
prevkey
,
prevnode
=
key
,
node
self
.
write
(
'</DL>
\
n
'
)
# --- Final error reports ---
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment