mirror of
https://github.com/python/cpython.git
synced 2025-07-23 03:05:38 +00:00
Add support for mapping internal labels used from the index.
This commit is contained in:
parent
48a16bf6b5
commit
19e2ce58bf
1 changed files with 15 additions and 4 deletions
|
@ -15,22 +15,33 @@ foreach $label (sort keys %external_labels) {
|
|||
$nodes{$key} = $label;
|
||||
}
|
||||
|
||||
# This adds the "internal" labels added for indexing. These labels will not
|
||||
# be used for file names.
|
||||
require "intlabels.pl";
|
||||
foreach $label (keys %internal_labels) {
|
||||
$key = $internal_labels{$label};
|
||||
$key =~ s|^/||;
|
||||
if (defined($nodes{$key})) {
|
||||
$nodes{$label} = $nodes{$key};
|
||||
}
|
||||
}
|
||||
|
||||
# collect labels that have been used
|
||||
%newnames = ();
|
||||
|
||||
while (<>) {
|
||||
# don't want to do one s/// per line per node
|
||||
# so look for lines with hrefs, then do s/// on nodes present
|
||||
if (/HREF=\"([^\#\"]*)html[\#\"]/) {
|
||||
@parts = split(/HREF\=\"/);
|
||||
if (/(HREF|href)=\"([^\#\"]*)html[\#\"]/) {
|
||||
@parts = split(/(HREF|href)\=\"/);
|
||||
shift @parts;
|
||||
for $node (@parts) {
|
||||
$node =~ s/[\#\"].*$//g;
|
||||
chop($node);
|
||||
if (defined($nodes{$node})) {
|
||||
$label = $nodes{$node};
|
||||
if (s/HREF=\"$node([\#\"])/HREF=\"$label.html$1/g) {
|
||||
s/HREF=\"$label.html#SECTION\d+/HREF=\"$label.html/g;
|
||||
if (s/(HREF|href)=\"$node([\#\"])/$1=\"$label.html$2/g) {
|
||||
s/(HREF|href)=\"$label.html#(l2h-)?SECTION\d+/$1=\"$label.html/g;
|
||||
$newnames{$node} = "$label.html";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue