From: Dietmar Maurer Date: Sat, 8 Oct 2016 11:07:08 +0000 (+0200) Subject: support reftext for block IDs X-Git-Url: https://git.proxmox.com/?p=pve-docs.git;a=commitdiff_plain;h=459308313d45bc7889792dc08c100375100e5a25 support reftext for block IDs --- diff --git a/asciidoc-pve.in b/asciidoc-pve.in index 1d0c791..ab6edef 100644 --- a/asciidoc-pve.in +++ b/asciidoc-pve.in @@ -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\]"; } diff --git a/scan-adoc-refs b/scan-adoc-refs index 296f05e..613f282 100755 --- a/scan-adoc-refs +++ b/scan-adoc-refs @@ -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]); } } }