diff options
| -rwxr-xr-x | .ikiwiki/IkiWiki/Plugin/pandoc.pm | 22 | ||||
| -rw-r--r-- | events/2013/arg-for-fripost.mdwn | 9 | ||||
| -rw-r--r-- | notes | 78 | ||||
| -rw-r--r-- | templates/nonempty.tmpl | 9 | 
4 files changed, 105 insertions, 13 deletions
| diff --git a/.ikiwiki/IkiWiki/Plugin/pandoc.pm b/.ikiwiki/IkiWiki/Plugin/pandoc.pm index a8b1649..b208b9a 100755 --- a/.ikiwiki/IkiWiki/Plugin/pandoc.pm +++ b/.ikiwiki/IkiWiki/Plugin/pandoc.pm @@ -608,6 +608,10 @@ sub htmlize ($@) {          $pagestate{$page}{meta}{pandoc_primary_author} = $scalar_meta{primary_author}      } +    # DEBUG +    $pagestate{$page}{meta}{fripost_debug_label_1} = 'fripost debug value'; +    # END +      # The bibliography may be set in a Meta block in the page or in the .setup file.      # If both are present, the Meta block has precedence.      for my $bibl ($scalar_meta{bibliography}, $config{pandoc_bibliography}) { @@ -710,7 +714,7 @@ sub htmlize ($@) {      # DEBUG Print pagestate again      $fnm = sprintf "%s.%.1d.%s", $fnm_pfx, $m++, "return-pagestate";      open($fh, '>>', $fnm); -    my %pagestate_dumper = ( +    %pagestate_dumper = (  	$page => $pagestate{$page},  	);      print $fh Data::Dumper->Dump([\%pagestate_dumper], [qw("pagestate")]), "\n"; @@ -736,23 +740,29 @@ sub pagetemplate (@) {      my %params = @_;      my $page = $params{page}; +    my $template = $params{template}; +      # DEBUG -    print "D: Run pagetemplate for $page\n"; +    my $filename = $template->{'options'}{'filename'}; +    $filename =~ /^.*\/([a-z]*).tmpl$/; +    my $filenamebase = $1; +    print "D: Run pagetemplate for $page and $filenamebase \n";      # END -    my $template = $params{template};      foreach my $k (keys %{$pagestate{$page}{meta}}) { -        next unless $k =~ /^pandoc_/; +        next unless $k =~ /^(pandoc_|fripost_)/;          $template->param($k => $pagestate{$page}{meta}{$k});      } +    $template->param('date' => $pagestate{$page}{meta}{date});      # DEBUG Print pagetemplate data      my $fnm_pfx = debug_get_filename_prefix ("pagetemplate", $page);      my $m = 0; -    my $fnm = sprintf "%s.%.1d.%s", $fnm_pfx, $m++, "data"; +    my $fnm = sprintf "%s.%s.%.1d.%s", $fnm_pfx, $filenamebase, $m++, "data";      open($fh, '>', $fnm) or die "Could not"; -    print $fh Data::Dumper->Dump([%params], [qw(params)]), "\n"; +    my @keys = keys $template->%*;      print $fh Data::Dumper->Dump([$template], [qw(teplate)]), "\n"; +    # print $fh Data::Dumper->Dump([%params], [qw(params)]), "\n";      close $fh;      # END diff --git a/events/2013/arg-for-fripost.mdwn b/events/2013/arg-for-fripost.mdwn index 338946a..1a53c31 100644 --- a/events/2013/arg-for-fripost.mdwn +++ b/events/2013/arg-for-fripost.mdwn @@ -3,9 +3,9 @@ title: Argumentera för Fripost  author:   - Fripost genom arrangörer   - Fler -date: 20 februari 2013 -tag: done -titlesort: 2013-02-20 +date: 20 feb 2013 +tag: hejduglade +titlesort: hejsansvejsan  abstract: |   gräv ner dig   ta en spade @@ -17,8 +17,7 @@ tags:  [[!tag /events/done]]  [[!meta title="_" sortas=2013-02-20]] -[[!meta date="Datum"]] - +[[!meta date=2019-08-15]]   Tid och plats @@ -0,0 +1,78 @@ +<!-- -*- mode: markdown -*- --> + +Somwhere thers a transition pandoc meta -> general meta, for some meta + +# Pagestate data + +This is for *arg-for-fripost* + +* 002 1 early +   * Meta according to wiki tags: title, titlesort +   * No tags seen at all + +* 002 4 return +   * most 'pandoc_*' available +   * meta 'tag' and 'pandoc_tag' set according to pandoc meta +   * meta 'abstract' and 'pandoc_abstract' empty +   * meta 'num_author' is 2, 'author' content as string, +     'pandoc_author' content as list + +* 007 1 early +   * Meta overwritten according to wiki tags: title, titlesort +   * Otherwise unchanged from 002 4 + +* 007 4 return +   * Back to 002 4 + +* 013 1 early +   * Back to 007 1 + +* 013 4--027 4 continues + +# Working template variables + +The sytanx is e.g. `<TMPL_VAR TITLE>`. Compare template +*nonempty.tmpl* with resulting HTML: + + * TITLE -- pandoc meta + * DATE -- fallback to default `<TMPL_VAR DATE DEFAULT="1970-01-01">` + * TITLESORT -- nothing + * AUTHOR -- pandoc meta, 002 4, content as string + * ABSTRACT -- noting + * PANDOC_DATE -- pandoc meta + * PANDOC_PRIMARY_AUTHOR -- pandoc meta + * NUM_AUTHORS -- nothing + * TAG -- nothing + * PANDOC_TAG -- pandoc meta + * PANDOC_TITLESORT -- pandoc meta + * PANDOC_ABSTRACT -- nothing + * PANDOC_TITLE -- pandoc meta + * tags again with loop: ikiwiki meta + +tags again with loop: + +``` +<TMPL_IF TAGS> + | +  <TMPL_LOOP TAGS> +    <TMPL_VAR LINK>| +  </TMPL_LOOP> +      </TMPL_IF> +<BR/> +``` +# Page template data + +This is for *arg-for-fripost* + + * identifies + +There is a need to also put things in subroutine *pagetemplate* to make +them available as variables: + +``` +foreach my $k (keys %{$pagestate{$page}{meta}}) { +    next unless $k =~ /^(pandoc_|fripost_)/; +    $template->param($k => $pagestate{$page}{meta}{$k}); +} +$template->param('date' => $pagestate{$page}{meta}{date}); +``` diff --git a/templates/nonempty.tmpl b/templates/nonempty.tmpl index 319a79d..d54ea3d 100644 --- a/templates/nonempty.tmpl +++ b/templates/nonempty.tmpl @@ -1,7 +1,8 @@  <h2><TMPL_VAR TITLE></h2> -title: |<TMPL_VAR TITLE>|<br/> -date: |<TMPL_VAR DATE DEFAULT="1970-01-01">|<br/> +title: |<TMPL_VAR TITLE  DEFAULT="Defaulttitle hej">|<br/> +date: |<TMPL_VAR DATE>|<br/> +pubdate: |<TMPL_VAR PUBDATE>|<br/>  titlesort: |<TMPL_VAR TITLESORT>|<br/>  author: |<TMPL_VAR AUTHOR>|<BR/>  abstract: |<TMPL_VAR ABSTRACT>|<BR/> @@ -13,6 +14,10 @@ pandoc_tag: |<TMPL_VAR PANDOC_TAG>|<BR/>  pandoc_titlesort: |<TMPL_VAR PANDOC_TITLESORT>|<BR/>  pandoc_abstract: |<TMPL_VAR PANDOC_ABSTRACT>|<BR/>  pandoc_title: |<TMPL_VAR PANDOC_TITLE>|<BR/> +pageurl: |<TMPL_VAR PAGEURL>|<BR/> +ctime: |<TMPL_VAR CTIME>|<BR/> +mtime: |<TMPL_VAR MTIME>|<BR/> +fripost_debug_label_1: |<TMPL_VAR FRIPOST_DEBUG_LABEL_1>|<BR/>  <br/>  tags again:   <TMPL_IF TAGS> | 
