5
0
mirror of git://git.proxmox.com/git/pve-docs.git synced 2025-03-20 22:50:06 +03:00

support reftext for block IDs

This commit is contained in:
Dietmar Maurer 2016-10-08 13:07:08 +02:00
parent 0e1bf0daf7
commit 459308313d
2 changed files with 9 additions and 3 deletions

View File

@ -65,10 +65,13 @@ sub replace_wiki_xref {
my ($blockid, $text) = @_;
my $link = $fileinfo->{blockid_target}->{wiki}->{$blockid};
my $reftext = $fileinfo->{reftext}->{wiki}->{$blockid};
die "unable to resolve wiki link (xref:$blockid)\n"
if !defined($link);
$text = $reftext if !length($text);
return "$link\[$text\]";
}

View File

@ -83,13 +83,15 @@ sub register_include {
}
sub register_blockid {
my ($filename, $blockid, $env_list) = @_;
my ($filename, $blockid, $reftext, $env_list) = @_;
foreach my $e (@$env_list) {
my $fn = $fileinfo->{blockid}->{$e}->{$blockid};
die "blockid '$blockid' already defined in $fn"
if defined($fn);
$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*$/) {
my $blockid = $1;
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:"
# bibliography anchors
if ($line =~ m/\[\[\[([^\]]*)\]\]\]/) {
my $blockid = $1;
die "implement me" if $blockid =~m/,/;
register_blockid($filename, $blockid, $env_stack->[-1]);
register_blockid($filename, $blockid, "[$blockid]", $env_stack->[-1]);
}
}
}