diff --git a/ATTRIBUTIONS.md b/ATTRIBUTIONS.md index 9f593fc..543c606 100644 --- a/ATTRIBUTIONS.md +++ b/ATTRIBUTIONS.md @@ -32,7 +32,7 @@ This register distinguishes repository-owned material from third-party sources. | Noto Sans IPA PDF fallback subset | `book-assets/fonts/NotoSans-LifeLevelUp-IPA.ttf` | [Google Fonts / Noto Sans](https://github.com/google/fonts/tree/main/ofl/notosans) | OFL-licensed fallback subset containing the IPA characters absent from Noto Serif SC; license text retained as `book-assets/fonts/OFL-NotoSans.txt` | 2026-09-02 | | Author project screenshots and visit photos | `docs/projects.md`, `docs/en/projects.md` | Author-provided media | Used for disclosure and personal record; not evidence of third-party endorsement | 2026-08-16 | | WeChat profile and practice articles | `docs/projects.md`, `docs/threads/part-3/2-ai-development-and-resource-layer.md` and English counterparts | [TokenMany](https://mp.weixin.qq.com/s?src=11×tamp=1787503349&ver=6922&signature=hsfWcee*q*Okq4gsJ5TpMaWV4vZTwLean6SKtOxCC-EyAf9jWD6l1LQYDny29FqXVImHZFNFDPt*EVH*hVMN2pa91kZtuYfzI81wtV7yahnqVBsKS*c7Ls1uf9QqiEIF&new=1), [Wanli Center](https://mp.weixin.qq.com/s?src=11×tamp=1787503349&ver=6922&signature=k7g1j*QF9lLWMGUlkAu65EFOmvokb8FoM51LNr4hgn4Q4Cc7q3t3O8Mkac7YnWTJbIVdvX-PXYdZXVHEohJieTOPR*Q2-TVAHuIg2ljgp2BMn8m7STrvovnpW01j817Y&new=1) | Paraphrased with source and limitation; narrative material only, no capability, customer, or revenue claim inferred | 2026-08-24 | -| Latest personal updates | `docs/assets/latest/` and both home pages | Author-provided media | Used with the author's permission for the stated personal updates; EXIF metadata removed before publication | 2026-08-20 | +| Latest personal updates, including the fourth wedding photo | `docs/assets/latest/` and both home pages | Author-provided media | Used with the author's permission for the stated personal updates; publication permission for the fourth wedding photo confirmed; EXIF metadata removed before publication | 2026-10-30 | | Douyin public account QR code | `docs/assets/creator-douyin.jpg` and both home pages | Author-provided media | Published with the author's permission as a public account-following entry point; EXIF, IPTC, and XMP metadata removed before publication | 2026-10-09 | | Workflow and agent architecture distinction | Bilingual `threads/practice/ai-workflows.md` | [Anthropic, Building effective agents](https://www.anthropic.com/engineering/building-effective-agents) | Brief architectural paraphrase only; the page's tooling-change note is acknowledged; original practice examples, no article or artwork redistributed | 2026-09-20 | | Agent building blocks and model-routing baseline | Bilingual `threads/practice/ai-workflows.md` | [OpenAI, A practical guide to building agents](https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf) | Model/tool/instruction, guardrail, baseline-evaluation, and cost/latency ideas paraphrased from the official guide; no product-performance claim or source text bundled | 2026-09-20 | diff --git a/README.md b/README.md index b3691d6..caf504f 100644 --- a/README.md +++ b/README.md @@ -198,8 +198,8 @@ AI 可以降低探索、学习和创造的门槛,却不能替你建立信誉
- 韩先凯与伴侣的合影 -
重新相信相遇经历关系结束、恢复与重新整理生活之后,韩先凯开启了一段新的恋情。重新开始不会抹去过去,但它证明生活仍然能够向前生长。
+ 韩先凯与伴侣在第四次婚礼上的合影 +
四婚婚礼合影这张照片记录了韩先凯的第四次婚礼。爱情与婚姻的感悟:爱不只是一时的心动,也是在日常里持续选择、尊重、承担与共同成长。
韩先凯在阿里巴巴参观千问大模型展示 diff --git a/docs/README.md b/docs/README.md index de6460a..98d6b2a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -204,8 +204,8 @@ AI 可以降低探索、学习和创造的门槛,却不能替你建立信誉
- 韩先凯与伴侣的合影 -
重新相信相遇经历关系结束、恢复与重新整理生活之后,韩先凯开启了一段新的恋情。重新开始不会抹去过去,但它证明生活仍然能够向前生长。
+ 韩先凯与伴侣在第四次婚礼上的合影 +
四婚婚礼合影这张照片记录了韩先凯的第四次婚礼。爱情与婚姻的感悟:爱不只是一时的心动,也是在日常里持续选择、尊重、承担与共同成长。
韩先凯在阿里巴巴参观千问大模型展示 diff --git a/docs/assets/latest/fourth-marriage.webp b/docs/assets/latest/fourth-marriage.webp new file mode 100644 index 0000000..232b73e Binary files /dev/null and b/docs/assets/latest/fourth-marriage.webp differ diff --git a/docs/assets/latest/single-again.webp b/docs/assets/latest/single-again.webp deleted file mode 100644 index 51d4d75..0000000 Binary files a/docs/assets/latest/single-again.webp and /dev/null differ diff --git a/docs/en/README.md b/docs/en/README.md index 5800264..9dff00b 100644 --- a/docs/en/README.md +++ b/docs/en/README.md @@ -192,8 +192,8 @@ A method reveals its strength only after it enters a life. Relationships end and
- Han Xiankai with his partner -
Trusting encounter againAfter the end of a relationship, recovery, and the work of reorganising life, Han Xiankai has begun a new relationship. Beginning again does not erase the past, but it shows that life can keep growing.
+ Han Xiankai and his partner at his fourth wedding ceremony +
Fourth wedding ceremonyThis photo records Han Xiankai's fourth wedding ceremony. A reflection on love and marriage: love is more than a moment of excitement; it is the daily choice to respect, take responsibility, and grow together.
Han Xiankai viewing a Qwen display during a visit to Alibaba diff --git a/tests/site.spec.mjs b/tests/site.spec.mjs index e747e3b..f5b1a74 100644 --- a/tests/site.spec.mjs +++ b/tests/site.spec.mjs @@ -1351,10 +1351,13 @@ test("language navigation and representative image work", async ({ page }) => { test("home page shows the latest updates", async ({ page }) => { await page.goto("./"); await expect(page.getByRole("heading", { level: 2, name: "现实仍在继续" })).toBeVisible(); - const partnerPhoto = page.getByRole("img", { name: "韩先凯与伴侣的合影" }); + const partnerPhoto = page.getByRole("img", { name: "韩先凯与伴侣在第四次婚礼上的合影" }); const readersPhoto = page.getByRole("img", { name: "韩先凯在阿里巴巴参观千问大模型展示" }); await expect(partnerPhoto).toBeVisible(); await expect(readersPhoto).toBeVisible(); + await expect(page.locator(".latest-update").first()).toContainText( + "爱情与婚姻的感悟:爱不只是一时的心动,也是在日常里持续选择、尊重、承担与共同成长。", + ); for (const [image, extension] of [ [partnerPhoto, /\.webp$/], [readersPhoto, /\.jpe?g$/], @@ -1441,7 +1444,7 @@ test("latest home photos stay within the deferred media budget", async ({ page, await page.goto("./"); const images = [ { - image: page.getByRole("img", { name: "韩先凯与伴侣的合影" }), + image: page.getByRole("img", { name: "韩先凯与伴侣在第四次婚礼上的合影" }), extension: /\.webp$/, contentType: "image/webp", maxBytes: 220_000,