About

I go by stcheng.

I like fruits in the family Sapindaceae.

I was born in Hangzhou, lived in Shanghai, Philadelphia, and now in Seattle.

πŸ‡¨πŸ‡³πŸ‡©πŸ‡ͺπŸ‡ΈπŸ‡ͺπŸ‡¨πŸ‡ΏπŸ‡¦πŸ‡ΉπŸ‡«πŸ‡·πŸ‡ΊπŸ‡ΈπŸ‡¨πŸ‡¦πŸ‡¬πŸ‡·πŸ‡³πŸ‡±πŸ‡§πŸ‡ͺπŸ‡²πŸ‡½πŸ‡·πŸ‡ΊπŸ‡―πŸ‡΅πŸ‡¬πŸ‡§πŸ‡ΈπŸ‡¬πŸ‡²πŸ‡ΎπŸ‡¨πŸ‡±πŸ‡¦πŸ‡·πŸ‡ΊπŸ‡ΎπŸ‡΅πŸ‡ͺ

Website Task Board

Backlog

  • [P0] Reorganize folder structures
  • [P0] Add favicon
  • [P1] Add a sitemap.xml file
  • [P1] Move variables outside the module and into the configuration file
  • [P2] Automation
    • One-click deploy
      • Create a cloud service triggered by a git push
      • Automatically generate the latest website
      • Automate upload to S3
    • Test infrastructure
  • [P2] Separate blog architecture with blog content
  • [P2] Separate theme with patches
  • [P2] Do not upload .DS_Store files
  • [P2] Add Terraform files for setting up the infrastructure
  • [P2] Write a feature page about this website
  • [P2] Write a plugin asset_video to support video
    Original asset_img plugin is located in hexo/lib/plugins/tag/asset_img.js
  • [P2] Add crampon story to 04-15 post

Changelog

2023-06

  • Add the subscription functionality

2023-05

  • Add a banner background image

2023-04

  • Rename to S T C H E N G
  • Set up full iPad dev env via
    • iSH
    • vscode.dev/tunnel

2022-12

  • reate a 404 page and redirect all non-existing pages to this 404 page
    In CloudFront error pages configuration, one shall create a custom error response for 403 instead of 404 since S3 will return 403 when accessing non-existent entries. Send a customized error response with page 404.html and code 404 will make it work.

2021-12

  • Bug
    • Use MIME type to determine the file type and set the correct Content-Type
  • Feature
    • Embed AWS credentials to the docker container
    • Support RSS
    • Return error and exit for hexo deploy when AWS credentials are not set
    • Automate S3 bucket upload with hexo deploy command
    • Selective upload (only update changed files)
  • Automation
    • Create AWS IAM user and IAM role
    • Add a hexo deployer plugin to upload public files to S3
      • Patch s3-sync-client module to set the correct Content-Type
      • Add AWS credentials as environment variables to the container
      • Now it is able to run hexo deploy
  • Feature
    • Add Atom feed

2021-11

  • Migrate from Azure and set up AWS

I need to check out the fruit Langsat!