xref: /plugin/mikioplugin/syntax/text.php (revision 3a0ad8d394ede994db68f1ed17eff796c659fc4a)
12684b38bSJames Collins<?php
22684b38bSJames Collins/**
32684b38bSJames Collins * Mikio Syntax Plugin: Text
42684b38bSJames Collins *
52684b38bSJames Collins * @link        http://github.com/nomadjimbob/mikioplugin
62684b38bSJames Collins * @license     GPL 2 (http://www.gnu.org/licenses/gpl.html)
72684b38bSJames Collins * @author      James Collins <james.collins@outlook.com.au>
82684b38bSJames Collins */
92684b38bSJames Collinsif (!defined('DOKU_INC')) die();
102684b38bSJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
11*3a0ad8d3SJames Collinsrequire_once(__DIR__.'/core.php');
122684b38bSJames Collins
13c63a940aSJames Collinsclass syntax_plugin_mikioplugin_text extends syntax_plugin_mikioplugin_core {
142684b38bSJames Collins    public $tag                 = 'text';
152684b38bSJames Collins    public $hasEndTag           = true;
162684b38bSJames Collins    public $options             = array(
172684b38bSJames Collins        'color'                 => array('type'    => 'color',    'default' => ''),
182684b38bSJames Collins        'size'                  => array('type'    => 'size',     'default' => ''),
192684b38bSJames Collins        'weight'                => array('type'    => 'choice',
202684b38bSJames Collins                                         'data'    => array('normal', 'bold', 'bolder', 'lighter', '100', '200', '300', '400', '500', '600', '700', '800', '900', 'initial', 'inherit'),
212684b38bSJames Collins                                         'default' => 'normal'),
222684b38bSJames Collins        'style'                 => array('type'    => 'text',     'default' => ''),
232684b38bSJames Collins        'background-color'      => array('type'    => 'color',    'default' => ''),
242684b38bSJames Collins        'line-height'           => array('type'    => 'float',    'default' => ''),
2580a91919SJames Collins        'text-decoration'       => array('type'    => 'text',     'default' => ''),
26c63a940aSJames Collins        'block'                 => array('type'    => 'boolean',    'default' => 'false'),
272684b38bSJames Collins    );
282684b38bSJames Collins
292684b38bSJames Collins    public function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
302684b38bSJames Collins    public function getPType() { return 'normal'; }
312684b38bSJames Collins
322684b38bSJames Collins    public function render_lexer_enter(Doku_Renderer $renderer, $data) {
332684b38bSJames Collins
342684b38bSJames Collins        $styles = $this->buildStyle(array(
358127a956SJames Collins            'color'             => $data['color'] ?? '',
368127a956SJames Collins            'font-size'         => $data['size'] ?? '',
378127a956SJames Collins            'font-weight'       => $data['weight'] ?? '',
388127a956SJames Collins            'font-style'        => $data['style'] ?? '',
398127a956SJames Collins            'background-color'  => $data['background-color'] ?? '',
408127a956SJames Collins            'line-height'       => $data['line-height'] ?? '',
418127a956SJames Collins            'text-decoration'   => $data['text-decoration'] ?? '',
42c63a940aSJames Collins            'display'           => ($data['block'] ? 'block' : 'inline-block'),
432684b38bSJames Collins        ), TRUE);
442684b38bSJames Collins
452684b38bSJames Collins        $renderer->doc .= '<span' . $styles . '>';
462684b38bSJames Collins    }
472684b38bSJames Collins
482684b38bSJames Collins
492684b38bSJames Collins    public function render_lexer_exit(Doku_Renderer $renderer, $data) {
502684b38bSJames Collins        $renderer->doc .= '</span>';
512684b38bSJames Collins    }
522684b38bSJames Collins}
532684b38bSJames Collins
542684b38bSJames Collins?>