xref: /plugin/mikioplugin/syntax/text.php (revision 2684b38b62a2bbc63dfc4600dfa481bc858c6937)
1*2684b38bSJames Collins<?php
2*2684b38bSJames Collins/**
3*2684b38bSJames Collins * Mikio Syntax Plugin: Text
4*2684b38bSJames Collins *
5*2684b38bSJames Collins * @link        http://github.com/nomadjimbob/mikioplugin
6*2684b38bSJames Collins * @license     GPL 2 (http://www.gnu.org/licenses/gpl.html)
7*2684b38bSJames Collins * @author      James Collins <james.collins@outlook.com.au>
8*2684b38bSJames Collins */
9*2684b38bSJames Collinsif (!defined('DOKU_INC')) die();
10*2684b38bSJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
11*2684b38bSJames Collinsrequire_once(dirname(__FILE__).'/core.php');
12*2684b38bSJames Collins
13*2684b38bSJames Collinsclass syntax_plugin_mikioplugin_color extends syntax_plugin_mikioplugin_core {
14*2684b38bSJames Collins    public $tag                 = 'text';
15*2684b38bSJames Collins    public $hasEndTag           = true;
16*2684b38bSJames Collins    public $options             = array(
17*2684b38bSJames Collins        'color'                 => array('type'    => 'color',    'default' => ''),
18*2684b38bSJames Collins        'size'                  => array('type'    => 'size',     'default' => ''),
19*2684b38bSJames Collins        'weight'                => array('type'    => 'choice',
20*2684b38bSJames Collins                                         'data'    => array('normal', 'bold', 'bolder', 'lighter', '100', '200', '300', '400', '500', '600', '700', '800', '900', 'initial', 'inherit'),
21*2684b38bSJames Collins                                         'default' => 'normal'),
22*2684b38bSJames Collins        'style'                 => array('type'    => 'text',     'default' => ''),
23*2684b38bSJames Collins        'background-color'      => array('type'    => 'color',    'default' => ''),
24*2684b38bSJames Collins        'line-height'           => array('type'    => 'float',    'default' => ''),
25*2684b38bSJames Collins        'text-decoration'       => array('type'    => 'text',     'default' => '1')
26*2684b38bSJames Collins    );
27*2684b38bSJames Collins
28*2684b38bSJames Collins    public function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
29*2684b38bSJames Collins    public function getPType() { return 'normal'; }
30*2684b38bSJames Collins
31*2684b38bSJames Collins    public function render_lexer_enter(Doku_Renderer $renderer, $data) {
32*2684b38bSJames Collins
33*2684b38bSJames Collins        $styles = $this->buildStyle(array(
34*2684b38bSJames Collins            'color'             => $data['color'],
35*2684b38bSJames Collins            'font-size'         => $data['size'],
36*2684b38bSJames Collins            'font-weight'       => $data['weight'],
37*2684b38bSJames Collins            'font-style'        => $data['style'],
38*2684b38bSJames Collins            'background-color'  => $data['background-color'],
39*2684b38bSJames Collins            'line-height'       => $data['line-height'],
40*2684b38bSJames Collins            'text-decoration'   => $data['text-decoration'],
41*2684b38bSJames Collins        ), TRUE);
42*2684b38bSJames Collins
43*2684b38bSJames Collins        $renderer->doc .= '<span' . $styles . '>';
44*2684b38bSJames Collins    }
45*2684b38bSJames Collins
46*2684b38bSJames Collins
47*2684b38bSJames Collins    public function render_lexer_exit(Doku_Renderer $renderer, $data) {
48*2684b38bSJames Collins        $renderer->doc .= '</span>';
49*2684b38bSJames Collins    }
50*2684b38bSJames Collins}
51*2684b38bSJames Collins
52*2684b38bSJames Collins?>