diff options
Diffstat (limited to 'sitemap.sh')
-rwxr-xr-x | sitemap.sh | 20 |
1 files changed, 2 insertions, 18 deletions
@@ -19,23 +19,7 @@ set -e # along with this program. If not, see <http://www.gnu.org/licenses/>. urlencode() ( - # urlencode <string> - - old_lc_collate=$LC_COLLATE - LC_COLLATE=C - - length="${#1}" - i=1 - while [ $i -le $length ] ; do - c=$(expr substr "$1" $i 1) ; - case $c in - ([a-zA-Z0-9./~_-]) printf "$c" ;; - (*) printf '%%%02X' "'$c" ;; - esac ; - true $((i=i+1)) ; - done - - LC_COLLATE=$old_lc_collate + ./urlencode | sed 's;%2F;/;g' ) echo '<?xml version="1.0" encoding="UTF-8"?> @@ -46,7 +30,7 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' > $2 echo "$(find -L $1 -type d | sort | sed -e 's;^\./;;' -e '\;/\(.git\|css\|error\|favicon\|fonts\|js\|media\);d' -e 's;$;/;')" | \ while IFS='' read -r data ; do DATE=$(grep "last-modified" ${data}/index.html | cut -f 4 -d \" | sed 's/ /T/' ) ; - urlencode "$data" | sed -e 's;^;<url><loc>https://;' -e "s;$;</loc><lastmod>${DATE}</lastmod></url>;" ; + echo "$data" | urlencode | sed -e 's;^;<url><loc>https://;' -e "s;$;</loc><lastmod>${DATE}</lastmod></url>;" ; printf "\n" ; done >> $2 |