Welcome to my personal website repository! This repository contains the source code and assets for my personal website, adapted from the Dimension theme by HTML5 UP by ajlkn. It showcases my work, skills, and provides information about me.
You can see a live preview of my website here.
- HTML
- CSS
- JavaScript
- Adobe PDF Embed
- Google Analytics
- FormSubmit
The site's visual language is centralized as a small, build-free design system (native CSS custom properties — no npm or Sass build required).
- Tokens — the source of truth. All design values (color, typography, spacing, radius, motion, z-index) are defined as CSS custom properties in
assets/css/tokens.css, loaded before every other stylesheet. Edit values there and reload. Naming follows--{category}-{name}-{modifier}(e.g.--color-fg-light,--text-h2,--duration-transition). - Living style guide.
styleguide.htmlrenders every token and component (buttons, forms, tables, lists, icons, images, box, the opened article window, plus the custom CV and blog components) on one page, each labeled with its class names. View it at/styleguide.html. - Where styles live.
assets/css/main.cssis the compiled Dimension template, retrofitted so its brand color / font / radius literals read from the tokens viavar(--token, fallback)(the fallback keeps the original look iftokens.cssis missing).assets/css/styles.cssholds the custom opened-window, CV, and blog components and also consumes the tokens. - SCSS is legacy/reference only. The SCSS in
assets/sass/is no longer compiled — do not editassets/sass/libs/_vars.scssexpecting changes to apply; edittokens.cssinstead. - Adding a component. Add its markup to
styleguide.htmlwith a class-name caption, style it instyles.cssreusing existing tokens, and add a new token only when a value is genuinely reused.
Note:
--color-line-blog(#ccc) and--color-fg-faint(#999) are light grays inherited from the original blog styling and sit slightly off the dark palette; they can be aligned to--color-border-bg-alt/--color-fg-lightlater if desired.
Compared with the original Dimension theme by HTML5 UP, this site adds:
- Personal academic content, navigation, profile imagery, favicon, footer credits, and social / academic links.
- A build-free design system in
assets/css/tokens.css, with the compiled Dimension CSS updated to read from CSS custom properties. - A living component reference in
styleguide.html, including tokens, base Dimension elements, the opened article window, CV components, and blog cards. - Custom
assets/css/styles.cssrules for the opened article popup, hover / scroll / touch-aware article scrollbar, mobile scroll containment, CV layout, and blog layout. - JavaScript enhancements in
assets/js/main.jsfor body-level article scrollbars, smooth scrollbar fading, hash-driven popup updates, and mobile-friendly scroll behavior. - A fetched CV partial (
cv/cv.html) with custom timeline, badges, publication, row, and skill styles. - JSON-driven blog rendering through
assets/js/blog.jsandblog/blog-posts.json. - Contact delivery through FormSubmit, analytics through Google Analytics, and academic icons through Academicons.
- A static, GitHub Pages-friendly workflow with no npm, bundler, or Sass build step required.
- Theme: Dimension theme by HTML5 UP
- Background Image: Unsplash.com
- Fonts: Font Awesome v4
- Other: