mirror of
https://git.proxmox.com/git/pve-docs
synced 2025-08-06 09:33:29 +00:00
support reftext for block IDs
This commit is contained in:
parent
0e1bf0daf7
commit
459308313d
@ -65,10 +65,13 @@ sub replace_wiki_xref {
|
|||||||
my ($blockid, $text) = @_;
|
my ($blockid, $text) = @_;
|
||||||
|
|
||||||
my $link = $fileinfo->{blockid_target}->{wiki}->{$blockid};
|
my $link = $fileinfo->{blockid_target}->{wiki}->{$blockid};
|
||||||
|
my $reftext = $fileinfo->{reftext}->{wiki}->{$blockid};
|
||||||
|
|
||||||
die "unable to resolve wiki link (xref:$blockid)\n"
|
die "unable to resolve wiki link (xref:$blockid)\n"
|
||||||
if !defined($link);
|
if !defined($link);
|
||||||
|
|
||||||
|
$text = $reftext if !length($text);
|
||||||
|
|
||||||
return "$link\[$text\]";
|
return "$link\[$text\]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,13 +83,15 @@ sub register_include {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub register_blockid {
|
sub register_blockid {
|
||||||
my ($filename, $blockid, $env_list) = @_;
|
my ($filename, $blockid, $reftext, $env_list) = @_;
|
||||||
|
|
||||||
foreach my $e (@$env_list) {
|
foreach my $e (@$env_list) {
|
||||||
my $fn = $fileinfo->{blockid}->{$e}->{$blockid};
|
my $fn = $fileinfo->{blockid}->{$e}->{$blockid};
|
||||||
die "blockid '$blockid' already defined in $fn"
|
die "blockid '$blockid' already defined in $fn"
|
||||||
if defined($fn);
|
if defined($fn);
|
||||||
$fileinfo->{blockid}->{$e}->{$blockid} = $filename;
|
$fileinfo->{blockid}->{$e}->{$blockid} = $filename;
|
||||||
|
$fileinfo->{reftext}->{$e}->{$blockid} = $reftext
|
||||||
|
if defined($reftext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,14 +144,15 @@ sub scan_adoc_file {
|
|||||||
if ($line =~ m/^\[\[(.*)\]\]\s*$/) {
|
if ($line =~ m/^\[\[(.*)\]\]\s*$/) {
|
||||||
my $blockid = $1;
|
my $blockid = $1;
|
||||||
die "implement me" if $blockid =~m/,/;
|
die "implement me" if $blockid =~m/,/;
|
||||||
register_blockid($filename, $blockid, $env_stack->[-1]);
|
my $reftext = '';
|
||||||
|
register_blockid($filename, $blockid, $reftext, $env_stack->[-1]);
|
||||||
}
|
}
|
||||||
# fixme: "anchor:"
|
# fixme: "anchor:"
|
||||||
# bibliography anchors
|
# bibliography anchors
|
||||||
if ($line =~ m/\[\[\[([^\]]*)\]\]\]/) {
|
if ($line =~ m/\[\[\[([^\]]*)\]\]\]/) {
|
||||||
my $blockid = $1;
|
my $blockid = $1;
|
||||||
die "implement me" if $blockid =~m/,/;
|
die "implement me" if $blockid =~m/,/;
|
||||||
register_blockid($filename, $blockid, $env_stack->[-1]);
|
register_blockid($filename, $blockid, "[$blockid]", $env_stack->[-1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user