themeUpdate.js
1 const { exec } = require("child_process"); 2 3 const repositoryUrl = "https://github.com/zeon-studio/hugoplate"; 4 const localDirectory = "./themes/hugoplate"; 5 const foldersToFetch = ["assets", "layouts"]; 6 const foldersToSkip = ["exampleSite"]; 7 8 const fetchFolder = (folder) => { 9 exec( 10 `curl -L ${repositoryUrl}/tarball/main | tar -xz --strip-components=1 --directory=${localDirectory} --exclude=$(curl -sL ${repositoryUrl}/tarball/main | tar -tz | grep -E "/(${foldersToSkip.join( 11 "|", 12 )})/") */${folder}`, 13 ); 14 }; 15 16 // Fetch each specified folder 17 foldersToFetch.forEach((folder) => { 18 fetchFolder(folder); 19 });