skip to content
Ben Lau statistics . machine learning . programming . optimization . research

Personal Website

3 min read Updated: Code

Brief Description

This website was built in Sveltekit, then migrated to Astro for better performance and layout dedicated for static website.

  • Implemented a static website with minimalistic design in Typescript and tailwindcss to showcase my portfolio including projects and notes.
  • Implemented a Rust program to extract the first heading, last modified date, and creation date of markdown files and use them as frontmatters in Astro.
  • Implemented a remark plugin remark-h1-to-title.ts to extract the first heading of a markdown file and use it as the title of the page.
  • Implemented a remark plugin remark-updated-date.ts to extract the last modified date of a markdown file in git commit history and use it as the updated date of the page.

Technical Details

How does flex wrap work?

Centering a flex container with left-aligned items

References

Several days were spent to conduct a research on how to build a good personal website. Here are the websites that I found inspiring.

Collections

Minimalistic design

Academic

Data journalism

Linux OS alike

Visualization

Typography

Useful Plugins

  • pagefind — search for pages in your static site
  • Giscus — comments for your static site
  • quarto — An open-source scientific and technical publishing system
  • Intersection Observer API — for highlighting current section in table of contents