♻️ Use functions for the script
This commit is contained in:
parent
9a4dd35aec
commit
e963276ac6
1 changed files with 36 additions and 20 deletions
56
main.js
56
main.js
|
@ -8,6 +8,36 @@ const myGm = gm.subClass({imageMagick: true});
|
|||
const position = {x: 4, y: 2, gravity: "NorthEast"}
|
||||
const metadatas = []
|
||||
|
||||
function createFilename(prideflag, text) {
|
||||
return `${prideflag.name.en.toLowerCase()}-${text.replace("⋅", "_").replace(" ", "_").replace("\n", '-').toLowerCase()}.png`;
|
||||
}
|
||||
|
||||
function createButton(source, x, y, text, gravity) {
|
||||
const turnedText = text
|
||||
.replace("⋅", "-")
|
||||
.toUpperCase();
|
||||
|
||||
return myGm(source)
|
||||
.font('./NFPixels-Regular.ttf', 10)
|
||||
.drawText(x-1, y, turnedText, gravity)
|
||||
.drawText(x+1, y, turnedText, gravity)
|
||||
.drawText(x, y+1, turnedText, gravity)
|
||||
.drawText(x, y-1, turnedText, gravity)
|
||||
.drawText(x-1, y-1, turnedText, gravity)
|
||||
.drawText(x+1, y+1, turnedText, gravity)
|
||||
.drawText(x-1, y+1, turnedText, gravity)
|
||||
.drawText(x+1, y-1, turnedText, gravity)
|
||||
.fill("#FFFFFF")
|
||||
.drawText(x, y, turnedText, gravity);
|
||||
};
|
||||
|
||||
function createMetadatas(prideflag, text) {
|
||||
const filename = createFilename(prideflag, text);
|
||||
const textForAlt = text.replace("\n", " ").toLowerCase();
|
||||
const alt = `Drapeau ${prideflag.name.fr.toLowerCase()} avec écrit "${textForAlt}"`
|
||||
return {file:filename, alt:alt, text:textForAlt};
|
||||
}
|
||||
|
||||
let count = 0;
|
||||
const start = Date.now();
|
||||
|
||||
|
@ -15,26 +45,12 @@ data.forEach(prideflag => {
|
|||
console.log(`== Creating flags for ${prideflag.name.en}`);
|
||||
const imageMetadata = {title:`Drapeau ${prideflag.name.fr.toLowerCase()} :`, list:[]};
|
||||
prideflag.texts.forEach(text => {
|
||||
const outputfile = `${prideflag.name.en.toLowerCase()}-${text.replace("⋅", "_").replace(" ", "_").replace("\n", '-').toLowerCase()}.png`
|
||||
console.log(`Creating button for text "${text.replace("\n", " ")}" (${outputfile})`);
|
||||
const data = {file: outputfile, alt:`Drapeau ${prideflag.name.fr.toLowerCase()} avec écrit "${text.replace("\n", " ").toLowerCase()}"`};
|
||||
imageMetadata.list.push(data);
|
||||
const turnedText = text
|
||||
.replace("⋅", "-")
|
||||
.toUpperCase();
|
||||
myGm(prideflag.source)
|
||||
.font('./NFPixels-Regular.ttf', 10)
|
||||
.drawText(position.x-1, position.y, turnedText, position.gravity)
|
||||
.drawText(position.x+1, position.y, turnedText, position.gravity)
|
||||
.drawText(position.x, position.y+1, turnedText, position.gravity)
|
||||
.drawText(position.x, position.y-1, turnedText, position.gravity)
|
||||
.drawText(position.x-1, position.y-1, turnedText, position.gravity)
|
||||
.drawText(position.x+1, position.y+1, turnedText, position.gravity)
|
||||
.drawText(position.x-1, position.y+1, turnedText, position.gravity)
|
||||
.drawText(position.x+1, position.y-1, turnedText, position.gravity)
|
||||
.fill("#FFFFFF")
|
||||
.drawText(position.x, position.y, turnedText, position.gravity)
|
||||
.write(`./output/${outputfile}`, function (err) {
|
||||
const metadatas = createMetadatas(prideflag, text)
|
||||
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;
|
||||
|
|
Loading…
Reference in a new issue