import BasicPage from "../../../components/basic-page";
import IDCard from "../../../components/identity-card";
import PCard from "../../../components/partner-card";
import IDCardText from "../../../components/identity-card-textbox";
// An object listing pages folks can visit
export async function getStaticProps() {
const fs = require("fs");
const yaml = require("js-yaml");
let PARTNERS = {};
let emoji_paths = {};
try {
let fileContent = fs.readFileSync("./data/identities/partners.yml", "utf8");
PARTNERS = yaml.load(fileContent);
const emoji_pattern = new RegExp(/(:[A-Za-z_-]+:)/, "g");
let emoji = [];
Object.keys(PARTNERS).forEach((p, i) => {
Array.from(emoji_pattern[Symbol.matchAll](PARTNERS[p].bio)).forEach(
(e, i) => {
emoji.push(e[0]);
}
);
if (Boolean(PARTNERS[p].fields)) {
Object.keys(PARTNERS[p].fields).forEach((f, i) => {
Array.from(emoji_pattern[Symbol.matchAll](f)).forEach((e, i) => {
emoji.push(e[0]);
});
Array.from(
emoji_pattern[Symbol.matchAll](PARTNERS[p].fields[f])
).forEach((e, i) => {
emoji.push(e[0]);
});
});
}
});
emoji.forEach((e, i) => {
if (fs.existsSync(`./public/emoji/${e}.svg`)) {
emoji_paths[e] = `/emoji/${e}.svg`;
} else if (fs.existsSync(`./public/emoji/${e}.png`)) {
emoji_paths[e] = `/emoji/${e}.png`;
} else {
emoji_paths[e] = `/emoji/:aliceweh:.png`;
}
});
} catch (e) {
console.log(e);
}
return {
props: {
PARTNERS,
emoji_paths,
},
};
}
export default function Partners({ PARTNERS, emoji_paths }) {
if (PARTNERS) {
return (
{Object.keys(PARTNERS).map((partner) => (
))}
);
} else {
return (
);
}
}