From 2a0ba5733928474836f3a50b97e71bba7a42ee1d Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Tue, 14 Jul 2015 23:05:55 +1000 Subject: [PATCH] * change two tags chain
 +  to single custom
  tag

---
 lib/Text/Dokuwiki/Parser.pm | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/lib/Text/Dokuwiki/Parser.pm b/lib/Text/Dokuwiki/Parser.pm
index 338ab3c..b5de9a4 100644
--- a/lib/Text/Dokuwiki/Parser.pm
+++ b/lib/Text/Dokuwiki/Parser.pm
@@ -237,17 +237,11 @@ sub parse {
       $level = 7 - $level; # invert
       push @tree, ["h$level" => {}, $+{header}];
     } elsif ($text =~ m/\G$rx->{codeblock}/cgi) {
-      if ($+{tag} eq 'file' and $+{filename}) {
-        my $attrs = $+{syntax} ? {class => $+{syntax}} : {};
-        my $dt = [dt => {}, $+{filename}];
-        my $dd = [dt => {}, [pre => $attrs, $+{block}]];
-        push @tree, [dl => {class => 'file'}, [$dt, $dd]];
-      } elsif ($+{tag} eq 'file') {
-        push @tree, [pre => {class => 'file'}, $+{block}];
-      } else {
-        my $attrs = $+{syntax} ? {class => $+{syntax}} : {};
-        push @tree, [code => $attrs, [pre => {}, $+{block}]];
-      }
+      my $attrs = {};
+      $attrs->{type}   = $+{tag};
+      $attrs->{file}   = $+{filename} if $+{filename};
+      $attrs->{syntax} = $+{syntax}   if $+{syntax};
+      push @tree, [codeblock => $attrs, $+{block}];
     } elsif ($text =~ m/\G$rx->{table}/cgi) {
       my $lines = $+{table};
       chomp $lines;