/ scripts / themeUpdate.js
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  });