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/'); 16356cfb16SMichael Klierrequire_once(DOKU_PLUGIN.'syntax.php'); 17f1160750SMichael Klierif(!defined('DW_LF')) define('DW_LF',"\n"); 18f1160750SMichael Klier 19f1160750SMichael Klier/** 20f1160750SMichael Klier * All DokuWiki plugins to extend the parser/rendering mechanism 21f1160750SMichael Klier * need to inherit from this class 22f1160750SMichael Klier */ 23f1160750SMichael Klierclass syntax_plugin_clearfloat extends DokuWiki_Syntax_Plugin { 24f1160750SMichael Klier 25f1160750SMichael Klier /** 26f1160750SMichael Klier * Syntax Type 27f1160750SMichael Klier * 28f1160750SMichael Klier * Needs to return one of the mode types defined in $PARSER_MODES in parser.php 29f1160750SMichael Klier */ 30f1160750SMichael Klier function getType() { return 'substition'; } 31f1160750SMichael Klier function getPType() { return 'block'; } 32f1160750SMichael Klier function getSort() { return 308; } 33f1160750SMichael Klier 34f1160750SMichael Klier /** 35f1160750SMichael Klier * Connect pattern to lexer 36f1160750SMichael Klier */ 37f1160750SMichael Klier function connectTo($mode) { 38f1160750SMichael Klier $this->Lexer->addSpecialPattern('~~CLEARFLOAT~~',$mode,'plugin_clearfloat'); 391e0871f0SMichael Klier $this->Lexer->addSpecialPattern('~~CL~~',$mode,'plugin_clearfloat'); 40f1160750SMichael Klier } 41f1160750SMichael Klier 42f1160750SMichael Klier /** 43f1160750SMichael Klier * Handler to prepare matched data for the rendering process 44f1160750SMichael Klier */ 45*7127f6ddSGerry Weißbach function handle($match, $state, $pos, Doku_Handler $handler){ 46f1160750SMichael Klier return array(); 47f1160750SMichael Klier } 48f1160750SMichael Klier 49f1160750SMichael Klier /** 50f1160750SMichael Klier * Handles the actual output creation. 51f1160750SMichael Klier */ 52*7127f6ddSGerry Weißbach function render($mode, Doku_Renderer $renderer, $data) { 53f1160750SMichael Klier if($mode == 'xhtml'){ 54a8dc4981SMichael Klier $renderer->doc .= '<div class="clearer"></div>' . DW_LF; 55f1160750SMichael Klier return true; 56f1160750SMichael Klier } 57f1160750SMichael Klier return false; 58f1160750SMichael Klier } 59f1160750SMichael Klier 60f1160750SMichael Klier} 6124cec344SMichael Klier// vim:ts=4:sw=4:et:enc=utf-8: 62