Skip to content

0001 · Website direction

Proposed static website, content, quality and deployment choices.

English is authoritative; Chinese reference .

Status: proposal; implementation not authorized. This record defines the website direction. The active documentation baseline is 0002 ; contributor rules are in AGENTS . No application code, PR, build or deployment exists for this proposal. Reviews for future implementation must be selected with the owner before that work starts.

Requirements

  • Maintainable personal website with Projects and Experience, without a Research tab. Manage entries in Markdown/MDX so adding content does not require editing page components.
  • English-primary interface and content with Simplified Chinese references; English at /, Chinese at /zh/, with language switching. Do not invent personal achievements. Exclude drafts from published pages and keep private draft content out of the public repository.
  • A separate public PR log site using OINK , with requirements, decisions, execution and acceptance readable in one article per change.
  • pnpm, meaningful tests, a simple CI/CD pipeline, required checks before PR merges, and automatic deployment after merging. Original repository material uses Apache-2.0; respect third-party licenses.

Final visual design, updated biography, blog consolidation, domains and replacement of the existing live site remain owner decisions before dependent implementation.

Plan and decisions

AreaDirection and rationale
PortfolioAstro static output with TypeScript and Markdown collections. Pre-rendered pages fit a content-led site without a request-time application server. At implementation time, verify the latest stable dependencies/tools, pin exact versions, and commit the pnpm lockfile under the shared version policy.
InteractionStart with CSS and reduced-motion support. Add browser JavaScript or an isolated Three.js interaction only when the chosen design needs it. React/MUI are not baseline dependencies; the proposed content pages do not yet require their component/runtime layer.
LogsBuild a separate Hugo/OINK site from the repository’s log articles, without maintaining duplicate content. Keep reusable contributor guides in docs/.
HostingTarget Cloudflare Workers Static Assets for both generated sites. Verify current limits, build configuration and deployment behavior before implementation; production setup is not part of this documentation baseline.
QualityPlan frozen installs, type/content checks, tests for routes, draft exclusion and translation coverage, both static builds, and browser acceptance. Include useful failure cases, not tests that merely repeat implementation.
ReleasePR jobs check changes without deployment secrets. Deploy checked main artifacts after merging, with repository rules enforcing PRs and required checks.
Deployment orderingSerialize production uploads and check that the revision is still main’s head immediately before upload. A lock alone allows an old rerun to overwrite a newer release. Skip stale reruns, finish uploads already started, and account for the two sites not deploying atomically.

Implementation should follow these dependencies: content/routes → visual design and selected interactions → separate logs → tests and CI/CD → acceptance. Detailed tasks and tool versions need a current execution plan after implementation is authorized.

Execution

The website direction is documented. Application code, dependencies, tests, CI/CD and hosting configuration have not been added. Contribution and review procedures are defined in the workflow .

Acceptance

Planned acceptance: clean installation and static builds; Markdown-generated routes; draft exclusion; bilingual coverage; useful positive/negative tests; OINK navigation/search; and verified PR/deployment behavior. These checks have not run. This proposal is not implementation acceptance or approval to deploy.