Mercurial > hgrepos > hgweb.cgi > s4
diff s4-funcs.sh @ 489:075897fee2c0
minitbl() includes mini-ul translation
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Mon, 28 May 2018 10:39:32 +0900 |
parents | 44b4a45e2617 |
children | e4b929e40fa8 |
line wrap: on
line diff
--- a/s4-funcs.sh Thu Feb 15 12:24:39 2018 +0859 +++ b/s4-funcs.sh Mon May 28 10:39:32 2018 +0900 @@ -518,7 +518,37 @@ x; s|^|</table>|; x; # Preppend /table to the next line } x; # Back to the newest line - p; # Print rest' + p; # Print rest' | miniul +} +miniul() { + sed -e ' + /^\* / {; # 行頭 "* " + x; s,^,<ul>,; x; # 1週目: ホールドスペース先頭に <ul> を + :top + s/\n//; + s/^ *//; # 2周目以降: 行頭空白削除 + s,\* ,,; # まず行頭の "* " を消しておく + H; # 置き換え結果をホールドスペースに追加 + s/.*//; # パターンスペースは消しておく + # ↓最終行なら残ったホールドスペース処理のため :cont へ + $ b cont + N; # 次の行を読む + s/\n//; # 空白始まりは継続行 + /^ /b top + x; s/\n/<li>/; s,$,</li>,; # 継続行でなければ <li></li> で囲む + p; s/.*//; + x; # 次も "* " ならループを抜けない + /^\* /b top + s,^,</ul>,; # 次が一般行なら箇条書終わり + } + + :cont + x; # 行頭| 以外の行: + /./ {; # ホールドスペースに文字列があれば + s/^\n/<li>/; s,$,</li></ul>,; # 箇条書を書き切って終わり + H; x + } + x' } acclog() ( # $1=table, $2=rowid