Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit daa2d5d

Browse files
committed
Patch HREFs in html files, replacing nodeXXX.html with label.html.
1 parent 16a0bc2 commit daa2d5d

2 files changed

Lines changed: 76 additions & 0 deletions

File tree

Doc/node2label.pl

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
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+
}

Doc/tools/node2label.pl

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
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+
}

0 commit comments

Comments
 (0)