diff --git a/build.sh b/build.sh index 0bfc428..338204b 100755 --- a/build.sh +++ b/build.sh @@ -1,7 +1,7 @@ #!/bin/sh cp -r content/static build/ -npx lessc css/style.less build/style.css -npx lessc css/resume.less build/resume.css +npx lessc css/style.scss build/style.css +npx lessc css/resume.scss build/resume.css npx esbuild --bundle js/bundle.ts --outfile=build/bundle.js bun gen/main.ts diff --git a/css/resume.less b/css/resume.scss similarity index 93% rename from css/resume.less rename to css/resume.scss index 5ed3bdd..a7f5271 100644 --- a/css/resume.less +++ b/css/resume.scss @@ -159,6 +159,15 @@ section { font-size: 14pt; } + section.experiences { + &::after { + text-align: center; + display: block; + content: "\261F"; + font-size: 1.5rem; + } + } + section.projects { padding-top: 22px; } diff --git a/css/style.less b/css/style.scss similarity index 100% rename from css/style.less rename to css/style.scss diff --git a/gen/pages/work.ts b/gen/pages/work.ts index 9f8e9a4..8303541 100644 --- a/gen/pages/work.ts +++ b/gen/pages/work.ts @@ -60,7 +60,7 @@ type Resume = { education: Education; experiences: Experience[]; selectedProjects: Project[]; - skills: Skill[]; + skills: String[]; }; const RESUME: Resume = { @@ -194,9 +194,50 @@ const RESUME: Resume = { link: "https://status.idylls.net", }, ], - skills: ["Rust", "TypeScript", "C++", "C", "Haskell", "Java"], + skills: [ + "C++", + "C", + "Haskell", + "Low-level Programming", + "Performance Analysis / Optimization", + "Realtime Graphics", + ], }; +const SKILL_PRIO = { + TypeScript: 100, + Go: 99, + Rust: 101, + JavaScript: 98, + Java: 97, + React: 96, + Elixir: 90, + Python: 90, +} as const satisfies Partial>; +const skillPrio = (s: Skill) => SKILL_PRIO[s] ?? null; +const sortSkill = (a: Skill, b: Skill) => { + const aPrio = skillPrio(a); + const bPrio = skillPrio(b); + if (!aPrio) { + if (bPrio) { + return bPrio; + } + + return a.localeCompare(b); + } + + const prio = bPrio - aPrio; + if (prio == 0) { + return a.localeCompare(b); + } + + return prio; +}; + +for (const exp of RESUME.experiences) { + exp.skills.sort(sortSkill); +} + export const renderResume = () => { const renderInfo = () => `
@@ -262,7 +303,7 @@ export const renderResume = () => { const renderSkills = () => `
-
Skills
+
Additional Skills
${RESUME.skills.join(", ")}
`;