ブロック要素に任意の属性を付加します。
- 2004-04-15 (Thu) 01:18:43 テーブル(<table>)にも対応。
[block element attribute]
引用(<blockquote>)、リスト(<ul>)、段落(<p>)、テーブル(<table>)に任意の属性を付加することが出来るようになります。
記述例
- FormatRules
,(color:$1),style,color:$1;
- <blockquote>
>(color:red) 引用文
- <ul>
-(color:red) 箇条書き -箇条書き --(color:blue)箇条書き --箇条書き
- <p>
(color:red) 段落の文章
関連するカスタマイズ
text_to_html()内の変更
- 2003-09-06 (Sat) 23:32:42 属性にURLを書いてもおかしくならないように処理を修正
- 2003-09-07 (Sun) 00:40:32 inline()より先にextract_attr()を通すとインライン要素の属性を取得してしまうので元に戻しました。
リスト
} elsif (/^(-{1,3})(.*)/) { # yakty add [block element attribute] start my $text = &inline($2); my $attr = &extract_attr(\$text); &back_push('ul', length($1), \@saved, \@result, $attr); # yakty add [block element attribute] end #&back_push('ul', length($1), \@saved, \@result); # yakty del [block element attribute] #push(@result, '<li>' . &inline($2) . '</li>'); # yakty del [fix invalid html] # yakty add [fix invalid html] start if($form{mypage} eq $RecentChanges){ push(@result, '<li>' . $text . '</li>'); # yakty add [block element attribute] #push(@result, '<li>' . &inline($2) . '</li>'); # yakty del [block element attribute] } else { push(@result, shift(@saved)) if(@saved[0] eq '</li>'); push(@result, '<li>' . $text); # yakty add [block element attribute] #push(@result, '<li>' . &inline($2)); # yakty del [block element attribute] unshift(@saved,'</li>'); } # yakty add [fix invalid html] end
引用
} elsif (/^(>{1,3})(.*)/) { # yakty add [block element attribute] start my $text = &inline($2); my $attr = &extract_attr(\$text); &back_push('blockquote', length($1), \@saved, \@result, $attr); push(@result, '<p>' . $text); # yakty add [block element attribute] end # yakty del [block element attribute] start #&back_push('blockquote', length($1), \@saved, \@result); #push(@result, '<p>' . &inline($2)); # yakty del [block element attribute] end unshift(@saved, '</p>'); # yakty add [fix invalid html]
テーブル
} elsif (/^\,(.*?)[\x0D\x0A]*$/) { #&back_push('table', 1, \@saved, \@result, ' border="1"'); # yakty del [block element attribute] ####### # This part is taken from Mr. Ohzaki's Perl Memo and Makio Tsukamoto's WalWiki. # XXXXX my $tmp = "$1,"; my $attr = &extract_attr(\$tmp); # yakty add [block element attribute] &back_push('table', 1, \@saved, \@result, ' border="1"' . $attr); # yakty add [block element attribute]
段落
} else { # yakty add [block element attribute] start my $text = &inline($_); my $attr = &extract_attr(\$text); # yakty add [block element attribute] end # yakty add [fix invalid html] start if($#saved < 0){ # yakty add [block element attribute] start unshift(@saved, '</p>'); push(@result, "<p$attr>"); # yakty add [block element attribute] end # yakty add [keep newline] start } elsif(@saved[0] eq '</p>'){ push(@result, '<br />'); } # yakty add [fix invalid html] end #push(@result, &inline($_)); # yakty del [block element attribute] push(@result, $text); # yakty add [block element attribute] }