Some checks are pending
Deploy to Cloudflare Workers (OpenNext) / deploy (push) Waiting to run
62 lines
3.4 KiB
JavaScript
62 lines
3.4 KiB
JavaScript
import { mkdir, writeFile } from "fs/promises";
|
|
import { dirname, join } from "path";
|
|
import { fileURLToPath } from "url";
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
const root = join(__dirname, "..");
|
|
const base = "https://grvsummit.com/wp-content/uploads";
|
|
|
|
const assets = [
|
|
{ url: `${base}/2024/10/Great-Rift-Valley-Innovation-Summit-03-1-1.png`, dest: "public/branding/logo.png" },
|
|
{ url: `${base}/2024/10/Great-Rift-Valley-Innovation-Summit-03-1-1-100x100.png`, dest: "public/branding/logo-icon.png" },
|
|
{ url: `${base}/2024/10/image-1.jpg`, dest: "public/branding/logo-wordmark.jpg" },
|
|
{ url: `${base}/2024/11/Web-Asset_Exibition-Booth-Mockup-1.png`, dest: "public/branding/booth-mockup.png" },
|
|
{ url: `${base}/2025/02/Sarma_editeed-removebg-preview.png`, dest: "public/branding/speakers/sarma.png" },
|
|
{ url: `${base}/2025/02/Solomon_edited-removebg-preview.png`, dest: "public/branding/speakers/solomon.png" },
|
|
{ url: `${base}/2025/02/Sunil_edited-removebg-preview.png`, dest: "public/branding/speakers/sunil.png" },
|
|
{ url: `${base}/2025/02/Tewabech_edited-removebg-preview.png`, dest: "public/branding/speakers/tewabech.png" },
|
|
{ url: `${base}/2025/02/Beamlak_edited-removebg-preview-1.png`, dest: "public/branding/speakers/beamlak.png" },
|
|
{ url: `${base}/2025/02/Abrahame_Endrias_edited-removebg-preview.png`, dest: "public/branding/speakers/abrhame.png" },
|
|
{ url: `${base}/2025/02/Mekdim_edteid-removebg-preview.png`, dest: "public/branding/speakers/mekdim.png" },
|
|
{ url: `${base}/2025/02/brook_taye_edited-removebg-preview.png`, dest: "public/branding/speakers/brook.png" },
|
|
{ url: `${base}/2025/02/yared_edited-removebg-preview.png`, dest: "public/branding/speakers/yared.png" },
|
|
{ url: `${base}/2025/02/Biruh_edited-removebg-preview.png`, dest: "public/branding/speakers/biruh.png" },
|
|
{ url: `${base}/2025/02/Abraham_edited-removebg-preview.png`, dest: "public/branding/speakers/abraham.png" },
|
|
{ url: `${base}/2025/02/Amity_edited-removebg-preview.png`, dest: "public/branding/speakers/amity.png" },
|
|
{ url: `${base}/2025/02/Tigist_edited-removebg-preview.png`, dest: "public/branding/speakers/tigist.png" },
|
|
{ url: `${base}/2025/02/Adam_edited-removebg-preview.png`, dest: "public/branding/speakers/adam.png" },
|
|
{ url: `${base}/2025/02/lulite_edited-removebg-preview.png`, dest: "public/branding/speakers/lulite.png" },
|
|
{ url: `${base}/2025/02/dagmawit_edited-removebg-preview.png`, dest: "public/branding/speakers/dagmawit.png" },
|
|
{ url: `${base}/2025/02/samiya_edited-removebg-preview.png`, dest: "public/branding/speakers/samiya.png" },
|
|
{
|
|
url: "https://www.google.com/s2/favicons?domain=lifelineaddis.com&sz=128",
|
|
dest: "public/branding/winners/lifeline-addis.png",
|
|
},
|
|
{
|
|
url: "https://www.google.com/s2/favicons?domain=globedock.et&sz=128",
|
|
dest: "public/branding/winners/globedock-academy.png",
|
|
},
|
|
{
|
|
url: "https://www.google.com/s2/favicons?domain=muyalogy.com&sz=128",
|
|
dest: "public/branding/winners/muyalogy.png",
|
|
},
|
|
];
|
|
|
|
async function download(url, dest) {
|
|
const path = join(root, dest);
|
|
await mkdir(dirname(path), { recursive: true });
|
|
const res = await fetch(url);
|
|
if (!res.ok) throw new Error(`Failed ${url}: ${res.status}`);
|
|
const buf = Buffer.from(await res.arrayBuffer());
|
|
await writeFile(path, buf);
|
|
console.log(`✓ ${dest}`);
|
|
}
|
|
|
|
for (const { url, dest } of assets) {
|
|
try {
|
|
await download(url, dest);
|
|
} catch (e) {
|
|
console.warn(`✗ ${dest}:`, e.message);
|
|
}
|
|
}
|