#!/bin/ksh # # a2html.sh # # Copyright (C) 2014 Taiji Yamada # me="$(basename "$0")" usage(){ cat < EOF } sed --posix < /dev/null > /dev/null 2>&1 && sed_flags='-r --posix' || sed_flags=-E html_lang="$(echo "$LC_ALL" | sed 's/_.*//')" case "$LC_ALL" in ja_JP.eucJP) cat="iconv -f euc-jp -t utf-8" ;; *) cat="cat" ;; esac atext2htext_body(){ LC_ALL=C sed $sed_flags -ne ' /^./,/^[-=~^+]{4,}(\[\[.+\]\])?$/{ N /^(.+)\n[-=~^+]{4,}(\[\[.+\]\])?$/{ s/^(.+)\n={4,}(\[\[.+\]\])?$/= \1 =\2/ s/^(.+)\n-{4,}(\[\[.+\]\])?$/== \1 ==\2/ s/^(.+)\n~{4,}(\[\[.+\]\])?$/=== \1 ===\2/ s/^(.+)\n\^{4,}(\[\[.+\]\])?$/==== \1 ====\2/ s/^(.+)\n\+{4,}(\[\[.+\]\])?$/===== \1 =====\2/ p d } } P D ' | LC_ALL=C sed $sed_flags -ne ' :first s|^={4,}$|
|p t last s|^-{4,}$|
|p t last /^(.*) <{4,}$/{ s|^(.*) <{4,}$|\1| s/&/\&/g;s//\>/g s|^(.*)$|
\1
| b no_attribute_p_last } /^<{4,} (.*) >{4,}$/{ s|^<{4,} (.*) >{4,}$|\1| s/&/\&/g;s//\>/g s|^(.*)$|
\1
| b no_attribute_p_last } /^>{4,} (.*)$/{ s|^>{4,} (.*)$|\1| s/&/\&/g;s//\>/g s|^(.*)$|
\1
| b no_attribute_p_last } /^= (.*) =\[\[(.+)\]\]$/{ s/&/\&/g;s//\>/g s|^= (.*) =\[\[(.+)\]\]$|

\1

| b no_attribute_p_last } /^== (.*) ==\[\[(.+)\]\]$/{ s/&/\&/g;s//\>/g s|^== (.*) ==\[\[(.+)\]\]$|

\1

| b no_attribute_p_last } /^=== (.*) ===\[\[(.+)\]\]$/{ s/&/\&/g;s//\>/g s|^=== (.*) ===\[\[(.+)\]\]$|

\1

| b no_attribute_p_last } /^==== (.*) ====\[\[(.+)\]\]$/{ s/&/\&/g;s//\>/g s|^==== (.*) ====\[\[(.+)\]\]$|

\1

| b no_attribute_p_last } /^===== (.*) =====\[\[(.+)\]\]$/{ s/&/\&/g;s//\>/g s|^===== (.*) =====\[\[(.+)\]\]$|
\1
| b no_attribute_p_last } /^= (.*) =$/{ s/&/\&/g;s//\>/g s|^= (.*) =$|

\1

| b p_last } /^== (.*) ==$/{ s/&/\&/g;s//\>/g s|^== (.*) ==$|

\1

| b p_last } /^=== (.*) ===$/{ s/&/\&/g;s//\>/g s|^=== (.*) ===$|

\1

| b p_last } /^==== (.*) ====$/{ s/&/\&/g;s//\>/g s|^==== (.*) ====$|

\1

| b p_last } /^===== (.*) =====$/{ s/&/\&/g;s//\>/g s|^===== (.*) =====$|
\1
| b p_last } /^= (.*)$/{ s/&/\&/g;s//\>/g s|^= (.*)$|

\1

| b p_last } /^== (.*)$/{ s/&/\&/g;s//\>/g s|^== (.*)$|

\1

| b p_last } /^=== (.*)$/{ s/&/\&/g;s//\>/g s|^=== (.*)$|

\1

| b p_last } /^==== (.*)$/{ s/&/\&/g;s//\>/g s|^==== (.*)$|

\1

| b p_last } /^===== (.*)$/{ s/&/\&/g;s//\>/g s|^===== (.*)$|
\1
| b p_last } /^\/{4,} (.*) \/{4,}/{ s/&/\&/g;s//\>/g s|^\/{4,} (.*) \/{4,}$|
\1
| b p_last } /^\.([^ .].*)$/{ s/&/\&/g;s//\>/g s|^\.([^ .].*)$|
\1
| b no_attribute_p_last } /^[ ]*\* (.*)$/,/^$/{ /^$/{ x /