Packets: senf::Parse_Variant documentation
[senf.git] / doclib / filter.pl
index 0fd65d3..dd192c8 100755 (executable)
@@ -1,8 +1,14 @@
 #!/usr/bin/perl -n
 
-if (/^\s*\\code\s*$/ .. /\\endcode/) {
-    $i=length((/^(\s*)/)[0]) if /^\s*\\code\s*$/;
-    print substr($_,$i);
+s/\s*$//;
+while (s/\t/' 'x(8-length($`)%8)/e) {}
+
+if (/^\s*\\code$/ .. /\\endcode/ && !/^$/) {
+    $i=length($1) if /^(\s*)\\code$/;
+    print substr($_,$i),"\n";
+} elsif (s/^(\s*)<pre>$/$1<pre class="fragment">/ .. /<\/pre>/ && !/^$/) {
+    $i=length($1) if /^(\s*)<pre class="fragment">$/;
+    print substr($_,$i),"\n";
 } else {
-    print;
+    print $_,"\n";
 }