mirror of
https://git.sakamoto.pl/laudom/http.sh.git
synced 2025-08-05 21:23:32 +02:00
Compare commits
2 commits
e2dbc9e4bd
...
7f1838372a
Author | SHA1 | Date | |
---|---|---|---|
|
7f1838372a | ||
|
4ce52292aa |
1 changed files with 5 additions and 7 deletions
|
@ -22,7 +22,6 @@ function render() {
|
||||||
echo 's'$'\02''\{\{start '"$key"'\}\}.*\{\{end '"$key"'\}\}'$'\02''\{\{'"$key"'\}\}'$'\02'';' >> "$tmp"
|
echo 's'$'\02''\{\{start '"$key"'\}\}.*\{\{end '"$key"'\}\}'$'\02''\{\{'"$key"'\}\}'$'\02'';' >> "$tmp"
|
||||||
|
|
||||||
local -n asdf=${ref[$key]}
|
local -n asdf=${ref[$key]}
|
||||||
|
|
||||||
local j
|
local j
|
||||||
local value=''
|
local value=''
|
||||||
for j in ${!asdf[@]}; do
|
for j in ${!asdf[@]}; do
|
||||||
|
@ -32,7 +31,6 @@ function render() {
|
||||||
|
|
||||||
rm "$subtemplate_tmp"
|
rm "$subtemplate_tmp"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
echo 's'$'\02''\{\{'"$key"'\}\}'$'\02'''"$value"''$'\02'';' >> "$tmp"
|
echo 's'$'\02''\{\{'"$key"'\}\}'$'\02'''"$value"''$'\02'';' >> "$tmp"
|
||||||
rm "$subtemplate"
|
rm "$subtemplate"
|
||||||
|
@ -43,15 +41,15 @@ function render() {
|
||||||
local _key="\\?${key/?/}"
|
local _key="\\?${key/?/}"
|
||||||
|
|
||||||
local subtemplate=$(mktemp)
|
local subtemplate=$(mktemp)
|
||||||
echo 's'$'\02''\{\{start '"$_key"'\}\}(.*)\{\{end '"$_key"'\}\}'$'\02''\1'$'\02'';' >> "$subtemplate"
|
echo 's'$'\02''\{\{start '"$_key"'\}\}((.*)\{\{else '"$_key"'\}\}.*\{\{end '"$_key"'\}\}|(.*)\{\{end '"$_key"'\}\})'$'\02''\2\3'$'\02'';' >> "$subtemplate"
|
||||||
cat <<< $(cat "$subtemplate" "$tmp") > "$tmp" # call that cat abuse
|
cat <<< $(cat "$subtemplate" "$tmp") > "$tmp" # call that cat abuse
|
||||||
|
|
||||||
elif [[ "${ref[$key]}" != "" ]]; then
|
elif [[ "${ref[$key]}" != "" ]]; then
|
||||||
echo "VALUE: ${ref[$key]}" > /dev/stderr
|
echo "VALUE: ${ref[$key]}" > /dev/stderr
|
||||||
if [[ "$3" != true ]]; then
|
if [[ "$3" != true ]]; then
|
||||||
local value="$(echo "${ref[$key]}" | html_encode | sed -E 's/\&/<2F>UwU<77>/g')"
|
local value="$(html_encode <<< "${ref[$key]}" | sed -E 's/\&/<2F>UwU<77>/g')"
|
||||||
else
|
else
|
||||||
local value="$(echo "${ref[$key]}" | sed -E 's/\\\\/<2F>OwO<77>/g;s/\\//g;s/<2F>OwO<77>/\\/g' | html_encode | sed -E 's/\&/<2F>UwU<77>/g')"
|
local value="$(sed -E 's/\\\\/<2F>OwO<77>/g;s/\\//g;s/<2F>OwO<77>/\\/g' <<< "${ref[$key]}" | html_encode | sed -E 's/\&/<2F>UwU<77>/g')"
|
||||||
fi
|
fi
|
||||||
echo 's'$'\02''\{\{\.'"$key"'\}\}'$'\02'''"$value"''$'\02''g;' >> "$tmp"
|
echo 's'$'\02''\{\{\.'"$key"'\}\}'$'\02'''"$value"''$'\02''g;' >> "$tmp"
|
||||||
else
|
else
|
||||||
|
@ -61,8 +59,8 @@ function render() {
|
||||||
|
|
||||||
if [[ "$3" != true ]]; then # are we recursing?
|
if [[ "$3" != true ]]; then # are we recursing?
|
||||||
cat "$tmp" | tr '\n' $'\01' | sed -E 's/'$'\02'';'$'\01''/'$'\02'';/g;s/'$'\02''g;'$'\01''/'$'\02''g;/g' > "${tmp}_"
|
cat "$tmp" | tr '\n' $'\01' | sed -E 's/'$'\02'';'$'\01''/'$'\02'';/g;s/'$'\02''g;'$'\01''/'$'\02''g;/g' > "${tmp}_"
|
||||||
|
|
||||||
echo 's/\{\{start \?([a-zA-Z0-9_-]*[^}])\}\}.*\{\{end \?(\1)\}\}//g' >> "${tmp}_"
|
echo 's/\{\{start \?([a-zA-Z0-9_-]*[^}])\}\}(.*\{\{else \?\1\}\}(.*)\{\{end \?\1\}\}|.*\{\{end \?\1\}\})/\3/g' >> "${tmp}_"
|
||||||
template="$(tr '\n' $'\01' <<< "$template" | sed -E -f "${tmp}_" | tr $'\01' '\n')"
|
template="$(tr '\n' $'\01' <<< "$template" | sed -E -f "${tmp}_" | tr $'\01' '\n')"
|
||||||
sed -E 's/<2F>UwU<77>/\&/g' <<< "$template"
|
sed -E 's/<2F>UwU<77>/\&/g' <<< "$template"
|
||||||
rm "$tmp" "${tmp}_"
|
rm "$tmp" "${tmp}_"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue