[ 新規 | 編集 | 差分 ] [ 検索 | 一覧 | FrontPage ] [ 履歴 (RSS) | 差分履歴 (RSS) ] [ ログイン ]
【PR】Amazon | SL-C3000 | SL-C1000(3/18発売!) | SL-C860 | SL-6000W | SL-6000L | SL-6000N

WalWiki/カスタマイズ/ブロック要素への任意属性付加

編集

ブロック要素に任意の属性を付加します。

[block element attribute]

編集

引用(<blockquote>)、リスト(<ul>)、段落(<p>)、テーブル(<table>)に任意の属性を付加することが出来るようになります。

記述例

関連するカスタマイズ

編集

整形ルールの定義

text_to_html()内の変更

編集

リスト

        } 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]
        }

02494