Personal portfolio site for Tao Xu at https://taoxee.github.io/
Stack: Jekyll static site, remote_theme: mmistakes/minimal-mistakes@4.26.1, skin: air, GitHub Pages deployment.
Pages: About (/about/), CV (/cv/), Posts (/posts/), Contact (/contact/). Navigation in _data/navigation.yml.
Key custom features:
data-translate attributes + JS dictionary in _includes/scripts.html. Google Translate fallback. Language persisted in localStorage._data/social_posts.yml, rendered via _includes/linkedin-post-card.html./assets/files/PM-TAO-Intl-Apr-15.pdf), Chinese (/assets/files/PM-TAO-中文-Dec-12.pdf)._includes/head/custom.html.Author config: _config.yml under author:.
Only commit when the user explicitly asks. Do not stage or commit after making code changes.
Never add Co-Authored-By: trailers to commit messages.
Before any UI/layout/CSS change, audit all affected modules, breakpoints, and sibling elements for side effects:
$large: 1024px, $x-large: 1280px)Why this matters: The sidebar collapse feature required explicit reflow fixes for both article.page and div.archive — a silent side effect that wasn’t obvious from the initial request.
| File | Purpose |
|——|———|
| assets/css/main.scss | All custom SCSS (~1700 lines) |
| _includes/head/custom.html | Custom CSS, meta tags, Google Analytics, sidebar/icon styles |
| _includes/scripts.html | EN/ZH translation JS dictionary + Google Translate integration |
| _includes/sidebar.html | Collapsible author sidebar with toggle button + JS |
| _includes/linkedin-post-card.html | Social post card component |
| _data/social_posts.yml | LinkedIn post content |
| _data/navigation.yml | Site nav links |
| _pages/about.md | About page |
| _pages/cv.md | CV page with Swiper carousel |
| _pages/posts.md | Posts/archive page |
| _pages/contact.md | Contact page with WeChat clipboard copy |