20 lines
623 B
JavaScript
20 lines
623 B
JavaScript
const { exec } = require("child_process");
|
|
|
|
const repositoryUrl = "https://github.com/zeon-studio/hugoplate";
|
|
const localDirectory = "./themes/hugoplate";
|
|
const foldersToFetch = ["assets", "layouts"];
|
|
const foldersToSkip = ["exampleSite"];
|
|
|
|
const fetchFolder = (folder) => {
|
|
exec(
|
|
`curl -L ${repositoryUrl}/tarball/main | tar -xz --strip-components=1 --directory=${localDirectory} --exclude=$(curl -sL ${repositoryUrl}/tarball/main | tar -tz | grep -E "/(${foldersToSkip.join(
|
|
"|",
|
|
)})/") */${folder}`,
|
|
);
|
|
};
|
|
|
|
// Fetch each specified folder
|
|
foldersToFetch.forEach((folder) => {
|
|
fetchFolder(folder);
|
|
});
|