NAME
Text::HikiDoc - Pure Perl implementation of 'HikiDoc' which is a text-to-HTML conversion tool.
SYNOPSIS
use Text::HikiDoc;
# $text = '!Title';
# $html = '<h1>Title</h1>';
$obj = Text::HikiDoc->new();
$html = $obj->to_html($text);
  or
$obj = Text::HikiDoc->new($text);
$html = $obj->to_html();
# $text = "!Title\n----\n!!SubTitle";
# $html = "<h2>Title</h2>\n<hr />\n<h3>SubTitle</h3>\n";
$obj = Text::HikiDoc->new({
                           string => $text,
                           level => 2,
                           empty_element_suffix => ' />',
                           br_mode => 'true',
                           table_border => 'false',
                          });
  or
$obj = Text::HikiDoc->new($text, 2, ' />', 'true', 'false');
$html = $obj->to_html();
# $text = "!Title\n----\n!!SubTitle\nhogehoge{{br}}fugafuga";
# $html = "<h1>Title</h1>\n<hr />\n<h2>SubTitle</h2>\n<p>hogehoge<br />fugafuga</p>\n";
$obj = Text::HikiDoc->new();
$obj->enable_plugin('br');
$html = $obj->to_html($text);
$obj->enable_plugin('br','ins');
@plugins = $obj->plugin_list; # br, ins
$obj->is_enabled('br'); # 1
$obj->is_enabled('pr'); # 0
DESCRIPTION
'HikiDoc' is a text-to-HTML conversion tool for web writers. The original 'HikiDoc' is Ruby implementation.
This library is pure perl implementation of 'HikiDoc', and has interchangeability with the original.
Methods
new
- string
 - 
Set text data.
 - level
 - 
Set headings level. Default setting is '1'. If you set '2', heading tags will start '<h2>'.
 - empty_element_suffix
 - 
Set empty element suffix. Default setting is ' />'.
ex. Default horizontal line is '<hr />'. You can change it '<hr>' If you set '>'.
 - br_mode
 - 
When br_mode is 'true', changing line in paragraph is replaced 'br' tag. Default setting is 'false'.
This is an original enhancing of this library that is not in the original 'HikiDoc'.
 - table_border
 - 
When table_border is 'false', 'table' tag is '<table>'. When it is 'true', add 'border="1"' in table tag. Default setting is 'true'.
This is an original enhancing of this library that is not in the original 'HikiDoc'.
 
This method creates a new HikiDoc object. The following parameters are accepted.
to_html
- string
 - 
Set text data. If 'string' is specified by both new() and to_html(), to_html is given to priority.
 
This method converts string to html
enable_plugin(@args)
This method enables plugin module. '@args' is list of plugin names.
plugin_list
This method returns array of enabled plugin lists.
is_enabled($str)
This method returns 1 or 0. If enabled plugin "$str", return 1.
Plugin
Text::HikiDoc can be enhanced by the plug-in. When you use the plug-in, enable_plugin() is used.
Text::HikiDoc::Plugin::aa
{{aa "
             (__)
            (oo)
     /-------\/
    / |     ||
   *  ||----||
      ~~    ~~
"}}
is replaced with
<pre class="ascii-art">
             (__)
            (oo)
     /-------\/
    / |     ||
   *  ||----||
      ~~    ~~
</pre>
If Text::HikiDoc::Plugin::texthighlight or Text::HikiDoc::Plugin::vimcolor is enabled, you can write
<<< aa
             (__)
            (oo)
     /-------\/
    / |     ||
   *  ||----||
      ~~    ~~
>>>
Text::HikiDoc::Plugin::br
{{br}}
is replaced with
<br />
Text::HikiDoc::Plugin::e
{{e('hearts')}} {{e('9829')}}
is replaced with
♥ ♥
Text::HikiDoc::Plugin::ins
{{ins 'insert part'}}
is replaced with
<ins>insert part</ins>
Text::HikiDoc::Plugin::sub
H{{sub('2')}}O
is replaced with
H<sub>2</sub>O
Text::HikiDoc::Plugin::sup
2{{sup(3)}}=8
is replaced with
2<sup>3</sup>=8
Text::HikiDoc::Plugin::texthighlight
Syntax color text is added to the pre mark. That uses Text::Highlight .
The following, it is highlighted as the source code of Perl. When writing instead of"<<< Perl" as "<<<", it becomes a usual pre mark.
<<< Perl
sub dummy {
    $string = shift;
    $string =~ /$PLUGIN_RE/;
    print "s:$string\tm:$1\ta:$2\n";
    $a = $2;
    $a =~ s/^\s*(.*)\s*$/$1/;
    if ( $a =~ /($PLUGIN_RE)/ ) {
        &hoge($a);
    }
    return $string;
}
>>>
NOTE: Method of mounting this plug-in will change in the future.
Text::HikiDoc::Plugin::vimcolor
Syntax color text is added to the pre mark. That uses Text::VimColor .
NOTE: Method of mounting this plug-in will change in the future.
SEE ALSO
- The original 'HikiDoc' site
 - 
http://projects.netlab.jp/hikidoc/
 - Text::HikiDoc::Plugin
 - Text::HikiDoc::Plugin::aa
 - Text::HikiDoc::Plugin::br
 - Text::HikiDoc::Plugin::e
 - Text::HikiDoc::Plugin::ins
 - Text::HikiDoc::Plugin::sub
 - Text::HikiDoc::Plugin::sup
 - Text::HikiDoc::Plugin::texthighlight
 - Text::HikiDoc::Plugin::vimcolor
 
AUTHORS
The original 'HikiDoc' was written by Kazuhiko <kazuhiko@fdiary.net>
This release was made by Kawabata, Kazumichi (Higemaru) <kawabata@cpan.org> http://haro.jp/
COPYRIGHT AND LICENSE
This library 'HikiDoc.pm' is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Copyright (C) 2006- Kawabata, Kazumichi (Higemaru) <kawabata@cpan.org>