File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # !/depot/gnu/plat/bin/perl -i~
2+
3+ # read the labels, then reverse the mappings
4+ require " labels.pl" ;
5+
6+ %nodes = ();
7+ foreach $label (keys %external_labels ) {
8+ $nodes {$external_labels {$label }} = $label ;
9+ }
10+
11+ # collect labels that have been used
12+ %newnames = ();
13+
14+ while (<>) {
15+ # don't want to do one s/// per line per node
16+ # so look for lines with hrefs, then do s/// on nodes present
17+ if (/ HREF=\" ([^\#\" ]*)html[\#\" ]/ ) {
18+ @parts = split (/ HREF\=\" / );
19+ shift @parts ;
20+ for $node (@parts ) {
21+ $node =~ s / [\#\" ].*$// g ;
22+ chop ($node );
23+ if (defined ($nodes {$node })) {
24+ $label = $nodes {$node };
25+ if (s / HREF=\" $node([\#\" ])/ HREF=\" $label .html$1 / g ) {
26+ s / HREF=\" $label.html#SECTION\d +/ HREF=\" $label .html/ g ;
27+ $newnames {$node } = " $label .html" ;
28+ }
29+ }
30+ }
31+ }
32+ print ;
33+ }
34+
35+ foreach $oldname (keys %newnames ) {
36+ # or mv
37+ system (" ln -s $oldname $newnames {$oldname }" );
38+ }
Original file line number Diff line number Diff line change 1+ # !/depot/gnu/plat/bin/perl -i~
2+
3+ # read the labels, then reverse the mappings
4+ require " labels.pl" ;
5+
6+ %nodes = ();
7+ foreach $label (keys %external_labels ) {
8+ $nodes {$external_labels {$label }} = $label ;
9+ }
10+
11+ # collect labels that have been used
12+ %newnames = ();
13+
14+ while (<>) {
15+ # don't want to do one s/// per line per node
16+ # so look for lines with hrefs, then do s/// on nodes present
17+ if (/ HREF=\" ([^\#\" ]*)html[\#\" ]/ ) {
18+ @parts = split (/ HREF\=\" / );
19+ shift @parts ;
20+ for $node (@parts ) {
21+ $node =~ s / [\#\" ].*$// g ;
22+ chop ($node );
23+ if (defined ($nodes {$node })) {
24+ $label = $nodes {$node };
25+ if (s / HREF=\" $node([\#\" ])/ HREF=\" $label .html$1 / g ) {
26+ s / HREF=\" $label.html#SECTION\d +/ HREF=\" $label .html/ g ;
27+ $newnames {$node } = " $label .html" ;
28+ }
29+ }
30+ }
31+ }
32+ print ;
33+ }
34+
35+ foreach $oldname (keys %newnames ) {
36+ # or mv
37+ system (" ln -s $oldname $newnames {$oldname }" );
38+ }
You can’t perform that action at this time.
0 commit comments