summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.ikiwiki/IkiWiki/Plugin/pandoc.pm115
1 files changed, 75 insertions, 40 deletions
diff --git a/.ikiwiki/IkiWiki/Plugin/pandoc.pm b/.ikiwiki/IkiWiki/Plugin/pandoc.pm
index f6f3b02..a7def67 100755
--- a/.ikiwiki/IkiWiki/Plugin/pandoc.pm
+++ b/.ikiwiki/IkiWiki/Plugin/pandoc.pm
@@ -11,10 +11,26 @@ use File::Path qw/make_path/;
use JSON;
use Data::Dumper;
-open(my $fh, '>', '/tmp/pandoc-verify') or die "Could not";
+my $fh = undef;
+my $dh = undef;
+my $fnm = undef;
+my $f = undef;
+my $next = 0;
+my $base = '/tmp/pandoc';
+
+mkdir($base);
+opendir($dh, $base) || die "Can't open $base: $!";
+foreach $f (grep(/[0-9][0-9]*$/, readdir($dh))) {
+ $f =~ /^(.*)-([0-9][0-9]*)$/;
+ $next = $2 + 1 if ($2 >= $next);
+}
+closedir $dh;
+$fnm = sprintf "%s/%s-%.3d", $base, "verify", $next;
+open($fh, '>', $fnm) or die "Could not";
print $fh "Hej du glade på fil\n";
+print $fh "Detta är filen i '/home/gustav/git/fripost/wiki/.ikiwiki/IkiWiki/Plugin'\n";
close $fh;
-print "Hej du glade på print\n";
+print "Closed $fnm\n";
# activate with 'generate_$format' in meta; turn on all with 'generate_all_formats'.
my %extra_formats = (
@@ -29,12 +45,17 @@ my %extra_formats = (
sub import {
- open(my $fh2, '>', '/tmp/pandoc-import') or die "Could not";
- print $fh2 "I import på fil\n";
- close $fh2;
-
- open(my $fh6, '>', '/tmp/pandoc-htmlize-end') or die "Could not";
- close $fh6;
+ opendir($dh, $base) || die "Can't open $base: $!";
+ foreach $f (grep(/[0-9][0-9]*$/, readdir($dh))) {
+ $f =~ /^(.*)-([0-9][0-9]*)$/;
+ $next = $2 + 1 if ($2 >= $next);
+ }
+ closedir $dh;
+ $fnm = sprintf "%s/%s-%.3d", $base, "import", $next;
+ open($fh, '>', $fnm) or die "Could not open $fnm .";
+ print $fh "Import.\n";
+ close $fh;
+ print "Closed $fnm\n";
my $markdown_ext = $config{pandoc_markdown_ext} || "mdwn";
@@ -360,10 +381,11 @@ sub getsetup () {
sub htmlize ($@) {
- open(my $fh3, '>', '/tmp/pandoc-htmlize') or die "Could not";
- print $fh3 "I htmlize på fil\n";
- close $fh3;
- print "I htmlize på print\n";
+ opendir($dh, $base) || die "Can't open $base: $!";
+ foreach $f (grep(/[0-9][0-9]*$/, readdir($dh))) {
+ $f =~ /^(.*)-([0-9][0-9]*)$/;
+ $next = $2 + 1 if ($2 >= $next);
+ }
my $format = shift;
my %params = @_;
@@ -373,6 +395,12 @@ sub htmlize ($@) {
local(*PANDOC_IN, *JSON_IN, *JSON_OUT, *PANDOC_OUT);
my @args = ();
+ $fnm = sprintf "%s/%s-%.3d", $base, "htmlize", $next;
+ open($fh, '>', $fnm) or die "Could not";
+ print $fh Dumper($page), "\n";
+ close $fh;
+ print "Closed $fnm\n";
+
# The default assumes pandoc is in PATH
my $command = $config{pandoc_command} || "pandoc";
@@ -451,11 +479,9 @@ sub htmlize ($@) {
$content =~ s{<div class="inline" id="(\d+)"></div>}
{::INLINE::PLACEHOLDER::$1::}g;
- open(my $fh9, '>>', '/tmp/pandoc-content');
- print $fh9 '-----------\n';
- print $fh9 Dumper($content);
- print $fh9 '\n';
- close $fh9;
+ $fnm = sprintf "%s/%s-%.3d", $base, "content-1", $next;
+ open($fh, '>>', $fnm);
+ print $fh Dumper($content), "\n";
print PANDOC_OUT $content;
close PANDOC_OUT;
@@ -478,6 +504,12 @@ sub htmlize ($@) {
warn "WARNING: Unexpected format for meta block. Incompatible version of Pandoc?\n";
}
+ print $fh Data::Dumper->Dump([$json_content], [qw(json_content)]), "\n";
+ print $fh Data::Dumper->Dump([$decoded_json], [qw(decoded_json)]), "\n";
+ print $fh Data::Dumper->Dump([$meta], [qw(meta)]), "\n";
+ close $fh;
+ print "Closed $fnm\n";
+
# Get some selected meta attributes, more specifically:
# (title date bibliography csl subtitle abstract summary description
# version lang locale references author [+ num_authors primary_author]),
@@ -486,17 +518,23 @@ sub htmlize ($@) {
my @format_keys = grep { $_ ne 'pdf' } keys %extra_formats;
my %scalar_meta = map { ($_=>undef) } qw(
title date bibliography csl subtitle abstract summary
- description version lang locale);
-
- open(my $fh4, '>', '/tmp/pandoc-out') or die "Could not";
- print $fh4 "Dumpa här på fil\n";
- print $fh4 Dumper(\%scalar_meta);
- close $fh4;
+ description version lang locale
+ titlesort tag tags
+ );
$scalar_meta{$_.'_template'} = undef for @format_keys;
my %bool_meta = map { ("generate_$_"=>0) } keys %extra_formats;
my %list_meta = map { ($_=>[]) } qw/author references/;
$list_meta{$_.'_extra_options'} = [] for @format_keys;
+
+ $fnm = sprintf "%s/%s-%.3d", $base, "meta", $next;
+ open($fh, '>', $fnm) or die "Could not";
+ print $fh Data::Dumper->Dump([\%scalar_meta], [qw(scalar_meta)]), "\n";
+ print $fh Data::Dumper->Dump([\%bool_meta], [qw(bool_meta)]), "\n";
+ print $fh Data::Dumper->Dump([\%list_meta], [qw(list_meta)]), "\n";
+ close $fh;
+ print "Closed $fnm\n";
+
my $have_bibl = 0;
foreach my $k (keys %scalar_meta) {
next unless $meta->{$k};
@@ -618,12 +656,6 @@ sub htmlize ($@) {
my @html = <PANDOC_IN>;
- open(my $fh8, '>>', '/tmp/pandoc-pandocin') or die "Could not";
- print $fh8 "\n-------\n";
- print $fh8 Dumper(<PANDOC_IN>);
- print $fh8 "\n";
- close $fh8;
-
close PANDOC_IN;
waitpid $to_html_pid, 0;
@@ -634,17 +666,20 @@ sub htmlize ($@) {
$content =~ s{::INLINE::PLACEHOLDER::(\d+)::}
{<div class="inline" id="$1"></div>}g;
- open(my $fh5, '>>', '/tmp/pandoc-htmlize-end') or die "Could not";
- print $fh5 "\n-------\n";
- print $fh5 Dumper(\%scalar_meta);
- print $fh5 "\n";
- close $fh5;
-
- open(my $fh0, '>>', '/tmp/pandoc-content-2');
- print $fh0 '-----------\n';
- print $fh0 Dumper($content);
- print $fh0 '\n';
- close $fh0;
+ $fnm = sprintf "%s/%s-%.3d", $base, "meta", $next;
+ open($fh, '>>', $fnm) or die "Could not";
+ print $fh "\n";
+ print $fh Data::Dumper->Dump([\%scalar_meta], [qw(scalar_meta)]), "\n";
+ print $fh Data::Dumper->Dump([\%bool_meta], [qw(bool_meta)]), "\n";
+ print $fh Data::Dumper->Dump([\%list_meta], [qw(list_meta)]), "\n";
+ close $fh;
+ print "Closed $fnm\n";
+
+ $fnm = sprintf "%s/%s-%.3d", $base, "content-2", $next;
+ open($fh, '>>', $fnm);
+ print $fh Dumper($content), "\n";
+ close $fh;
+ print "Closed $fnm\n";
return $content;
}