diff --git a/index.html b/index.html index ef720726..fe506f4c 100644 --- a/index.html +++ b/index.html @@ -84,6 +84,7 @@
$DESCRIPTION
+iPad Screenshots:
' + urlsToImgs(imgs2); } - output.innerHTML += getTemplate('.itunes') - .replace('$VERSION', info.version) - .replace('$PRICE', info.formattedPrice) - .replace('$RATING', info.averageUserRating.toFixed(1)) - .replace('$ADVISORY', info.contentAdvisoryRating) - .replace('$DATE', info.currentVersionReleaseDate) - .replace('$GENRES', (info.genres || []).join(', ')) - .replace('$URL', info.trackViewUrl) - .replace('$IMG', imgStr) - .replace('$DESCRIPTION', info.description); + output.innerHTML += renderTemplate(getTemplate('.itunes'), { + $VERSION: info.version, + $PRICE: info.formattedPrice, + $RATING: info.averageUserRating.toFixed(1), + $ADVISORY: info.contentAdvisoryRating, + $DATE: info.currentVersionReleaseDate, + $GENRES: (info.genres || []).join(', '), + $URL: info.trackViewUrl, + $IMG: imgStr, + $DESCRIPTION: info.description, + }); }); } @@ -254,6 +255,10 @@ function getTemplate(name) { return document.getElementById('templates').querySelector(name).outerHTML; } +function renderTemplate(template, values) { + return template.replace(/\$[A-Z]+/g, function (x) { return values[x]; }); +} + function validUrl(url) { return encodeURI(url).replace('#', '%23').replace('?', '%3F'); } @@ -280,17 +285,18 @@ function entriesToStr(templateType, data) { var rv = ''; for (var i = 0; i < data.length; i++) { const entry = entryToDict(DB[data[i]]); - rv += template - .replace('$IDX', data[i]) - .replace('$IMG', entry.img_url) - .replace('$TITLE', (entry.title || '?').replace('<', '<')) - .replace('$VERSION', entry.version) - .replace('$BUNDLEID', entry.bundleId) - .replace('$MINOS', versionToStr(entry.minOS)) - .replace('$PLATFORM', platformToStr(entry.platform)) - .replace('$SIZE', humanSize(entry.size)) - .replace('$URLNAME', entry.pathName.split('/').slice(-1)) // decodeURI - .replace('$URL', validUrl(entry.ipa_url)); + rv += renderTemplate(template, { + $IDX: data[i], + $IMG: entry.img_url, + $TITLE: (entry.title || '?').replace('<', '<'), + $VERSION: entry.version, + $BUNDLEID: entry.bundleId, + $MINOS: versionToStr(entry.minOS), + $PLATFORM: platformToStr(entry.platform), + $SIZE: humanSize(entry.size), + $URLNAME: entry.pathName.split('/').slice(-1), // decodeURI + $URL: validUrl(entry.ipa_url), + }); } return rv; }