ページの作成や編集にはユーザ登録が必要です。
同一レベルのリストは最初のリスト型に統一
- 投稿者: aky
- カテゴリ: 本体
- 優先度: 緊急
- 状態: リリース済
- 日時: 2005年08月15日 00時45分56秒
内容
番号付きリストと番号無しリストが隣接すると、正しく表示されない。
■例(その1) [表記1] *UL箇条書き1 *UL箇条書き2 +OL箇条書き1 +OL箇条書き2 [画面表示1] ・ UL箇条書き1 ・ UL箇条書き2 ・ OL箇条書き1 ・ OL箇条書き2
■例(その2) [表記2] +OL箇条書き1 +OL箇条書き2 *UL箇条書き1 *UL箇条書き2 [画面表示2] 1. OL箇条書き1 2. OL箇条書き2 3. UL箇条書き1 4. UL箇条書き2
コメント
- これは、私も気づいていました。リストは最初のリスト型に統一されてしまうようですね。私の場合ですが、番号付きと番号なしとでは、明らかに別のパラグラフ(段落)と解釈して、別パラグラフとするために1行空行を入れて使うようにしています。 - A_M (2005年08月15日 15時27分19秒)
- すみません。上記’’’同一レベルのリストは最初のリスト型に統一’’’と改めてください。 - A_M (2005年08月15日 15時29分38秒)
- タイトルを変更しました。 - aky (2005年08月15日 22時42分51秒)
- 修正はこんな感じでしょうか。HTML的にレベルが上がる場合しかネストは無理のようなのでレベルが下がる場合にはリストをいったん閉じます。あとend_listで変数クリアしてないのでとある条件で余分に</li>が出力されていたのも修正(表示は変わらないけど)。3.6.5用のもので確認。HTMLParser.pmです。 - 名無し (2015年10月10日 22時46分35秒)
sub new { ・・・ + $self->{listtype} = 0; ・・・
sub l_list { my $self = shift; my $level = shift; my $obj = shift; if($self->{para}==1){ $self->{html} .= "</p>\n"; $self->{para} = 0; } + if($self->{listtype} == 1 && $level <= $self->{level}){ + $self->end_list; + } + $self->{listtype} = 0; $self->end_verbatim; $self->end_table; $self->end_quote;
sub l_numlist { my $self = shift; my $level = shift; my $obj = shift; if($self->{para}==1){ $self->{html} .= "</p>\n"; $self->{para} = 0; } + if($self->{listtype} == 0 && $level <= $self->{level}){ + $self->end_list; + } + $self->{listtype} = 1; $self->end_verbatim; $self->end_table; $self->end_quote;
sub end_list { my $self = shift; while($self->{level} != 0){ if($self->{'list_close_'.($self->{level})} == 1){ $self->{html} .= "</li>\n"; + $self->{'list_close_'.$self->{level}} = 0; } $self->{html} .= pop(@{$self->{close_list}}); $self->{level}--; } }
- コミットしました。 - KG (2017年12月05日 21時23分44秒)
- fswiki3.6.5でリリースしました。 - KG (2018年03月30日 11時18分49秒)
- 修正情報:BugTrack-wiki/353 - KG (2019年09月09日 13時46分53秒)
最終更新時間:2019年09月09日 13時46分53秒