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 @@
-
\ 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 (``)
-}
-
-//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 (``)
-}
-
-//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",