Mercurial > hgrepos > hgweb.cgi > s4
comparison s4-funcs.sh @ 941:79c7e64884c4 draft
Now miniol can handle continuing line at the first LI.
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Wed, 22 Sep 2021 08:39:36 +0900 |
parents | 7b3786b1eb4b |
children | 5d70fa029f8d |
comparison
equal
deleted
inserted
replaced
940:102c2b14c5d8 | 941:79c7e64884c4 |
---|---|
681 p; # Print rest' | miniul | 681 p; # Print rest' | miniul |
682 } | 682 } |
683 miniul() { | 683 miniul() { |
684 sed -e ' | 684 sed -e ' |
685 /^\* / {; # 行頭 "* " | 685 /^\* / {; # 行頭 "* " |
686 x; s,^,<ul>,; x; # 1週目: ホールドスペース先頭に <ul> を | 686 x; s,^,<ul>,; x; # 1周目: ホールドスペース先頭に <ul> を |
687 :top | 687 :top |
688 s/\n//; | 688 s/\n//; |
689 s/^ *//; # 2周目以降: 行頭空白削除 | 689 s/^ *//; # 2周目以降: 行頭空白削除 |
690 s,\* ,,; # まず行頭の "* " を消しておく | 690 s,\* ,,; # まず行頭の "* " を消しておく |
691 H; # 置き換え結果をホールドスペースに追加 | 691 H; # 置き換え結果をホールドスペースに追加 |
711 x' | miniol | 711 x' | miniol |
712 } | 712 } |
713 miniol() { | 713 miniol() { |
714 sed -e ' | 714 sed -e ' |
715 /^[1-9]\. / {; # 行頭 "N. " | 715 /^[1-9]\. / {; # 行頭 "N. " |
716 x; s,^,<ol>,; x; # 1週目: ホールドスペース先頭に <ol> を | 716 h;x; # 1周目: ホールドスペース先頭に <ol> を |
717 s,^\([1-9][0-9]*\)\. .*,<ol start="\1">,; # 初期番号付きで追加 | |
718 x; | |
717 :top | 719 :top |
718 s/\n//; | 720 s/\n//; |
719 s/^ *//; # 2周目以降: 行頭空白削除 | 721 s/^ *//; # 2周目以降: 行頭空白削除 |
720 H; # 置き換え結果をホールドスペースに追加 | 722 H; # 置き換え結果をホールドスペースに追加 |
721 x; | 723 x; |
722 s,^<ol>\n\([1-9][0-9]*\)\. ,<ol start="\1"><li>,; # 1行目のみ | 724 s,[1-9][0-9]*\. ,,; # まず行頭の "N. " を消しておく |
723 s,[1-9][0-9]*\. ,,; # まず行頭の "N. " を消しておく | |
724 x; | 725 x; |
725 s/.*//; # パターンスペースは消しておく | 726 s/.*//; # パターンスペースは消しておく |
726 # ↓最終行なら残ったホールドスペース処理のため :cont へ | 727 # ↓最終行なら残ったホールドスペース処理のため :cont へ |
727 $ b cont | 728 $ b cont |
728 N; # 次の行を読む | 729 N; # 次の行を読む |