factor out cleanup method
[pve-docs.git] / asciidoc-pve.in
index ab6edef..0e17b7a 100644 (file)
@@ -61,6 +61,11 @@ sub pop_environment {
     }
 }
 
+sub cleanup {
+
+    # TODO: anything ?
+}
+
 sub replace_wiki_xref {
     my ($blockid, $text) = @_;
 
@@ -72,12 +77,15 @@ sub replace_wiki_xref {
 
     $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";
@@ -124,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;
     }
@@ -158,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;
@@ -207,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;