}
}
+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";
# fix xrefs
$line =~ s/xref:([^\s\[\]]+)\[([^\]]*)\]/replace_wiki_xref($1,$2)/ge;
+ $line =~ s/<<([^\s,\[\]]+)(?:,(.*?))?>>/replace_wiki_xref($1,$2)/ge;
print $outfh $line;
}
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;
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;