GRV-Summit-Site/scripts/download-assets.mjs
Kirubel-Kibru-Yaltopia d261148b35
Some checks are pending
Deploy to Cloudflare Workers (OpenNext) / deploy (push) Waiting to run
Enhance footer and hero with brand backgrounds
2026-05-21 20:35:59 +03:00

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);
}
}