🚚 Modif pour que lgbtq soit un des types de prides
This commit is contained in:
parent
4683ece1d5
commit
845a5b13ea
2 changed files with 78 additions and 68 deletions
146
main.js
146
main.js
|
@ -1,4 +1,4 @@
|
|||
import data from './data.json' with { type: "json" };
|
||||
import lgbtq from './lgbtq.json' with { type: "json" };
|
||||
import gm from "gm";
|
||||
import * as fs from "fs";
|
||||
import archiver from 'archiver';
|
||||
|
@ -77,6 +77,82 @@ function createMetadatas(prideflag, text, now = false) {
|
|||
return {file:filename, alt:alt, localizedAlt:{en: alten, fr: alt}, text:textForAlt};
|
||||
}
|
||||
|
||||
function generateFromList(list, folder) {
|
||||
fs.mkdirSync(path.join(__dirname, `output/${folder}`),
|
||||
{ recursive: true });
|
||||
fs.mkdirSync(path.join(__dirname, `tmp/${folder}`),
|
||||
{ recursive: true });
|
||||
|
||||
list.forEach(prideflag => {
|
||||
console.log(`- Creating flags for ${prideflag.name.en}`);
|
||||
const imageMetadata = {title:`Drapeau ${prideflag.name.fr.toLowerCase()} :`, list:[]};
|
||||
|
||||
const metadata = createMetadatas(prideflag, "", false)
|
||||
imageMetadata.list.push(metadata);
|
||||
createButton(prideflag.source, position.x, position.y, "", position.gravity)
|
||||
.write(`./output/${folder}/${metadata.file}`, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
});
|
||||
count++;
|
||||
|
||||
prideflag.texts.forEach(text => {
|
||||
const metadatas = createMetadatas(prideflag, text, false)
|
||||
imageMetadata.list.push(metadatas);
|
||||
|
||||
//console.log(`Creating button for text "${metadatas.text}" (${metadatas.file})`);
|
||||
createButton(prideflag.source, position.x, position.y, text, position.gravity)
|
||||
.write(`./output/${folder}/${metadatas.file}`, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
});
|
||||
count++;
|
||||
})
|
||||
|
||||
if (prideflag.textsNow) {
|
||||
prideflag.textsNow.forEach(text => {
|
||||
const metadatas = createMetadatas(prideflag, text, true)
|
||||
imageMetadata.list.push(metadatas);
|
||||
|
||||
//console.log(`Creating button for text "${metadatas.text}" (${metadatas.file})`);
|
||||
createButton(prideflag.source, position.x+12, position.y, text, position.gravity)
|
||||
.write(`./tmp/${folder}/${metadatas.file}`, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
});
|
||||
sleep(500);
|
||||
myGm(`./tmp/${folder}/${metadatas.file}`)
|
||||
.composite("./sources/now.gif")
|
||||
.write(`./output/${folder}/${metadatas.file}`, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
});
|
||||
|
||||
count++;
|
||||
})
|
||||
}
|
||||
|
||||
flagCount++;
|
||||
metadatas.push(imageMetadata);
|
||||
});
|
||||
|
||||
fs.writeFile(`./output/${folder}/pridebuttons.json`, JSON.stringify(metadatas), (err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Prepare folders
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
|
@ -96,73 +172,7 @@ let count = 0;
|
|||
let flagCount = 0;
|
||||
const start = Date.now();
|
||||
|
||||
data.forEach(prideflag => {
|
||||
console.log(`- Creating flags for ${prideflag.name.en}`);
|
||||
const imageMetadata = {title:`Drapeau ${prideflag.name.fr.toLowerCase()} :`, list:[]};
|
||||
|
||||
const metadata = createMetadatas(prideflag, "", false)
|
||||
imageMetadata.list.push(metadata);
|
||||
createButton(prideflag.source, position.x, position.y, "", position.gravity)
|
||||
.write(`./output/${metadata.file}`, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
});
|
||||
count++;
|
||||
|
||||
prideflag.texts.forEach(text => {
|
||||
const metadatas = createMetadatas(prideflag, text, false)
|
||||
imageMetadata.list.push(metadatas);
|
||||
|
||||
//console.log(`Creating button for text "${metadatas.text}" (${metadatas.file})`);
|
||||
createButton(prideflag.source, position.x, position.y, text, position.gravity)
|
||||
.write(`./output/${metadatas.file}`, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
});
|
||||
count++;
|
||||
})
|
||||
|
||||
if (prideflag.textsNow) {
|
||||
prideflag.textsNow.forEach(text => {
|
||||
const metadatas = createMetadatas(prideflag, text, true)
|
||||
imageMetadata.list.push(metadatas);
|
||||
|
||||
//console.log(`Creating button for text "${metadatas.text}" (${metadatas.file})`);
|
||||
createButton(prideflag.source, position.x+12, position.y, text, position.gravity)
|
||||
.write(`./tmp/${metadatas.file}`, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
});
|
||||
sleep(500);
|
||||
myGm(`./tmp/${metadatas.file}`)
|
||||
.composite("./sources/now.gif")
|
||||
.write(`./output/${metadatas.file}`, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
});
|
||||
|
||||
count++;
|
||||
})
|
||||
}
|
||||
|
||||
flagCount++;
|
||||
metadatas.push(imageMetadata);
|
||||
});
|
||||
|
||||
fs.writeFile("./output/pridebuttons.json", JSON.stringify(metadatas), (err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
generateFromList(lgbtq, "lgbtq");
|
||||
|
||||
// Zip the folder
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue