mirror of https://github.com/python/cpython
Add support for new \pep, \seepep, excclassdesc markup.
Update processing of module synopsis tables (found at the beginning of most chapters of the library reference) to reflect changes in the processing pattern of recent versions LaTeX2HMTL. Requires most recent change to SynopsisTable.pm. This does not fix the module index problem.
This commit is contained in:
parent
4e607964d1
commit
643d76d735
|
@ -238,6 +238,23 @@ sub do_cmd_manpage{
|
|||
return "<span class='manpage'><i>$page</i>($section)</span>" . $_;
|
||||
}
|
||||
|
||||
sub get_pep_url{
|
||||
my $rfcnum = sprintf("%04d", @_[0]);
|
||||
return "http://python.sourceforge.net/peps/pep-$rfcnum.html";
|
||||
}
|
||||
|
||||
sub do_cmd_pep{
|
||||
local($_) = @_;
|
||||
my $rfcnumber = next_argument();
|
||||
my $id = "rfcref-" . ++$global{'max_id'};
|
||||
my $href = get_pep_url($rfcnumber);
|
||||
# Save the reference
|
||||
my $nstr = gen_index_id("Python Enhancement Proposals!PEP $rfcnumber", '');
|
||||
$index{$nstr} .= make_half_href("$CURRENT_FILE#$id");
|
||||
return ("<a class=\"rfc\" name=\"$id\"\nhref=\"$href\">PEP $rfcnumber</a>"
|
||||
. $_);
|
||||
}
|
||||
|
||||
sub get_rfc_url{
|
||||
my $rfcnum = sprintf("%04d", @_[0]);
|
||||
return "http://www.ietf.org/rfc/rfc$rfcnum.txt";
|
||||
|
@ -814,16 +831,24 @@ sub do_env_excdesc{
|
|||
sub do_env_fulllineitems{ return do_env_itemize(@_); }
|
||||
|
||||
|
||||
sub do_env_classdesc{
|
||||
local($_) = @_;
|
||||
sub handle_classlike_descriptor{
|
||||
local($_, $what) = @_;
|
||||
$THIS_CLASS = next_argument();
|
||||
my $arg_list = next_argument();
|
||||
$idx = make_str_index_entry(
|
||||
"<tt class='class'>$THIS_CLASS</tt> (class in $THIS_MODULE)" );
|
||||
"<tt class='$what'>$THIS_CLASS</tt> ($what in $THIS_MODULE)" );
|
||||
$idx =~ s/ \(.*\)//;
|
||||
return "<dl><dt><b>$idx</b> (<var>$arg_list</var>)\n<dd>" . $_ . '</dl>';
|
||||
}
|
||||
|
||||
sub do_env_classdesc{
|
||||
return handle_classlike_descriptor(@_[0], "class");
|
||||
}
|
||||
|
||||
sub do_env_excclassdesc{
|
||||
return handle_classlike_descriptor(@_[0], "exception");
|
||||
}
|
||||
|
||||
|
||||
sub do_env_methoddesc{
|
||||
local($_) = @_;
|
||||
|
@ -1269,18 +1294,18 @@ sub get_chapter_id(){
|
|||
return $id;
|
||||
}
|
||||
|
||||
%ModuleSynopses = ('chapter' => 'SynopsisTable instance');
|
||||
# 'chapter' => 'SynopsisTable instance'
|
||||
%ModuleSynopses = ();
|
||||
|
||||
sub get_synopsis_table($){
|
||||
my($chap) = @_;
|
||||
my $st = $ModuleSynopses{$chap};
|
||||
my $key;
|
||||
foreach $key (keys %ModuleSynopses) {
|
||||
if ($key eq $chap) {
|
||||
return $ModuleSynopses{$chap};
|
||||
}
|
||||
}
|
||||
$st = SynopsisTable->new();
|
||||
my $st = SynopsisTable->new();
|
||||
$ModuleSynopses{$chap} = $st;
|
||||
return $st;
|
||||
}
|
||||
|
@ -1323,10 +1348,33 @@ sub do_cmd_modulesynopsis{
|
|||
sub do_cmd_localmoduletable{
|
||||
local($_) = @_;
|
||||
my $chap = get_chapter_id();
|
||||
my $st = get_synopsis_table($chap);
|
||||
$st->set_file("$CURRENT_FILE");
|
||||
return "<tex2html-localmoduletable><$chap>\\tableofchildlinks[off]" . $_;
|
||||
}
|
||||
|
||||
sub process_all_localmoduletables{
|
||||
my $key;
|
||||
my $st, $file;
|
||||
foreach $key (keys %ModuleSynopses) {
|
||||
$st = $ModuleSynopses{$key};
|
||||
$file = $st->get_file();
|
||||
if ($file) {
|
||||
process_localmoduletables_in_file($file);
|
||||
}
|
||||
else {
|
||||
print "\nsynopsis table $key has no file association";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub process_localmoduletables_in_file{
|
||||
my $file = @_[0];
|
||||
open(MYFILE, "<$file");
|
||||
local($_);
|
||||
sysread(MYFILE, $_, 1024*1024);
|
||||
close(MYFILE);
|
||||
# need to get contents of file in $_
|
||||
while (/<tex2html-localmoduletable><(\d+)>/) {
|
||||
my $match = $&;
|
||||
my $chap = $1;
|
||||
|
@ -1334,6 +1382,9 @@ sub process_all_localmoduletables{
|
|||
my $data = $st->tohtml();
|
||||
s/$match/$data/;
|
||||
}
|
||||
open(MYFILE,">$file");
|
||||
print MYFILE $_;
|
||||
close(MYFILE);
|
||||
}
|
||||
sub process_python_state{
|
||||
process_all_localmoduletables();
|
||||
|
@ -1371,8 +1422,8 @@ sub do_cmd_seemodule{
|
|||
. $_;
|
||||
}
|
||||
|
||||
sub do_cmd_seerfc{
|
||||
local($_) = @_;
|
||||
sub handle_rfclike_reference{
|
||||
local($_, $what) = @_;
|
||||
my $rfcnum = next_argument();
|
||||
my $title = next_argument();
|
||||
my $text = next_argument();
|
||||
|
@ -1380,11 +1431,19 @@ sub do_cmd_seerfc{
|
|||
return '<dl compact class="seerfc">'
|
||||
. "\n <dt><a href=\"$url\""
|
||||
. "\n title=\"$title\""
|
||||
. "\n >RFC $rfcnum, <em>$title</em></a>:"
|
||||
. "\n >$what $rfcnum, <em>$title</em></a>:"
|
||||
. "\n <dd>$text\n </dl>"
|
||||
. $_;
|
||||
}
|
||||
|
||||
sub do_cmd_seepep{
|
||||
return handle_rfclike_reference(@_[0], "PEP");
|
||||
}
|
||||
|
||||
sub do_cmd_seerfc{
|
||||
return handle_rfclike_reference(@_[0], "RFC");
|
||||
}
|
||||
|
||||
sub do_cmd_seeurl{
|
||||
local($_) = @_;
|
||||
my $url = next_argument();
|
||||
|
|
Loading…
Reference in New Issue