It's hard to migrate section themes that rely heavily on images. This bit of code helps you download all the CDN assets of your theme.
- Create a
cdn_assetsfolder - Create the
download_assets.jsfile at the root of your project - Edit the
download_assets.jsfile to match the path to your settings_data.json (line 3) - Edit the
download_assets.jsfile to set the "CDN code" of your store. Each file that you upload from/admin/settings/filesgets uploaded with the following format:https://cdn.shopify.com/s/files/1/YOUR_CDN_CODE/files/YOURFILE. The format of the code is/\d{4}\/\d{4}/(four digits, a forward slash, and four digits)
To run the code, simply run:
node download_assets.js mainstore.myshopify.com to download all the assets in your theme that are store on mainstore.myshopify.com
@germ777 the path is relative so if the 'settings_data.json' file is in the same folder a download_asset.js you can use the following line:
var settings = require('./settings_data.json');I also made the following edit so the script only downloads new files which might help some people maintaining multiple regional stores:
`assets.forEach(function (asset) {
var url = 'https://cdn.shopify.com/s/files/1/${themeDict[process.argv[2]]}/files/${asset}'
try {
if (fs.existsSync("./cdn_assets/" + asset)) {
console.log("file already exists: " + asset)
} else {
console.log("downloading: " + asset)
request.get(url).pipe(fs.createWriteStream("./cdn_assets/" + asset))
}
} catch(err) {
console.error(err)
}
});`