html_encode: support for data from stdin
parent
c73b8910d0
commit
911eca714c
|
@ -39,7 +39,11 @@ function post_dump() {
|
|||
|
||||
# html_encode(string)
|
||||
function html_encode() {
|
||||
sed 's/\&/\&/g;s/</\</g;s/>/\>/g;s/%/\%/g;s/\//\//g;s/\\/\\/g;s/'"'"'/\'/g;s/"/\"/g;s/`/\`/g;s/?/\?/g;' <<< "$1"
|
||||
if [[ "$1" == "" ]]; then
|
||||
sed 's/\&/\&/g;s/</\</g;s/>/\>/g;s/%/\%/g;s/\//\//g;s/\\/\\/g;s/'"'"'/\'/g;s/"/\"/g;s/`/\`/g;s/?/\?/g;'
|
||||
else
|
||||
sed 's/\&/\&/g;s/</\</g;s/>/\>/g;s/%/\%/g;s/\//\//g;s/\\/\\/g;s/'"'"'/\'/g;s/"/\"/g;s/`/\`/g;s/?/\?/g;' <<< "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
# url_encode(string)
|
||||
|
|
|
@ -7,8 +7,12 @@ function render() {
|
|||
local -n ref=$1
|
||||
local tmp=$(mktemp)
|
||||
for key in ${!ref[@]}; do
|
||||
local value="$(html_encode "${ref[$key]}" | sed -E 's/\&/<2F>UwU<77>/g')"
|
||||
echo 's/\{\{\.'"$key"'\}\}/'"$value"'/g' >> "$tmp"
|
||||
if [[ "${ref[$key]}" != "" ]]; then
|
||||
local value="$(html_encode "${ref[$key]}" | sed -E 's/\&/<2F>UwU<77>/g')"
|
||||
echo 's/\{\{\.'"$key"'\}\}/'"$value"'/g' >> "$tmp"
|
||||
else
|
||||
echo 's/\{\{\.'"$key"'\}\}//g' >> "$tmp"
|
||||
fi
|
||||
done
|
||||
template="$(sed -E -f "$tmp" <<< "$template")"
|
||||
sed -E 's/<2F>UwU<77>/\&/g' <<< "$template"
|
||||
|
|
Loading…
Reference in New Issue