Change Log

Development timeline of this website, from first commit to now.

daily activity

64 work days · 228 commits · 303 hours logged

Built Doc & Muse with Notion

Refine AI Agent Operating Doc. Started Phase 10. Verified Notion MCP capability boundaries, and drafted a tech blog on Muse–Notion coworking.

2 commits · 5 h
  • dev: refine quarto project doc (for AI agents); connect Muse with Notion mcp; started Phase 10
  • blg: draft tech blog on Muse (agent) coworking with Notion, harness & doc design, and prompt patterns for sustainable agent workflows
Blog x3, Fix Quarto Preview & Publish

Added bilingual Compressor Tips and Cloudflare R2 CDN posts plus a Chinese computer ergonomics post; fixed Quarto preview hooks and Bayanihan image sources, reorganized blog categories, and published the updates to social media.

4 commits · 6.25 h
  • fix: correct image sources for zh/proj/bayanihan
  • dev: fix Quarto preview by uncommenting the _quarto.yml pre-render and post-render options
  • blg: add the English and Chinese compressor-tips posts
  • blg: add the English and Chinese cloudflare-r2-cdn posts; reorganize blog categories
  • blg: add the Chinese computer-ergonomics post
  • dev: publish the updates to social media
Phase 10 · Blogs, Preview Fixes & PublishingSep 21
Freeze Executed Pages & Publish Fixes

Stabilized publishing with frozen executed pages, fixed navbar submenu styling, and republished the site.

1 commit · 1.5 h
  • dev: fix publish; add _freeze for executed pages
  • fix: navbar submenu styles; publish
Media Storage → Cloudflare R2 CDN

Moved large portfolio media out of the repository after testing Git LFS and unlisted video hosting. Settled on Cloudflare R2 with a dedicated media CDN and PicGo workflow.

3 commits · 7.75 h
Aug 18
  • dev: track large media files
  • dev: store large media files online
Aug 19
  • dev: store large media files on Cloudflare R2 + config in PicGo
Contribution Graph → Snake

Reworked the homepage GitHub contribution visualization into a snake-style animation.

2 commits · 1 h
  • dev: home contrib graph → snake
  • dev: home contrib graph → snake
Media Portfolio: Music, Art & Video

Built out the hobbies/media portfolio: collected videos, added music and art, refined responsive layouts and the video player, and unified presentation styles.

6 commits · 15.25 h
Jul 22
  • hobb: collect all videos
Aug 12
  • feat: media portfolio (music)
Aug 15
  • hobb: media portfolio (music)
Aug 17
  • hobb: music & art
  • dev: refine music layout & style
  • fix: video player & responsive tag-bar
  • hobb: adjust music videos; add art photos
  • hobb: music & art
Aug 18
  • feat: art & video
Phase 9 · Hobbies & Media PortfolioJul 22
URL Shortener: Accounts, Management & Polish

Expanded the URL Shortener with login and link management, then refined its styling, 404 page, demo video, and overall experience.

3 commits · 6.5 h
Jul 21
  • tool: url-shortener add login & management feat
Jul 22
  • tool: url-shortener refine styles, add 404 page, add video demo
Aug 6
  • tool: refine URL-Shortener
Cursor Blink Style Fix

Fixed the cursor-blink styling for a cleaner interactive presentation.

1 commit · 1 h
  • fix: style cursor-blink
Blog x2: Notion Workflow & Snipaste Stuck on Top Fix

Add two blogs: Notion Automatic Workflow & Snipaste Stuck on Top Fix. Refine content, sync change log, and publish.

4 commits · 3.25 h
Jul 16
  • blg: Notion automatic workflow
  • blg: Snipaste stuck on top fix
Jul 18
  • contnt: refine & cl-sync & publish
  • dev: cl-sync script use .env
Blog: Easy Canvas + Tool: Monthly Love

Add Easy Canvas blog & Monthly Love tool; refine & link content.

6 commits · 4.75 h
Jul 13
  • blg: plotly-display-fix — more visuals & fix %%shell code magic instruction
  • ttl: link network ttl with network-display-fix blg
  • blg: zh/en easy-canvas-connection
  • contnt: refine tags & page-size
Jul 15
  • dev: store keys in .env instead of .zshrc
  • contnt: refine blg & home
  • tool: monthly love; bayanihan (redirect to proj)
Blog x2: Plotly & Network Diagram Display Fix

Improved navigation, styling, blog organization, and bilingual content while refining Plotly and network diagram solutions.

6 commits · 12.5 h
  • feat: page-navigation (at bottom)
  • style: sidebar separator (disabled now); fix dark code-tools
  • dev: add orders by date revert to blgs; add date to all page folder name & add aliases
  • blg: zh/en fix-colab-plotly-export
  • dev: debug & test network diagram, find new solutions (denied, maintain original one)
  • blg: zh/en network diagram display
Blog x2: Notion DB Auto-Sync Tips & VPS Login Fix

Added two new blogs: VPS login troubleshooting & Notion DB auto sync tips; fixed SVG to match theme.

3 commits · 7.25 h
Jul 10
  • blg: ntn-db-auto-sync en/zh
Jul 11
  • blg: vps-ssh-login-troubleshooting
  • fix: svg (flowchart by draw.io) switch theme by system setting
Phase 8 · More Blogs & ToolsJul 10 - now
Enable Img Lazy Load & Code Crossref

Improved image loading and cross-reference support, refined figure and SCSS styling, and added the Notion database auto-sync blog

6 commits · 8 h
  • fix: img lazy load, let mermaid load first
  • blg: ntn-db-auto-sync
  • feat: enable macbook-frame & img-frame figcaption on topbar
  • feat: enable lst crossref
  • fix: crossref not working in executable cells & customize styles (mv lst-cap to buttom center)
  • style: restructure scss: extract common styles, keep only variables
Finish Notion DB Auto-Sync Development

Finish Notion change log databases auto-sync development. Refine formulas; fix UI/API inconsistency. Add a blog of tips learned.

3 commits · 7 h
  • dev: refine Notion change log db props, reduce to minimum, reduce runtime
  • fix: cl sync bugs (api timezone inconsistency), refine py & lua scripts
  • blg: ini ntn-db-auto-sync-tips
Automate Quarto+Notion DB Workflow

Restructure Notion dev/log databses; replace manual properties to Notion Formulas; build automation workflow.

7 commits · 15.75 h
Jul 5
  • dev: restructure Notion All Projects databases; connect Quarto databases with Relation & Rollup; let claude do repetitive work
Jul 6
  • dev: replace manual props with Rollup & Formula (eg. start/hours/days/date-label); built automate workflow
  • fix: n_uniques of _start (dev db) ≠ sum of Days (log db)
Jul 7
  • fix: python sync script (add dev db to Notion connection)
Bayanihan UI/UX Design & About Page

New project of an UI/UX design for Bayanihan. Redesign About page. Bug fixed & style refined.

8 commits · 13.25 h
  • contnt: about pages (contact for now); refine change-log; homepage; refine zh/proj/songs’ title
  • style: add about-jolla.css; refine cl-item:hover border-color; rm ::after icon from external links with .btn
  • fix: refactor repo-url & links to repo’s CSV
  • fix: giscus lang-switch in 404 with in-page scripts
  • feat: ini bayanihan proj; add interactive color-token-bar
  • proj: translate bayanihan to zh
  • style: disable about-page dark-img-shade; refine plotly in dark (img-shade & margin)
  • feat: let title-meta-author be flex; mv sidebar site-tool sections to bottom
Change Log

New feature: Change Logs. With timeline, Notion CMS and heatmap. Fixed rendering & config. Polished UI.

5 commits · 11.5 h
  • feat: add change log page
  • fix: cross-ref (no space allowed in tbl-colwitdths); lang zh (instead of zh-CN) in Quarto; archive render error (config render options)
  • feat: change-log timeline reversible; connected to Notion csms; heatmap with tabs
  • feat: change-log zh connected to Notion & translated via agents; sync-changelog.py added progress bar
  • style: refine & fix change-log, add transitions & colors; fix .intro section of homepages
Phase 7 · Automation, Change Log & UI/UXJul 3 - Jul 9
Comments Component i18n & External Builds

Giscus comments now follows the page language, active tags toggle off on a second click, and external links show an icon. Build external project demos.

6 commits · 10 h
  • feat: enable giscus en/zh-CN
  • feat: tag bar revert to All after clicking active tag
  • feat: add external links YAML & link icons; fix icon on image links
  • dev: add gh-actions to keep supabase and mongodb alive; refine .gitignore; add About to nav
  • contnt: (external sites) build Bayanihan demo; refine URL-shortener footer
Comments and a Reproduction Guide

Giscus comments went live, and a new page documents how to reproduce the R and Python environments. README in both languages.

6 commits · 12.5 h
Jun 29
  • feat: add giscus comments;
  • style: refine hr; add dark-mode image shade; fix readme page tag padding
  • dev: document R & Python env; add Reproduce instruction; explore visitor counter and bio yml in dev-playground
  • feat: re-init About page layout
Jul 1
  • feat: add README en/zh; add Reproduce instruction (readme) en/zh
Mobile Line Breaks and a Contribution Graph

Mobile tables stopped overflowing, the homepage got a GitHub contribution graph, and every script moved into one structure.

7 commits · 12.25 h
Jun 27
  • fix: line breaks on mobile (esp. table cell, use <wbr> if needed)
  • feat: add responsive GitHub contribution graph to home; enabled mobile-only and mobile-hide utility classes
Jun 28
  • feat: add macbook-frame and img-frame components for blogs and tools
  • feat: add copyright-year script; restructure all JS
  • style: enable code-with-filename
  • feat: reset site URL (fixing 404 render bug)
Dark Mode

All styles merged into portfolio.scss, and the site gained a full dark theme in portfolio-dark.

4 commits · 8 h
Jun 25
  • dev: restructure all styles
Jun 26
  • dev: enable light-dark themes portfolio.scss and portfolio-dark.scss
  • style: refine all styles; enable callout blocks
  • dev: published to gh-pages
Tools Section

A new section for web tools: URL shortener, Cat Image Hub, News Hub, etc.

8 commits · 10.25 h
Jun 23
  • feat: init tools section; add url-shortener and cat-img-hub
  • fix: page tag redirect (caused by listing-page>1)
JUn 23
  • contnt: refine tags and home intro
Jun 24
  • tool: finish news-hub; refine the other two tools
  • fix: mobile font sizes in nav, sidebar, and buttons
  • dev: alias ai-tweets; published to gh-pages
All-Posts Page & Edit-This-Page Features

An all-posts listing with post-type filters, plus an edit-this-page link on every article.

3 commits · 2.5 h
  • feat: add all-posts page and its post-type filter script
  • feat: enable edit-this-page
  • fix: responsive tag bar’s render delay
Phase 6 · Tools, Dark Mode & FeaturesJun 22 - Jul 2
Mobile Pass

First proper mobile work: button layout, tag collapse, dropdown layering, and a host setting for testing on a phone.

4 commits · 5.25 h
Jun 20
  • style: home buttons flex on mobile; collapsed listing page tags with script
  • fix: nav-dropdown overlayed by sidebar on mobile
  • dev: add default host & port for mobile dev
Jun 21
  • feat: set up homepage listing (replacing hard-coded cards)
Shellfolder Blog Finished; Second Publish

The shellfolder post reached its final structure in both languages, and the site was republished with cleaner routes.

7 commits · 11.5 h
Jun 17
  • blg: refine shellfolder (structure + TOC opts)
Jun 18
  • style: dropdown-item; rm toc padding transit; show listing-tag counts; centered all fig-caps; title-block tags; rem/pad/mar
Jun 19
  • blg: finish quarto-img-styles
  • fix: strip /index.html from routes with script; refined the listing sort and filter UI
  • feat: all pages support en/zh languages
  • dev: publish to gh-pages
Figure Styles Solved; Img-Hosting Workflow

Three long days on the shellfolder blog and figure styling. The image sizing and centering fix became its own post, quarto-img-styles.

12 commits · 20.5 h
Jun 14
  • fix: sidebar search not showing bug (repeated #quarto-search)
  • style: navbar dropdown; in-line code wrap; non-executable code block; line break styles
  • dev: add Bootstrap icons to quicklinks
  • blg: refine fix-misplaced-sysfolders zh
Jun 15
  • fix: responsive image sizing and centering
  • blg: add fix notes to blg (quarto-img-styles)
  • dev: set up PicGo with GitHub as image host
  • feat: enable img lightbox
Jun 16
  • blg: refine & translate quarto-img-styles; refine shellfolder en/zh
Blog Section Opened

The blog section started with a post on misplaced system folders. Also fixed the long-standing navbar active-anchor bug.

4 commits · 5.25 h
Jun 11
  • fix: navbar active anchor; refine all JS with code convention
Jun 12
  • contnt: refine homepage
Jun 13
  • blg: init blogs listing page, add fix-misplaced-sysfolders (now shellfolders)
  • dev: refine sidebar YAML & layout
  • feat: add cover images to listing pages
  • style: fix search bar cancel button line wrap
Listing Polish & 404 Fix

A round of small fixes: the 404 page finally respects language and route, listings got cover images, and the favicon became a spark.

8 commits · 6 h
Jun 7
  • fix: sidebar toggle area; change favicon to spark
  • dev: switch publishing to quarto publish gh-pages --no-render ; rename r-tips from .md to .qmd so it shows in listings
Jun 9
  • fix: 404 page language & route with in-page scripts
  • feat: add env/version blocks & number-sections to projects; add image field to listing (card cover)
  • contnt: refactor ai-tweets to ai-discourse; refine & translate global-visa & r-tips; refine all categories and descriptions
Phase 5 · Blogs, Styling & MobileJun 7 - Jun 21
AI-Tweets Project & R-Tips Tutorial

Two new pieces of content, plus fixes for the language switcher, reading time, and homepage cards.

11 commits · 13.75 h
Jun 4
  • fix: lang-switch reroutes to root/en ; zh/en diff reading-time; home card clickable area
  • ttl: translate sankey into en
  • proj: add ai-tweets; fix its rendering bug
Jun 5
  • fix: nav-bar lang-switch drop-down menu
  • proj: ai-tweets all tables, code comments, translate into zh
  • ttl: add R-tips zh
  • dev: enable ==mark== syntax in _quarto.yml
First Publish to GitHub Pages

The site went live. Added a reading-time filter written in Lua, language-switcher fixes, and a refined sankey tutorial.

7 commits · 8.75 h
  • dev: publish to gh-pages
  • feat: add reading time via reading-stats.lua
  • fix: lang-switch; add home reroute (/ → /en/); number-sections
  • contnt: textual bugs; hobb placeholder
  • ttl: translate multivariate into en; refine zh sankey
Project Restarted; Translation Push

Work resumed after seven weeks with a README, manual cross-refs for outputs, and a translation pass across most projects and tutorials.

11 commits · 9.25 h
May 31
  • dev: init README.md ; write cross-ref SOP notes
  • proj: add manual cross-refs for outputs in student-media-usage
  • proj: translate data-processing, student-media-usage, and catalan into zh
Jun 2
  • proj: translate & fix songs, visa, and catalan
  • ttl: translate amounts-and-distribution into en
  • ttl: refine zh multivariate-plots’ figures, text, cross-refs
  • dev: add back-to-top navigation
Phase 4 · Restart, Translation & First PublishMay 31 - Jun 5
Data-Processing Tutorial in English

Finished the English version of the data-processing tutorial. The last entry before a seven-week pause.

1 commit · 1.25 h
  • ttl: finish data-processing en
Full Style Revamp & en/zh Switch

The whole stylesheet was rewritten as portfolio.css, and the site gained a Chinese mirror tree with a language switch.

14 commits · 8.25 h
  • style: rewrote site CSS in src/styles/portfolio.css; add logo in _brand.yml
  • fix: copy button, nav toggle color, dropdown menu, and scrollbar styles
  • feat: init hobbies page;
  • dev: add en/zh lang-switch; move zh pages into a /zh/ mirror of the site tree
  • dev: move shared datasets and img into /src/ so both languages reuse them
  • contnt: translated all English pages to Chinese
Phase 3 · Style Revamp & i18n GroundworkApr 10 - Apr 11
Cross-Reference System

In-text citations switched to Quarto cross-refs, and the bibliography moved into a .bib file with APA formatting.

4 commits · 1.75 h
Apr 7
  • ttl: refine wording in amounts-and-distribution
  • proj: add @fig-/@tbl-/@sec- cross-refs; extract bibliography to reference.bib; add src/apa.csl
Apr 8
  • proj: link in-text citations to the appendix
Tutorials Section Added

All tutorial files came in at once: converted to .qmd, images extracted, and folders restructured for future en/zh versions.

5 commits · 1.75 h
  • ttl: add all tutorial files, convert to .qmd, extract all base64 img to src
  • ttl: restructure tutorials into en/zh folders
  • dev: replace caption spans with cross-ref options (#| label, #| fig-cap)
Phase 2 · Tutorials & Cross-ReferencingApr 5 - Apr 8
Sidebar & Link Fixes

A small cleanup for pass over sidebar active styles, external documentation links, and homepage wording.

4 commits · 3.5 h
  • fix: sidebar active style error with diff classnames in localhost & gh-pages
  • fix: drop fix-navbar-active script from the About page, use sidebar: false instead
  • proj: fix URL references to pandas and Python docs
  • contnt: refined wording and homepage layout
Python Pipeline & Repo Restructure

The heaviest day of the setup phase. Python projects moved to the Jupyter renderer, notebooks became .qmd files, and static assets moved into /src/.

17 commits · 11.75 h
  • style: sidebar, breadcrumb navigation and page tag styles; extract inline styles into CSS; add .caption class
  • dev: convert .ipynb/.Rmd to .qmd; switch Python projects from knitr to Jupyter renderer
  • dev: add env and package version chunks to all project pages (Python chunks need #| for YAML options)
  • dev: restructure the tree into /src/styles, /src/scripts, /src/img ; add 404, home pages, and favicon
  • proj: extract images from base64; compressed code cells in global-visa
  • fix: navbar active error with fix-navbar-active script
  • feat: init tutorial pages
Catalan Project Finished

Refined Catalan Referendum project page, the site’s first complete article.

3 commits · 4 h
  • dev: refine YAML headers across project pages; add tables of contents (TOC)
  • dev: clean up routes in _quarto.yml
  • proj: finish rewriting catalan-referendum/index.qmd
Project Bootstrapped

Initialized Quarto website project and skeleton with four data analysis projects.

12 commits · 7.75 h
Mar 31
  • dev: init Quarto; start in RStudio, switch to VS Code
  • feat: add the first 4 project docs (ipynb & Rmd)
Apr 1
  • dev: track CSV with git LFS; record conda env in envs/environment.yml ; set up layout config _quarto.yml & _metadata.yml
  • proj: shape doc tree & catalan-referendum page layout
  • style: add custom styles.css
  • fix: code-tool not working with fix-code-fold script
Phase 1 · Initial SetupMar 31 - Apr 4
More updates coming…