NAME
Text::Hatena - Perl extension for formatting text with Hatena Style.
SYNOPSIS
use
Text::Hatena;
my
$html
= Text::Hatena->parse(
$text
);
DESCRIPTION
Text::Hatena parses text with Hatena Style and generates html string. Hatena Style is a set of text syntax which is originally used in Hatena Diary (http://d.hatena.ne.jp/).
You can get html string from simple text with syntax like Wiki.
- Incompatibility at version 0.20
-
All codes were rewritten at version 0.20 and some functions were removed. API for parsing text were changed too. Please be careful to upgrade your Text::Hatena to version 0.20+.
METHODS
Here are common methods of Text::Hatena.
Text::Hatena Syntax
Text::Hatena supports some simple markup language, which is similar to the Wiki format.
- Paragraphs
-
Basically each line becomes a paragraph. If you want to force a newline in a paragraph, you can use a line break markup of HTML.
Text::Hatena treats a blank line as the end of a block. A blank line after a paragraph does not affect the output. Two blank lines are translated into a line break, three blank lines are translated into two line breaks and so on.
To stop generating paragraphs automatically, start a line with >< (greater-than sign and less-than sign). The first > (greater-than sign) will be omitted. If you end a line with ><, it will stop. The last < (less-than sign) will be omitted.
><div class=
"foo"
>A div block without paragraph.</div><
><form action=
"foo.cgi"
method=
"put"
>
To insert a from,
write
as you see here.
<input type=
"text"
name=
"a"
/>
<input type=
"submit"
/>
</form><
- Headlines
-
To create a section headline, start a line with a star followed by an anchor, a star, some tags of categories and a section title.
*A
line
with
a star becomes section headline
More stars mean deeper levels of headlines. You can use up to three stars for headlines.
*
*Start
a line
with
two stars to create a 4th level headline
**
*Start
a line
with
three stars to create a 5th level headline.
- Lists and Tables
-
Text::Hatena supports ordered and unordered lists. Start every line with a minus (-) for unordered lists or a plus (+) for ordered ones. More marks mean deeper levels. You can show the end of the lists by a blank line.
-Start a line
with
minuses to create an unordered list item.
+Start a line
with
pluses to create an ordered list item.
++They can be nested.
Text::Hatena supports definition lists. Start every line with a colon followed by a term, a colon, and a description.
:term:description
You can create tables by using a simple syntax. Table rows have to start and end with a vertical bar (|). Separete every cell with a vertical bar (|). To turn cells into headers, begin them with a star.
|
*header1
|
*header2
|
|colum1|colum2|
- Blockquotes
-
To make a blockquote, enclose line(s) with >> (double greater-than sign) and << (double less-than sign). Marks should be placed in separate lines; don't start quoting line(s) with >> or end them with <<. Blockquotes may be nested.
>>
To make a blockquote, enclose line(s)
with
>> (double greater-than sign)
and << (double less-than sign).
<<
- Preformatted texts
-
To make a preformatted text, enclose line(s) with >| (a greater-than sign followed by a vertical bar) and |< (a vertical var followed by a less-than sign).
Every >| should be placed in separate lines; don't start preformatted line(s) with >|. But some preformatted texts may be closed by |< after the last lines without separating lines.
>|
To make a preformatted text, enclose line(s)
with
>|
(a greater-than sign followed by a vertical bar) and |<
(a vertical var followed by a less-than sign).
|<
This also works well.
>|
To make a preformatted text, enclose line(s)
with
>|
(a greater-than sign followed by a vertical bar) and |<
(a vertical var followed by a less-than sign).|<
To encode special characters into HTML entities, use >|| and ||< for >| and |<. The characters to be replaced are less-than signs (<), greater-than signs (>), double quotes ("), and ampersands (&).
>||
To encode special characters into HTML entities,
use
>|| and ||<
for
>| and |<.
||<
SEE ALSO
http://d.hatena.ne.jp/ (Japanese)
AUTHOR
Junya Kondo, <jkondo@hatena.ne.jp>
COPYRIGHT AND LICENSE
Copyright (C) Hatena Inc. All Rights Reserved.
This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.