diff --git a/marsh b/marsh index 41b649cf..042a9abb 100755 --- a/marsh +++ b/marsh @@ -6,7 +6,7 @@ # https://github.com/bradleysepos/marsh NAME="marsh" -VERSION="0.7.2" +VERSION="0.7.3" SELF="${BASH_SOURCE[0]}" SELF_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd -P) SELF_DIR="${SELF_DIR:-$(pwd)}" @@ -1718,8 +1718,44 @@ function build_document { # build_document dest_dir target_dir document advance sed -E \ -e 's|

|
|' \ -e 's|

|
|' | - awk -F' ' 'BEGIN { ORS=" "; } { for(i=1; i<=NF; i++) { if ($i ~ "^src=\"[^\"]+\"$") { f=$i; gsub(/^src="/, "", f); gsub(/"$/, "", f); f1=f " 1x"; f2=f; gsub(/\.[^\.]+$/, "@2x&", f2); f2abs="'${DEST_DIR}/${TARGET_DIR}/${DOCUMENT_DIR}/'" f2; f3=f; gsub(/\.[^\.]+$/, "@3x&", f3); f3abs="'${DEST_DIR}/${TARGET_DIR}/${DOCUMENT_DIR}/'" f3; if (getline temp < f2abs > 0) { f2=", " f2 " 2x"; } else { f2=""; } if (getline temp < f3abs > 0) { f3=", " f3 " 3x"; } else { f3=""; } print "src=\"" f "\" srcset=\"" f1 f2 f3 "\" " } else { print $i } } }' \ - > "${DOCUMENT}.${MARSH_UID}.document" + awk ' + { + if ($0 ~ " src=\"[^\"]+\"") + { + split($0, a, " "); + for(i=1; i<=length(a); i++) + { + if (a[i] ~ "^src=\"[^\"]+\"$") + { + f=a[i]; gsub(/^src="/, "", f); + gsub(/"$/, "", f); + f1=f " 1x"; f2=f; + gsub(/\.[^\.]+$/, "@2x&", f2); + f2abs="'${DEST_DIR}/${TARGET_DIR}/${DOCUMENT_DIR}/'" f2; + f3=f; + gsub(/\.[^\.]+$/, "@3x&", f3); + f3abs="'${DEST_DIR}/${TARGET_DIR}/${DOCUMENT_DIR}/'" f3; + if (getline temp < f2abs > 0) + { + f2=", " f2 " 2x"; + } else { + f2=""; + } + if (getline temp < f3abs > 0) + { + f3=", " f3 " 3x"; + } else { + f3=""; + } + print "src=\"" f "\" srcset=\"" f1 f2 f3 "\" "; + } else { + print a[i]; + } + } + } else { + print $0; + } + }' > "${DOCUMENT}.${MARSH_UID}.document" fi # unset temporary global variables