From 61afeb27335095854e2076ad019e86593df75077 Mon Sep 17 00:00:00 2001 From: walker <13750528578@163.com> Date: Tue, 16 Jun 2026 23:52:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(deck):=20=E9=AB=98=E4=BA=AE=20manifest=20?= =?UTF-8?q?=E6=AD=A3=E6=96=87=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/app/card_manifest_deck.go | 22 +++++++++++++--------- internal/app/service_test.go | 4 ++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/internal/app/card_manifest_deck.go b/internal/app/card_manifest_deck.go index b73a6ab..7fbe85a 100644 --- a/internal/app/card_manifest_deck.go +++ b/internal/app/card_manifest_deck.go @@ -194,10 +194,10 @@ func cardManifestItemBody(item cardManifestItem, maxRunes int) string { summary, impact := cardManifestFitSummaryImpact(item.Summary, item.Impact, maxRunes) parts := make([]string, 0, 2) if summary != "" { - parts = append(parts, "摘要:"+summary) + parts = append(parts, cardManifestLabelPrefix("摘要")+summary) } if impact != "" { - parts = append(parts, "影响:"+impact) + parts = append(parts, cardManifestLabelPrefix("影响")+impact) } return strings.Join(parts, "\n\n") } @@ -279,7 +279,11 @@ func cardManifestSectionText(section cardManifestBodySection) string { if section.Label == "" { return section.Body } - return section.Label + ":" + section.Body + return cardManifestLabelPrefix(section.Label) + section.Body +} + +func cardManifestLabelPrefix(label string) string { + return "**" + label + ":** " } func cardManifestSectionsFixedRuneCount(sections []cardManifestBodySection) int { @@ -289,7 +293,7 @@ func cardManifestSectionsFixedRuneCount(sections []cardManifestBodySection) int count += runeCount("\n\n") } if section.Label != "" { - count += runeCount(section.Label + ":") + count += runeCount(cardManifestLabelPrefix(section.Label)) } } return count @@ -349,15 +353,15 @@ func cardManifestFitSummaryImpact(summary string, impact string, maxRunes int) ( return "", "" } if summary == "" { - impactBudget := maxRunes - runeCount("影响:") + impactBudget := maxRunes - runeCount(cardManifestLabelPrefix("影响")) return "", cardManifestFitText(impact, impactBudget) } if impact == "" { - summaryBudget := maxRunes - runeCount("摘要:") + summaryBudget := maxRunes - runeCount(cardManifestLabelPrefix("摘要")) return cardManifestFitText(summary, summaryBudget), "" } - contentBudget := maxRunes - runeCount("摘要:\n\n影响:") + contentBudget := maxRunes - runeCount(cardManifestLabelPrefix("摘要")+"\n\n"+cardManifestLabelPrefix("影响")) if contentBudget < 2 { return "", "" } @@ -392,10 +396,10 @@ func cardManifestBodyRuneCount(summary string, impact string) int { func cardManifestBodyText(summary string, impact string) string { parts := make([]string, 0, 2) if summary != "" { - parts = append(parts, "摘要:"+summary) + parts = append(parts, cardManifestLabelPrefix("摘要")+summary) } if impact != "" { - parts = append(parts, "影响:"+impact) + parts = append(parts, cardManifestLabelPrefix("影响")+impact) } return strings.Join(parts, "\n\n") } diff --git a/internal/app/service_test.go b/internal/app/service_test.go index ab17502..ec92232 100644 --- a/internal/app/service_test.go +++ b/internal/app/service_test.go @@ -266,7 +266,7 @@ func TestServiceGeneratePreviewBuildsCardManifestDeckWithoutAI(t *testing.T) { if imagePage.Variant != "image-caption" || imagePage.Content.Title != "OpenAI 发布新模型" { t.Fatalf("image page = %#v", imagePage) } - if imagePage.Content.Body != "摘要:模型能力提升。\n\n影响:应用开发门槛下降。" { + if imagePage.Content.Body != "**摘要:** 模型能力提升。\n\n**影响:** 应用开发门槛下降。" { t.Fatalf("image page body = %q", imagePage.Content.Body) } if imagePage.Meta.CTA != "来源:The Verge / 2026-06-16 11:00" { @@ -390,7 +390,7 @@ func TestServiceGeneratePreviewBuildsCardManifestSectionsWithoutSummaryImpactLab t.Fatalf("GeneratePreview() error = %v", err) } body := r.rendered.Pages[1].Content.Body - want := "内容概览:这是一段海底生存游戏实况解说。\n\n互动数据:点赞 12,345|收藏 6,789|投币 2,345" + want := "**内容概览:** 这是一段海底生存游戏实况解说。\n\n**互动数据:** 点赞 12,345|收藏 6,789|投币 2,345" if body != want { t.Fatalf("section body = %q, want %q", body, want) }