Add placeholder
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Rebecca-Chou 2022-02-14 11:45:30 +08:00
parent 57f67bc8d1
commit 340dfa67b5
1 changed files with 48 additions and 46 deletions

View File

@ -1,3 +1,4 @@
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
import { readFile, readdir, access } from "fs/promises"; import { readFile, readdir, access } from "fs/promises";
import path from "path"; import path from "path";
@ -11,14 +12,22 @@ const EXECS_PATH = path.join("content", "team", "execs");
const fileType = ".md"; const fileType = ".md";
const { year, term } = getCurrentTerm(); const { year, term } = getCurrentTerm();
const execPositions: { [name: string]: { order: number; name: string } } = { const execPositions: { [name: string]: number } = {
president: { order: 1, name: "President" }, president: 1,
"vice-president": { order: 2, name: "Vice President" }, "vice-president": 2,
secretary: { order: 3, name: "Assistant Vice President" }, secretary: 3,
treasurer: { order: 4, name: "Treasurer" }, treasurer: 4,
sysadmin: { order: 5, name: "System Administrator" }, sysadmin: 5,
}; };
const positionNames: string[] = [
"President",
"Vice President",
"Assistant Vice President",
"Treasurer",
"System Administrator",
];
export interface execMembers { export interface execMembers {
name: string; name: string;
position: string; position: string;
@ -63,22 +72,17 @@ export async function getExecNames() {
}) })
.filter((item: execMembers) => item.position in execPositions) .filter((item: execMembers) => item.position in execPositions)
.sort((item1: execMembers, item2: execMembers) => { .sort((item1: execMembers, item2: execMembers) => {
return ( return execPositions[item1.position] - execPositions[item2.position];
execPositions[item1.position].order -
execPositions[item2.position].order
);
}); });
formattedExec = execMembers.map( formattedExec = execMembers.map(
(member) => (member) =>
`0${execPositions[member.position].order}-${member.name `0${execPositions[member.position]}-${member.name
.split(" ")[0] .split(" ")[0]
.toLowerCase()}-${member.name.split(" ")[1].toLowerCase()}` .toLowerCase()}-${member.name.split(" ")[1].toLowerCase()}`
); );
formattedExec = [...formattedExec, "06-codey"]; formattedExec = [...formattedExec, "06-codey"];
// Add a new line???
} finally { } finally {
await client.unbind(); await client.unbind();
} }
@ -87,45 +91,43 @@ export async function getExecNames() {
} }
export async function getExec(fileName: string, convert = true) { export async function getExec(fileName: string, convert = true) {
// const firstName = let content, metadata;
// fileName.split("-")[1][0].toUpperCase() + fileName.split("-")[1].slice(1);
// const lastName =
// fileName.split("-")[2][0].toUpperCase() + fileName.split("-")[2].slice(1);
// const posOrder = fileName.split("-")[0];
// const pos = posDict[posOrder];
// let content, metadata; try {
const raw = await readFile(path.join(EXECS_PATH, `${fileName}${fileType}`));
({ content, data: metadata } = matter(raw));
// try { const image =
const raw = await readFile(path.join(EXECS_PATH, `${fileName}${fileType}`)); (metadata.image as string | undefined) ??
const { content, data: metadata } = matter(raw); (await getMemberImagePath(metadata.name));
const image = return {
(metadata.image as string | undefined) ?? content: convert ? await serialize(content) : content,
(await getMemberImagePath(metadata.name)); metadata: { ...metadata, image } as Metadata,
};
} catch (err) {
const firstName =
fileName.split("-")[1][0].toUpperCase() + fileName.split("-")[1].slice(1);
const lastName =
fileName.split("-")[2][0].toUpperCase() + fileName.split("-")[2].slice(1);
return { const posOrder = fileName.split("-")[0][1];
content: convert ? await serialize(content) : content, const posName = positionNames[Number(posOrder) - 1];
metadata: { ...metadata, image } as Metadata, ({ content, metadata } = {
}; content: "Coming soon!",
// }; metadata: {
// } catch (err) { name: `${firstName} ${lastName}`,
// console.log(err); role: `${posName}`,
// ({ content, metadata } = { },
// content: "Coming soon!", });
// metadata: {
// name: `${firstName} ${lastName}`,
// role: `${pos}`,
// },
// });
// const image = await getMemberImagePath(metadata.name); const image = await getMemberImagePath(metadata.name);
// return { return {
// content: convert ? await serialize(content) : content, content: convert ? await serialize(content) : content,
// metadata: { ...metadata, image } as Metadata, metadata: { ...metadata, image } as Metadata,
// }; };
// } }
} }
async function getImage(imgPath: string) { async function getImage(imgPath: string) {