roller-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gma...@apache.org
Subject svn commit: r1610800 - /roller/cmssite/trunk/lib/OpenEJBSiteDotiacFilter.pm
Date Tue, 15 Jul 2014 18:36:07 GMT
Author: gmazza
Date: Tue Jul 15 18:36:06 2014
New Revision: 1610800

URL: http://svn.apache.org/r1610800
Log:
Added missing Perl module used by Isis.

Added:
    roller/cmssite/trunk/lib/OpenEJBSiteDotiacFilter.pm

Added: roller/cmssite/trunk/lib/OpenEJBSiteDotiacFilter.pm
URL: http://svn.apache.org/viewvc/roller/cmssite/trunk/lib/OpenEJBSiteDotiacFilter.pm?rev=1610800&view=auto
==============================================================================
--- roller/cmssite/trunk/lib/OpenEJBSiteDotiacFilter.pm (added)
+++ roller/cmssite/trunk/lib/OpenEJBSiteDotiacFilter.pm Tue Jul 15 18:36:06 2014
@@ -0,0 +1,67 @@
+package OpenEJBSiteDotiacFilter;
+use strict;
+use warnings;
+use Text::Markdown qw( markdown );
+use Dotiac::DTL::Value;
+use Dotiac::DTL::Filter;
+
+sub import {
+    *Dotiac::DTL::Filter::markdown = \&markdown_filter;
+}
+
+sub markdown_filter {
+
+    my $value = shift;
+
+    # Use raw value rather than escape (by calling repr() rather than
+    # string()) so that we can embed html in our .mdtext documents.
+    my $raw  = $value->repr;
+
+    $raw =~ s,\(/\),<IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif"
height="16" width="16" align="absmiddle" alt="" border="0">,g;
+    $raw =~ s,\(x\),<IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/error.gif"
height="16" width="16" align="absmiddle" alt="" border="0">,g;
+
+
+    my $start = "{{{{{";
+    my $end = "}}}}}";
+
+    $raw =~ s,(^|\n){,$start,g;
+    $raw =~ s,(^|\n)},$end,g;
+
+    my $html = markdown($raw);
+
+    $html =~ s,$start([a-z0-9-]+),<div class="$1">,g;
+    $html =~ s,$end,</div>,g;
+
+    $html =~ s,<li><p>,<li>,g;
+    $html =~ s,</p></li>,</li>,g;
+
+
+    # Blindly mark return value as safe.
+    my $retval = Dotiac::DTL::Value->safe($html);
+
+    return $retval;
+}
+
+1;
+
+__END__
+
+=head1 LICENSE
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.  The
+    ASF licenses this file to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance with the
+    License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+    License for the specific language governing permissions and limitations
+    under the License.
+
+=cut
+



Mime
View raw message