Added the markdown filter for the description of the project.
This commit is contained in:
		
							
								
								
									
										102
									
								
								src/IDF/Template/Markdown.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								src/IDF/Template/Markdown.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					# ***** BEGIN LICENSE BLOCK *****
 | 
				
			||||||
 | 
					# This file is part of InDefero, an open source project management application.
 | 
				
			||||||
 | 
					# Copyright (C) 2008 Céondo Ltd and contributors.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# InDefero is free software; you can redistribute it and/or modify
 | 
				
			||||||
 | 
					# it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					# the Free Software Foundation; either version 2 of the License, or
 | 
				
			||||||
 | 
					# (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# InDefero is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					# along with this program; if not, write to the Free Software
 | 
				
			||||||
 | 
					# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# ***** END LICENSE BLOCK ***** */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pluf::loadFunction('Pluf_Text_MarkDown_parse');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function IDF_Template_Markdown_filter($mdtext)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    $filter = new IDF_Template_Markdown();
 | 
				
			||||||
 | 
					    return Pluf_Template::markSafe(Pluf_Text_MarkDown_parse($filter->go($mdtext)));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Strict class to only allow entities.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					class IDF_Template_Markdown extends Pluf_Text_HTML_Filter
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public $allowed = array();
 | 
				
			||||||
 | 
					    public $always_close = array();
 | 
				
			||||||
 | 
					    public $remove_blanks = array();
 | 
				
			||||||
 | 
					    public $allowed_entities = array(
 | 
				
			||||||
 | 
					                                     'amp',
 | 
				
			||||||
 | 
					                                     'gt',
 | 
				
			||||||
 | 
					                                     'lt',
 | 
				
			||||||
 | 
					                                     'quot',
 | 
				
			||||||
 | 
					                                     'nbsp',
 | 
				
			||||||
 | 
					                                     'ndash',
 | 
				
			||||||
 | 
					                                     'rdquo',
 | 
				
			||||||
 | 
					                                     'ldquo',
 | 
				
			||||||
 | 
					                                     'Alpha',
 | 
				
			||||||
 | 
					                                     'Beta', 
 | 
				
			||||||
 | 
					                                     'Gamma', 
 | 
				
			||||||
 | 
					                                     'Delta', 
 | 
				
			||||||
 | 
					                                     'Epsilon', 
 | 
				
			||||||
 | 
					                                     'Zeta', 
 | 
				
			||||||
 | 
					                                     'Eta', 
 | 
				
			||||||
 | 
					                                     'Theta', 
 | 
				
			||||||
 | 
					                                     'Iota', 
 | 
				
			||||||
 | 
					                                     'Kappa', 
 | 
				
			||||||
 | 
					                                     'Lambda', 
 | 
				
			||||||
 | 
					                                     'Mu', 
 | 
				
			||||||
 | 
					                                     'Nu', 
 | 
				
			||||||
 | 
					                                     'Xi', 
 | 
				
			||||||
 | 
					                                     'Omicron', 
 | 
				
			||||||
 | 
					                                     'Pi', 
 | 
				
			||||||
 | 
					                                     'Rho', 
 | 
				
			||||||
 | 
					                                     'Sigma', 
 | 
				
			||||||
 | 
					                                     'Tau', 
 | 
				
			||||||
 | 
					                                     'Upsilon', 
 | 
				
			||||||
 | 
					                                     'Phi', 
 | 
				
			||||||
 | 
					                                     'Chi', 
 | 
				
			||||||
 | 
					                                     'Psi', 
 | 
				
			||||||
 | 
					                                     'Omega', 
 | 
				
			||||||
 | 
					                                     'alpha', 
 | 
				
			||||||
 | 
					                                     'beta', 
 | 
				
			||||||
 | 
					                                     'gamma', 
 | 
				
			||||||
 | 
					                                     'delta', 
 | 
				
			||||||
 | 
					                                     'epsilon', 
 | 
				
			||||||
 | 
					                                     'zeta', 
 | 
				
			||||||
 | 
					                                     'eta', 
 | 
				
			||||||
 | 
					                                     'theta', 
 | 
				
			||||||
 | 
					                                     'iota', 
 | 
				
			||||||
 | 
					                                     'kappa', 
 | 
				
			||||||
 | 
					                                     'lambda', 
 | 
				
			||||||
 | 
					                                     'mu', 
 | 
				
			||||||
 | 
					                                     'nu', 
 | 
				
			||||||
 | 
					                                     'xi', 
 | 
				
			||||||
 | 
					                                     'omicron', 
 | 
				
			||||||
 | 
					                                     'pi', 
 | 
				
			||||||
 | 
					                                     'rho', 
 | 
				
			||||||
 | 
					                                     'sigmaf', 
 | 
				
			||||||
 | 
					                                     'sigma', 
 | 
				
			||||||
 | 
					                                     'tau', 
 | 
				
			||||||
 | 
					                                     'upsilon', 
 | 
				
			||||||
 | 
					                                     'phi', 
 | 
				
			||||||
 | 
					                                     'chi', 
 | 
				
			||||||
 | 
					                                     'psi', 
 | 
				
			||||||
 | 
					                                     'omega', 
 | 
				
			||||||
 | 
					                                     'thetasym', 
 | 
				
			||||||
 | 
					                                     'upsih', 
 | 
				
			||||||
 | 
					                                     'piv',
 | 
				
			||||||
 | 
					                                     );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -83,6 +83,7 @@ $cfg['template_tags'] = array(
 | 
				
			|||||||
                              );
 | 
					                              );
 | 
				
			||||||
$cfg['template_modifiers'] = array(
 | 
					$cfg['template_modifiers'] = array(
 | 
				
			||||||
                                   'size' => 'IDF_Views_Source_PrettySize',
 | 
					                                   'size' => 'IDF_Views_Source_PrettySize',
 | 
				
			||||||
 | 
					                                   'markdown' => 'IDF_Template_Markdown_filter',
 | 
				
			||||||
                                   );
 | 
					                                   );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
{extends "base.html"}
 | 
					{extends "base.html"}
 | 
				
			||||||
 | 
					{block docclass}yui-t2{/block}
 | 
				
			||||||
{block tabhome} class="active"{/block}
 | 
					{block tabhome} class="active"{/block}
 | 
				
			||||||
{block subtabs}
 | 
					{block subtabs}
 | 
				
			||||||
<div id="sub-tabs">
 | 
					<div id="sub-tabs">
 | 
				
			||||||
@@ -6,7 +7,7 @@
 | 
				
			|||||||
</div>
 | 
					</div>
 | 
				
			||||||
{/block}
 | 
					{/block}
 | 
				
			||||||
{block body}
 | 
					{block body}
 | 
				
			||||||
{$project.description}
 | 
					{$project.description|markdown}
 | 
				
			||||||
{/block}
 | 
					{/block}
 | 
				
			||||||
{block context}
 | 
					{block context}
 | 
				
			||||||
{assign $ko = 'owners'}
 | 
					{assign $ko = 'owners'}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user