1f1160750SMichael Klier<?php 2f1160750SMichael Klier/** 328f301c8SMichael Klier * DokuWiki Syntax Plugin Clearfloat 4f1160750SMichael Klier * 5c7dc63eaSMichael Klier * Clears the floating of elements such as images. 6c7dc63eaSMichael Klier * 7c7dc63eaSMichael Klier * Syntax: ~~CLEARFLOAT~~ or ~~CL~~ 8c7dc63eaSMichael Klier * 9f1160750SMichael Klier * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 10f1160750SMichael Klier * @author Michael Klier <chi@chimeric.de> 11*7127f6ddSGerry Weißbach * @author i-net /// software GmbH <tools@inetsoftware.de> 12f1160750SMichael Klier */ 13f1160750SMichael Klier 14f1160750SMichael Klierif(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/'); 15f1160750SMichael Klierif(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 16f1160750SMichael Klierif(!defined('DW_LF')) define('DW_LF',"\n"); 17f1160750SMichael Klier 18f1160750SMichael Klier/** 19f1160750SMichael Klier * All DokuWiki plugins to extend the parser/rendering mechanism 20f1160750SMichael Klier * need to inherit from this class 21f1160750SMichael Klier */ 22f1160750SMichael Klierclass syntax_plugin_clearfloat extends DokuWiki_Syntax_Plugin { 23f1160750SMichael Klier 24f1160750SMichael Klier /** 25f1160750SMichael Klier * Syntax Type 26f1160750SMichael Klier * 27f1160750SMichael Klier * Needs to return one of the mode types defined in $PARSER_MODES in parser.php 28f1160750SMichael Klier */ 29f1160750SMichael Klier function getType() { return 'substition'; } 30f1160750SMichael Klier function getPType() { return 'block'; } 31f1160750SMichael Klier function getSort() { return 308; } 32f1160750SMichael Klier 33f1160750SMichael Klier /** 34f1160750SMichael Klier * Connect pattern to lexer 35f1160750SMichael Klier */ 36f1160750SMichael Klier function connectTo($mode) { 37f1160750SMichael Klier $this->Lexer->addSpecialPattern('~~CLEARFLOAT~~',$mode,'plugin_clearfloat'); 381e0871f0SMichael Klier $this->Lexer->addSpecialPattern('~~CL~~',$mode,'plugin_clearfloat'); 39f1160750SMichael Klier } 40f1160750SMichael Klier 41f1160750SMichael Klier /** 42f1160750SMichael Klier * Handler to prepare matched data for the rendering process 43f1160750SMichael Klier */ 44*7127f6ddSGerry Weißbach function handle($match, $state, $pos, Doku_Handler $handler){ 45f1160750SMichael Klier return array(); 46f1160750SMichael Klier } 47f1160750SMichael Klier 48f1160750SMichael Klier /** 49f1160750SMichael Klier * Handles the actual output creation. 50f1160750SMichael Klier */ 51*7127f6ddSGerry Weißbach function render($mode, Doku_Renderer $renderer, $data) { 52f1160750SMichael Klier if($mode == 'xhtml'){ 53a8dc4981SMichael Klier $renderer->doc .= '<div class="clearer"></div>' . DW_LF; 54f1160750SMichael Klier return true; 55f1160750SMichael Klier } 56f1160750SMichael Klier return false; 57f1160750SMichael Klier } 58f1160750SMichael Klier 59f1160750SMichael Klier} 6024cec344SMichael Klier// vim:ts=4:sw=4:et:enc=utf-8: 61