X-Git-Url: https://git.proxmox.com/?p=pve-docs.git;a=blobdiff_plain;f=asciidoc-pve.in;h=0e17b7a39cdb4737ffc5a6cd83a2190f04a47722;hp=1d0c7912185d88a5bf580721603ea820cc9a64d4;hb=17d8be0cbf76bc2b4b82295a9c3d548a460caa72;hpb=835dd63b03c3ca79ae0a9fa799d50a259fd7dab5 diff --git a/asciidoc-pve.in b/asciidoc-pve.in index 1d0c791..0e17b7a 100644 --- a/asciidoc-pve.in +++ b/asciidoc-pve.in @@ -61,20 +61,31 @@ sub pop_environment { } } +sub cleanup { + + # TODO: anything ? +} + 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); + + die "xref: no text for '$blockid'\n" if !$text; + return "$link\[$text\]"; } sub prepare_adoc_file { my ($filename, $attributes) = @_; + return if $prepared_files->{$filename}; print "PREPARE $filename\n"; @@ -121,6 +132,7 @@ sub prepare_adoc_file { # fix xrefs $line =~ s/xref:([^\s\[\]]+)\[([^\]]*)\]/replace_wiki_xref($1,$2)/ge; + $line =~ s/<<([^\s,\[\]]+)(?:,(.*?))?>>/replace_wiki_xref($1,$2)/ge; print $outfh $line; } @@ -155,11 +167,8 @@ sub compile_wiki { my $leveloffset = 0; - if ($clicmd eq 'compile-wiki-chapter') { - $leveloffset = 0; - } elsif ($clicmd eq 'compile-wiki-section') { - $leveloffset = -1; - } + my $doctype = $fileinfo->{doctype}->{$env}->{$infile} // 0; + $leveloffset = - $doctype; my $date = `date`; chomp $date; @@ -204,13 +213,12 @@ sub compile_wiki { die "aciidoc error"; } -if ($clicmd eq 'compile-wiki-chapter' || - $clicmd eq 'compile-wiki-section') { +if ($clicmd eq 'compile-wiki') { eval { compile_wiki(); }; my $err = $@; - # cleanup + cleanup(); die $err if $err;