From 6555f16012c333865b7f2129bfc5c76e1340e728 Mon Sep 17 00:00:00 2001 From: DJj123dj <80536295+DJj123dj@users.noreply.github.com> Date: Sun, 31 May 2026 18:32:55 +0200 Subject: [PATCH] Transferred sponsors SVG to separate repository --- .github/CONTRIBUTORS.json | 93 ----------- .github/CONTRIBUTORS.svg | 288 ----------------------------------- .github/SPONSORS.json | 90 ----------- .github/SPONSORS.svg | 61 -------- .tools/createContributors.ts | 130 ---------------- .tools/createSponsors.ts | 132 ---------------- package.json | 2 - 7 files changed, 796 deletions(-) delete mode 100644 .github/CONTRIBUTORS.json delete mode 100644 .github/CONTRIBUTORS.svg delete mode 100644 .github/SPONSORS.json delete mode 100644 .github/SPONSORS.svg delete mode 100644 .tools/createContributors.ts delete mode 100644 .tools/createSponsors.ts diff --git a/.github/CONTRIBUTORS.json b/.github/CONTRIBUTORS.json deleted file mode 100644 index f703118..0000000 --- a/.github/CONTRIBUTORS.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "_INFO":"This document contains all Open Ticket contributors.", - "SPONSOR_TEMPLATE":{ - "name":"INSERT_NAME", - "pictureUrl":"INSERT_PICTURE_URL", - "profileUrl":"INSERT_PROFILE_URL", - "sectionId":"INSERT_ID" - }, - "SECTION_TEMPLATE":{ - "name":"INSERT_NAME", - "id":"INSERT_ID", - "pfpSize":50, - "pfpColumns":5, - "withNames":true - }, - "sections":[ - { - "name":"🛠️ Contributors", - "id":"contributor", - "pfpSize":100, - "pfpColumns":8, - "withNames":true - }, - { - "name":"📞 Discord Support", - "id":"support", - "pfpSize":100, - "pfpColumns":8, - "withNames":true - }, - { - "name":"🧩 Plugin Developers", - "id":"plugin-dev", - "pfpSize":100, - "pfpColumns":8, - "withNames":true - }, - { - "name":"💬 Translators", - "id":"translator", - "pfpSize":100, - "pfpColumns":8, - "withNames":true - } - ], - "contributors":[ - {"sectionId":"contributor","name":"DJj123dj","pictureUrl":"https://github.com/DJj123dj.png","profileUrl":"https://github.com/DJj123dj"}, - {"sectionId":"contributor","name":"guillee3","pictureUrl":"https://github.com/guillee3.png","profileUrl":"https://github.com/guillee3"}, - {"sectionId":"contributor","name":"SKaranjaN","pictureUrl":"https://github.com/SKaranjaN.png","profileUrl":"https://github.com/SKaranjaN"}, - {"sectionId":"contributor","name":"Ashish5180","pictureUrl":"https://github.com/Ashish5180.png","profileUrl":"https://github.com/Ashish5180"}, - {"sectionId":"contributor","name":"duboiss","pictureUrl":"https://github.com/duboiss.png","profileUrl":"https://github.com/duboiss"}, - {"sectionId":"contributor","name":"sdehaarte","pictureUrl":"https://github.com/sdehaarte.png","profileUrl":"https://github.com/sdehaarte"}, - {"sectionId":"contributor","name":"MauroDruwel","pictureUrl":"https://github.com/MauroDruwel.png","profileUrl":"https://github.com/MauroDruwel"}, - {"sectionId":"support","name":"smetsliam","pictureUrl":"https://github.com/smetsliam.png","profileUrl":"https://github.com/smetsliam"}, - {"sectionId":"support","name":"Sank34","pictureUrl":"https://github.com/Sank34.png","profileUrl":"https://github.com/Sank34"}, - {"sectionId":"support","name":"FrankVissers","pictureUrl":"https://github.com/FrankVissers.png","profileUrl":"https://github.com/FrankVissers"}, - {"sectionId":"plugin-dev","name":"Rapid-Fast","pictureUrl":"https://github.com/Rapid-Fast.png","profileUrl":"https://github.com/Rapid-Fast"}, - {"sectionId":"plugin-dev","name":"NotMukundOP","pictureUrl":"https://github.com/NotMukundOP.png","profileUrl":"https://github.com/NotMukundOP"}, - {"sectionId":"plugin-dev","name":"Imperatorix17","pictureUrl":"https://github.com/imperatorix17.png","profileUrl":"https://github.com/imperatorix17"}, - {"sectionId":"plugin-dev","name":"DanoGlez","pictureUrl":"https://github.com/DanoGlez.png","profileUrl":"https://github.com/DanoGlez"}, - {"sectionId":"plugin-dev","name":"yowsef","pictureUrl":"https://github.com/Yow-sef.png","profileUrl":"https://github.com/Yow-sef"}, - {"sectionId":"plugin-dev","name":"MeneerSouf","pictureUrl":"https://github.com/MeneerSouf.png","profileUrl":"https://github.com/MeneerSouf"}, - {"sectionId":"plugin-dev","name":"challenger_nova","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"HanumeshGupta","pictureUrl":"https://github.com/HanumeshGupta.png","profileUrl":"https://github.com/HanumeshGupta"}, - {"sectionId":"translator","name":"benzorich","pictureUrl":"https://github.com/benzorich.png","profileUrl":"https://github.com/benzorich"}, - {"sectionId":"translator","name":"Reddishye","pictureUrl":"https://github.com/Reddishye.png","profileUrl":"https://github.com/Reddishye"}, - {"sectionId":"translator","name":"josuens","pictureUrl":"https://github.com/josuens.png","profileUrl":"https://github.com/josuens"}, - {"sectionId":"translator","name":"quiradon","pictureUrl":"https://github.com/quiradon.png","profileUrl":"https://github.com/quiradon"}, - {"sectionId":"translator","name":"Imperatorix17","pictureUrl":"https://github.com/imperatorix17.png","profileUrl":"https://github.com/imperatorix17"}, - {"sectionId":"translator","name":"NoOneNook","pictureUrl":"https://github.com/NoOneNook.png","profileUrl":"https://github.com/NoOneNook"}, - {"sectionId":"translator","name":"guillee3","pictureUrl":"https://github.com/guillee3.png","profileUrl":"https://github.com/guillee3"}, - {"sectionId":"translator","name":"Mods HD","pictureUrl":"https://github.com/mods-hd.png","profileUrl":"https://github.com/mods-hd"}, - {"sectionId":"translator","name":"anderskiy","pictureUrl":"https://github.com/anderskiy.png","profileUrl":"https://github.com/anderskiy"}, - {"sectionId":"translator","name":"SpyEye2","pictureUrl":"https://github.com/SpyEye2.png","profileUrl":"https://github.com/SpyEye2"}, - {"sectionId":"translator","name":"Sank34","pictureUrl":"https://github.com/Sank34.png","profileUrl":"https://github.com/Sank34"}, - {"sectionId":"translator","name":"thegamer5095","pictureUrl":"https://github.com/thegamer5095.png","profileUrl":"https://github.com/thegamer5095"}, - {"sectionId":"translator","name":"danoglez","pictureUrl":"https://github.com/danoglez.png","profileUrl":"https://github.com/danoglez"}, - {"sectionId":"translator","name":"zhavis","pictureUrl":"https://github.com/zhavis.png","profileUrl":"https://github.com/zhavis"}, - {"sectionId":"translator","name":"yuuslokrobjakkroval","pictureUrl":"https://github.com/yuuslokrobjakkroval.png","profileUrl":"https://github.com/yuuslokrobjakkroval"}, - {"sectionId":"translator","name":"imLudwig","pictureUrl":"https://github.com/imLudwig.png","profileUrl":"https://github.com/imLudwig"}, - {"sectionId":"translator","name":"iamnotmega","pictureUrl":"https://github.com/iamnotmega.png","profileUrl":"https://github.com/iamnotmega"}, - {"sectionId":"translator","name":"Ronalds13424","pictureUrl":"https://github.com/Ronalds13424.png","profileUrl":"https://github.com/Ronalds13424"}, - {"sectionId":"translator","name":"dysashop","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"fraden1mvp.","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"palestinian","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"challenger_nova","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"erxg","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"tsgindrius","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"kornel0706","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"me.october","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""}, - {"sectionId":"translator","name":"ngocdiep2006","pictureUrl":"https://apis.dj-dj.be/cdn/openticket/default-avatar.png","profileUrl":""} - ] -} \ No newline at end of file diff --git a/.github/CONTRIBUTORS.svg b/.github/CONTRIBUTORS.svg deleted file mode 100644 index 97cec2f..0000000 --- a/.github/CONTRIBUTORS.svg +++ /dev/null @@ -1,288 +0,0 @@ - - - 🛠️ Contributors - - - - - DJj123dj - - - - - - guillee3 - - - - - - SKaranjaN - - - - - - Ashish5180 - - - - - - duboiss - - - - - - sdehaarte - - - - - - MauroDruwel - 📞 Discord Support - - - - - smetsliam - - - - - - Sank34 - - - - - - FrankVissers - 🧩 Plugin Developers - - - - - Rapid-Fast - - - - - - NotMukundOP - - - - - - Imperatorix17 - - - - - - DanoGlez - - - - - - yowsef - - - - - - MeneerSouf - - - - - - challenger_nova - 💬 Translators - - - - - HanumeshGupta - - - - - - benzorich - - - - - - Reddishye - - - - - - josuens - - - - - - quiradon - - - - - - Imperatorix17 - - - - - - NoOneNook - - - - - - guillee3 - - - - - - Mods HD - - - - - - anderskiy - - - - - - SpyEye2 - - - - - - Sank34 - - - - - - thegamer5095 - - - - - - danoglez - - - - - - zhavis - - - - - - yuuslokrobjakkroval - - - - - - imLudwig - - - - - - iamnotmega - - - - - - Ronalds13424 - - - - - - dysashop - - - - - - fraden1mvp. - - - - - - palestinian - - - - - - challenger_nova - - - - - - erxg - - - - - - tsgindrius - - - - - - kornel0706 - - - - - - me.october - - - - - - ngocdiep2006 - - \ No newline at end of file diff --git a/.github/SPONSORS.json b/.github/SPONSORS.json deleted file mode 100644 index 1e9399a..0000000 --- a/.github/SPONSORS.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "_INFO":"This document contains all Open Ticket sponsors.", - "SPONSOR_TEMPLATE":{ - "name":"INSERT_NAME", - "pictureUrl":"INSERT_PICTURE_URL", - "profileUrl":"INSERT_PROFILE_URL", - "sectionId":"INSERT_ID" - }, - "SECTION_TEMPLATE":{ - "name":"INSERT_NAME", - "id":"INSERT_ID", - "pfpSize":50, - "pfpColumns":5, - "withNames":true - }, - "sections":[ - { - "name":"💎 Platinum Sponsors", - "id":"platinum", - "pfpSize":120, - "pfpColumns":4, - "withNames":true - }, - { - "name":"🥇 Gold Sponsors", - "id":"gold", - "pfpSize":60, - "pfpColumns":8, - "withNames":true - }, - { - "name":"🥈 Silver Sponsors", - "id":"silver", - "pfpSize":40, - "pfpColumns":16, - "withNames":false - }, - { - "name":"❤️ Past Sponsors", - "id":"past", - "pfpSize":30, - "pfpColumns":20, - "withNames":false - } - ], - "sponsors":[ - { - "name":"Guillee3", - "pictureUrl":"https://github.com/guillee3.png", - "profileUrl":"https://github.com/guillee3", - "sectionId":"platinum" - }, - { - "name":"Jacob Humston", - "pictureUrl":"https://github.com/jacobhumston.png", - "profileUrl":"https://github.com/jacobhumston", - "sectionId":"platinum" - }, - { - "name":"SpyEye2", - "pictureUrl":"https://github.com/SpyEye2.png", - "profileUrl":"https://github.com/SpyEye2", - "sectionId":"gold" - }, - { - "name":"DOSEV5", - "pictureUrl":"https://github.com/DOSEV5.png", - "profileUrl":"https://github.com/DOSEV5", - "sectionId":"gold" - }, - { - "name":"YeeetSK", - "pictureUrl":"https://github.com/YeeetSK.png", - "profileUrl":"https://github.com/YeeetSK", - "sectionId":"silver" - }, - { - "name":"BENZORICH", - "pictureUrl":"https://github.com/BENZORICH.png", - "profileUrl":"https://github.com/BENZORICH", - "sectionId":"silver" - }, - { - "name":"Mods HD", - "pictureUrl":"https://github.com/mods-hd.png", - "profileUrl":"https://github.com/mods-hd", - "sectionId":"silver" - } - ] -} \ No newline at end of file diff --git a/.github/SPONSORS.svg b/.github/SPONSORS.svg deleted file mode 100644 index e3edf79..0000000 --- a/.github/SPONSORS.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.tools/createContributors.ts b/.tools/createContributors.ts deleted file mode 100644 index dd5985f..0000000 --- a/.tools/createContributors.ts +++ /dev/null @@ -1,130 +0,0 @@ -/// -import fs from "fs" -import path from "path" -import crypto from "crypto" - -const contributorData: {contributors:Contributor[],sections:Section[]} = JSON.parse(fs.readFileSync(path.join(process.cwd(),"./.github/CONTRIBUTORS.json")).toString()) - -//CONSTANTS -const CORNER_RADIUS = 10 -const SPACE_MULTIPLIER = 1.2 -const SVG_WIDTH = 1000 - -//TYPES -interface Contributor { - name:string, - pictureUrl:string, - profileUrl:string, - sectionId:string -} -interface Section { - name:string, - id:string, - pfpSize:number, - pfpColumns:number, - withNames:boolean -} - - -//FUNCTIONS -async function downloadPfpToBase64URL(url:string){ - const res = await fetch(url,{method:"GET"}) - if (!res.ok) return null - const buffer = Buffer.from(await res.arrayBuffer()) - console.log("Downloaded picture URL:",url) - return "data:image/png;base64,"+buffer.toString("base64") -} - -function createTitle(yPos:number,name:string){ - return `${name}` -} - -async function createPfp(yPos:number,xPos:number,size:number,contributor:Contributor,withNames:boolean){ - const randomId = crypto.randomBytes(8).toString("hex") - const nameElement = (withNames) ? `${contributor.name}` : "" - - return (` - - - - - ${nameElement} - `) -} - -async function generateSection(yPos:number,section:Section,contributors:Contributor[]){ - let sectionHtml: string = "" - sectionHtml += createTitle(yPos,section.name) - const nameOffset = (section.withNames) ? 20 : 0 - - //divide contributors in rows - const groupedContributors: Contributor[][] = [] - let currentGroup: Contributor[] = [] - for (const contributor of contributors){ - currentGroup.push(contributor) - if (currentGroup.length == section.pfpColumns){ - groupedContributors.push(currentGroup) - currentGroup = [] - } - } - if (currentGroup.length > 0) groupedContributors.push(currentGroup) - - let y = 0 - for (const contributorGroup of groupedContributors){ - let x = 0 - for (const contributor of contributorGroup){ - const pfpYPos = 40 + yPos + (y * ((section.pfpSize * SPACE_MULTIPLIER) + nameOffset)) - const pfpXPos = 20 + (x * section.pfpSize * SPACE_MULTIPLIER) - sectionHtml += await createPfp(pfpYPos,pfpXPos,section.pfpSize,contributor,section.withNames) - x++ - } - y++ - } - - let sectionHeight: number = 40 + (y * ((section.pfpSize * SPACE_MULTIPLIER) + nameOffset)) - return {sectionHtml,sectionHeight} -} - -async function generateSections(sections:Section[],contributors:Contributor[]){ - let finalHeight: number = 10 - let finalHtml: string = "" - for (const section of sections){ - const sectionContributors = contributors.filter((s) => s.sectionId === section.id) - if (sectionContributors.length < 1) continue - const {sectionHtml,sectionHeight} = await generateSection(finalHeight,section,sectionContributors) - - finalHeight += sectionHeight - finalHtml += sectionHtml - } - - finalHeight += 10 - return {finalHeight,finalHtml} -} - -function generateFinalHtml(sectionsHtml:string,sectionHeight:number){ - return (` - - ${sectionsHtml} - `) -} - -//GENERATE CONTRIBUTORS SVG -async function main(){ - const {finalHeight,finalHtml} = await generateSections(contributorData.sections,contributorData.contributors) - fs.writeFileSync(path.join(process.cwd(),"./.github/CONTRIBUTORS.svg"),generateFinalHtml(finalHtml,finalHeight)) -} -main() \ No newline at end of file diff --git a/.tools/createSponsors.ts b/.tools/createSponsors.ts deleted file mode 100644 index 2ad05dc..0000000 --- a/.tools/createSponsors.ts +++ /dev/null @@ -1,132 +0,0 @@ -/// -import fs from "fs" -import path from "path" -import crypto from "crypto" - -const sponsorData: {sponsors:Sponsor[],sections:Section[]} = JSON.parse(fs.readFileSync(path.join(process.cwd(),"./.github/SPONSORS.json")).toString()) - -//CONSTANTS -const CORNER_RADIUS = 10 -const SPACE_MULTIPLIER = 1.2 -const SVG_WIDTH = 1000 - -//TYPES -interface Sponsor { - name:string, - pictureUrl:string, - profileUrl:string, - sectionId:string -} -interface Section { - name:string, - id:string, - pfpSize:number, - pfpColumns:number, - withNames:boolean -} - - -//FUNCTIONS -async function downloadPfpToBase64URL(url:string){ - const res = await fetch(url,{method:"GET"}) - if (!res.ok) return null - const buffer = Buffer.from(await res.arrayBuffer()) - console.log("Downloaded picture URL:",url) - return "data:image/png;base64,"+buffer.toString("base64") -} - -function createTitle(yPos:number,name:string){ - return `` -} - -async function createPfp(yPos:number,xPos:number,size:number,sponsor:Sponsor,withNames:boolean){ - const randomId = crypto.randomBytes(8).toString("hex") - const nameElement = (withNames) ? `${sponsor.name}` : "" - - return (``) -} - -async function generateSection(yPos:number,section:Section,sponsors:Sponsor[]){ - let sectionHtml: string = "" - sectionHtml += createTitle(yPos,section.name) - const nameOffset = (section.withNames) ? 20 : 0 - - //divide sponsors in rows - const groupedSponsors: Sponsor[][] = [] - let currentGroup: Sponsor[] = [] - for (const sponsor of sponsors){ - currentGroup.push(sponsor) - if (currentGroup.length == section.pfpColumns){ - groupedSponsors.push(currentGroup) - currentGroup = [] - } - } - if (currentGroup.length > 0) groupedSponsors.push(currentGroup) - - let y = 0 - for (const sponsorGroup of groupedSponsors){ - const xOffset = Math.round((SVG_WIDTH - (sponsorGroup.length * section.pfpSize * SPACE_MULTIPLIER))/2) - let x = 0 - for (const sponsor of sponsorGroup){ - const pfpYPos = 40 + yPos + (y * ((section.pfpSize * SPACE_MULTIPLIER) + nameOffset)) - const pfpXPos = xOffset + (x * section.pfpSize * SPACE_MULTIPLIER) - sectionHtml += await createPfp(pfpYPos,pfpXPos,section.pfpSize,sponsor,section.withNames) - x++ - } - y++ - } - - let sectionHeight: number = 40 + (y * ((section.pfpSize * SPACE_MULTIPLIER) + nameOffset)) - return {sectionHtml,sectionHeight} -} - -async function generateSections(sections:Section[],sponsors:Sponsor[]){ - let finalHeight: number = 10 - let finalHtml: string = "" - for (const section of sections){ - const sectionSponsors = sponsors.filter((s) => s.sectionId === section.id) - if (sectionSponsors.length < 1) continue - const {sectionHtml,sectionHeight} = await generateSection(finalHeight,section,sectionSponsors) - - finalHeight += sectionHeight - finalHtml += sectionHtml - } - - finalHeight += 10 - return {finalHeight,finalHtml} -} - -function generateFinalHtml(sectionsHtml:string,sectionHeight:number){ - return (` - - - ${sectionsHtml} - `) -} - -//GENERATE SPONSORS SVG -async function main(){ - const {finalHeight,finalHtml} = await generateSections(sponsorData.sections,sponsorData.sponsors) - fs.writeFileSync(path.join(process.cwd(),"./.github/SPONSORS.svg"),generateFinalHtml(finalHtml,finalHeight)) -} -main() \ No newline at end of file diff --git a/package.json b/package.json index e80641c..f5ad4d2 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,6 @@ "testsetup": "node index.js --cli --dev-config --dev-database --soft-plugins", "testnc": "node index.js --no-compile --dev-config --dev-database --soft-plugins", "tools:mergelang": "bun run .tools/mergeTranslations.js", - "tools:sponsors": "bun run .tools/createSponsors.ts", - "tools:contributors": "bun run .tools/createContributors.ts", "docker:build": ".tools/build-docker.sh djj123dj/open-ticket --no-push" }, "type": "module",