$wiki->add_paragraph_plugin("caption" ,"plugin::book::Caption" ,"HTML");
$wiki->add_paragraph_plugin("toc" ,"plugin::book::Toc" ,"HTML");
$wiki->add_inline_plugin("link" ,"plugin::book::Link" ,"HTML");
- $wiki->add_inline_plugin("slink" ,"plugin::book::SLink" ,"HTML");
$wiki->add_block_plugin("list" ,"plugin::book::List" ,"HTML");
$wiki->add_inline_plugin("code" ,"plugin::book::Code" ,"HTML");
a.xref {
background-color: silver;
+ border: 1px solid gray;
}
a.xref:link {
+++ /dev/null
-################################################################################
-#
-# <p>¸«½Ð¤·¤ä¿Þɽ¤Ø¤Î¥ê¥ó¥¯¤ò½ÐÎϤ¹¤ë¤¿¤á¤Î¥¤¥ó¥é¥¤¥ó¥×¥é¥°¥¤¥ó¤Ç¤¹¡£</p>
-# <p>°ú¿ô¤Ë¤Ïtitle1¡Átitle3¥×¥é¥°¥¤¥ó¤äcaption¥×¥é¥°¥¤¥ó¤Çµ½Ò¤·¤¿»²¾ÈÍѤΥé¥Ù¥ë¤ò»ØÄꤷ¤Þ¤¹¡£</p>
-# <pre>
-# !!!{{title1 installation}}¥¤¥ó¥¹¥È¡¼¥ëÊýË¡
-# ...
-# ¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï{{slink installation}}¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-# </pre>
-# <p>Âè2°ú¿ô¤Ç¥Ú¡¼¥¸¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢ÊÌ¥Ú¡¼¥¸¤Î¸«½Ð¤·¤ä¿Þɽ¤ò»²¾È¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£</p>
-# <pre>
-# ¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï{{slink installation,Chapter1}}¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-# </pre>
-#
-################################################################################
-package plugin::book::SLink;
-#==============================================================================
-# ¥³¥ó¥¹¥È¥é¥¯¥¿
-#==============================================================================
-sub new {
- my $class = shift;
- my $self = {};
- my $self->{cache} = {};
- return bless $self,$class;
-}
-
-#==============================================================================
-# ¥¤¥ó¥é¥¤¥ó¥á¥½¥Ã¥É
-#==============================================================================
-sub inline {
- my $self = shift;
- my $wiki = shift;
- my $anchor = shift;
- my $page = shift;
-
- $page = $wiki->get_CGI->param('page') unless $page;
- my $source = $wiki->get_page($page);
-
- unless(defined($self->{cache}->{$page})){
- $self->{cache}->{$page} = {};
- my $source = $wiki->get_page($page);
-
- my $text = '';
-
- my @lines = split(/\n/,$wiki->get_page($page));
- my $chapter = '';
- my $count = {};
- my $title1Count = 0;
- my $title2Count = 0;
- my $title3Count = 0;
-
- # TODO {{pre}}¥×¥é¥°¥¤¥óÆâ¤Îµ½Ò¤ÏÈô¤Ð¤µ¤Ê¤¤¤È¥À¥á¡ª¡ª¥Ñ¡¼¥µ¤òºî¤é¤Ê¤¤¤È¥À¥á¤Ã¤Ý¤¤¡©
- foreach my $line (@lines){
- if($line =~ /^{{(chapter.+}})$/){
- my $plugin = $wiki->parse_inline_plugin($1);
- $chapter = $plugin->{'args'}->[0];
- $title1Count = 0;
- $title2Count = 0;
- $title3Count = 0;
- foreach my $key (keys(%$count)){
- $count->{$key} = 0;
- }
- } elsif($line =~ /^!!!{{(title1.+}})(.+)$/){
- my $plugin = $wiki->parse_inline_plugin($1);
- $title1Count++;
- $title2Count = 0;
- $title3Count = 0;
- $text= $chapter.'-'.$title1Count;
- $self->{cache}->{$page}->{$plugin->{'args'}->[0]} = $text;
-
- } elsif($line =~ /^!!{{(title2.+}})$/){
- my $plugin = $wiki->parse_inline_plugin($1);
- $title2Count++;
- $title3Count = 0;
- $text= $chapter.'-'.$title1Count.'-'.$title2Count;
- $self->{cache}->{$page}->{$plugin->{'args'}->[0]} = $text;
-
- } elsif($line =~ /^!{{(title3.+}})$/){
- my $plugin = $wiki->parse_inline_plugin($1);
- $title3Count++;
- $text= $chapter.'-'.$title1Count.'-'.$title2Count.'-'.$title3Count;
- $self->{cache}->{$page}->{$plugin->{'args'}->[0]} = $text;
-
- } elsif($line =~ /^{{(caption.+}})$/){
- my $plugin = $wiki->parse_inline_plugin($1);
- my $type = $plugin->{'args'}->[0];
- $count->{$type}++;
- $text = $type.$chapter.'-'.$count->{$type};
- $self->{cache}->{$page}->{$plugin->{'args'}->[2]} = $text;
- }
- }
- }
- if(defined($self->{cache}->{$page}->{$anchor})){
- my $text = $self->{cache}->{$page}->{$anchor};
- return '<a href="?page='.Util::url_encode($page).'#'.Util::escapeHTML($anchor).'" style="border: 1px solid black;">'.Util::escapeHTML($text).'</a>';
- } else {
- return '<span class="xref-error">»²¾ÈÀ褬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡ª</span>';
- }
-}
-
-1;