fix: give the common-skill buttons their own label and tagline
The seven selector buttons were rendering `kind` and `use`, which belong to the detail panel. ponytail's button read "SIMPLIFICATION INSTINCT" and a full paragraph of prose where today's page reads "SIMPLIFY" and "minimum code that holds". English was wrong, not just Portuguese missing, on all seven. Those two lines are not in `interactiveCopy`, which is why task 05b had nothing to migrate them from: the English lives in the `full-guide/index.html` markup and the Portuguese in `translations.pt`. Adds `label` and `tagline` to the `commonSkills` schema and to all seven entries, both taken verbatim from those two sources, and points the buttons at them. The panel keeps reading `kind` and `use`. This closes the last 13 of the 102 `translations.pt` entries. Coverage in `dist/full-guide/index.html` is now 102 of 102. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -13,5 +13,7 @@
|
|||||||
"en": "Drop the style for security warnings, irreversible actions, and sequences where terse wording can be misread.",
|
"en": "Drop the style for security warnings, irreversible actions, and sequences where terse wording can be misread.",
|
||||||
"pt": "Abandone o estilo em alertas de segurança, ações irreversíveis e sequências onde concisão pode causar erro."
|
"pt": "Abandone o estilo em alertas de segurança, ações irreversíveis e sequências onde concisão pode causar erro."
|
||||||
},
|
},
|
||||||
"source": "https://github.com/JuliusBrussee/caveman/blob/3b74643f4d910f496babd4e634b1ba7168816f14/skills/caveman/SKILL.md"
|
"source": "https://github.com/JuliusBrussee/caveman/blob/3b74643f4d910f496babd4e634b1ba7168816f14/skills/caveman/SKILL.md",
|
||||||
|
"label": { "en": "COMMUNICATE", "pt": "COMUNICAR" },
|
||||||
|
"tagline": { "en": "signal without filler", "pt": "sinal sem excesso" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,7 @@
|
|||||||
"en": "Do not jump from error message straight to a patch.",
|
"en": "Do not jump from error message straight to a patch.",
|
||||||
"pt": "Não pule da mensagem de erro direto para um patch."
|
"pt": "Não pule da mensagem de erro direto para um patch."
|
||||||
},
|
},
|
||||||
"source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/diagnosing-bugs/SKILL.md"
|
"source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/diagnosing-bugs/SKILL.md",
|
||||||
|
"label": { "en": "DIAGNOSE", "pt": "DIAGNOSTICAR" },
|
||||||
|
"tagline": { "en": "tight feedback loop", "pt": "ciclo curto de feedback" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,7 @@
|
|||||||
"en": "Never simplify away security, accessibility, validation, or real edge cases.",
|
"en": "Never simplify away security, accessibility, validation, or real edge cases.",
|
||||||
"pt": "Nunca simplifique segurança, acessibilidade, validação ou casos extremos reais."
|
"pt": "Nunca simplifique segurança, acessibilidade, validação ou casos extremos reais."
|
||||||
},
|
},
|
||||||
"source": "https://github.com/ilindaniel/ponytail-lite/blob/e7b42dc2d384a702240dea4d52a7bf5530b821b6/AGENTS.md"
|
"source": "https://github.com/ilindaniel/ponytail-lite/blob/e7b42dc2d384a702240dea4d52a7bf5530b821b6/AGENTS.md",
|
||||||
|
"label": { "en": "SIMPLIFY", "pt": "SIMPLIFICAR" },
|
||||||
|
"tagline": { "en": "minimum code that holds", "pt": "código mínimo que funciona" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,5 +16,7 @@
|
|||||||
"en": "Practitioner articles add context; they do not override official behavior.",
|
"en": "Practitioner articles add context; they do not override official behavior.",
|
||||||
"pt": "Artigos de praticantes dão contexto; não substituem comportamento oficial."
|
"pt": "Artigos de praticantes dão contexto; não substituem comportamento oficial."
|
||||||
},
|
},
|
||||||
"source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/research/SKILL.md"
|
"source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/research/SKILL.md",
|
||||||
|
"label": { "en": "INVESTIGATE", "pt": "INVESTIGAR" },
|
||||||
|
"tagline": { "en": "primary sources first", "pt": "fontes primárias primeiro" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,7 @@
|
|||||||
"en": "Pin the comparison point and source specification before reviewing.",
|
"en": "Pin the comparison point and source specification before reviewing.",
|
||||||
"pt": "Fixe o ponto de comparação e a especificação antes de revisar."
|
"pt": "Fixe o ponto de comparação e a especificação antes de revisar."
|
||||||
},
|
},
|
||||||
"source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/code-review/SKILL.md"
|
"source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/code-review/SKILL.md",
|
||||||
|
"label": { "en": "REVIEW", "pt": "REVISAR" },
|
||||||
|
"tagline": { "en": "standards × spec", "pt": "padrões × especificação" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,7 @@
|
|||||||
"en": "Read raw output when exact wording or full diffs matter.",
|
"en": "Read raw output when exact wording or full diffs matter.",
|
||||||
"pt": "Leia saída bruta quando texto exato ou diffs completos importarem."
|
"pt": "Leia saída bruta quando texto exato ou diffs completos importarem."
|
||||||
},
|
},
|
||||||
"source": "https://github.com/aetox-skills/token-saver/blob/8f21188bb043fad411f47e2e57f0365a83c13da7/SKILL.md"
|
"source": "https://github.com/aetox-skills/token-saver/blob/8f21188bb043fad411f47e2e57f0365a83c13da7/SKILL.md",
|
||||||
|
"label": { "en": "ECONOMIZE", "pt": "ECONOMIZAR" },
|
||||||
|
"tagline": { "en": "compress noisy output", "pt": "comprima saídas ruidosas" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,7 @@
|
|||||||
"en": "Too heavy for trivial edits or factual answers.",
|
"en": "Too heavy for trivial edits or factual answers.",
|
||||||
"pt": "Pesado demais para edições triviais ou respostas factuais."
|
"pt": "Pesado demais para edições triviais ou respostas factuais."
|
||||||
},
|
},
|
||||||
"source": "https://github.com/Leonxlnx/unlazy/blob/473d4b80421c36d733042434cd4b938f81a19ef1/SKILL.md"
|
"source": "https://github.com/Leonxlnx/unlazy/blob/473d4b80421c36d733042434cd4b938f81a19ef1/SKILL.md",
|
||||||
|
"label": { "en": "COMPLETE", "pt": "CONCLUIR" },
|
||||||
|
"tagline": { "en": "gates and evidence", "pt": "gates e evidências" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -235,12 +235,22 @@ const skillWorkflow = defineCollection({
|
|||||||
// render time; here it is embedded to match the GuideSelectorData
|
// render time; here it is embedded to match the GuideSelectorData
|
||||||
// contract. If the URL changes, both this entry and the matching
|
// contract. If the URL changes, both this entry and the matching
|
||||||
// `skillSources/<id>.json` must be updated.
|
// `skillSources/<id>.json` must be updated.
|
||||||
|
//
|
||||||
|
// `label` and `tagline` are the selector *button*'s two lines and are
|
||||||
|
// distinct from `kind` and `use`, which belong to the detail panel:
|
||||||
|
// ponytail's button reads "SIMPLIFY" / "minimum code that holds" while its
|
||||||
|
// panel reads "SIMPLIFICATION INSTINCT" and a paragraph of prose. They are
|
||||||
|
// not in `interactiveCopy` — the English lives in the `full-guide/index.html`
|
||||||
|
// markup and the Portuguese in `translations.pt` — so task 05b had nothing
|
||||||
|
// to migrate them from and the page rendered `kind`/`use` on the buttons.
|
||||||
const commonSkills = defineCollection({
|
const commonSkills = defineCollection({
|
||||||
type: 'data',
|
type: 'data',
|
||||||
schema: z.object({
|
schema: z.object({
|
||||||
id: z.string(),
|
id: z.string(),
|
||||||
number: z.string(),
|
number: z.string(),
|
||||||
kind: localized,
|
kind: localized,
|
||||||
|
label: localized,
|
||||||
|
tagline: localized,
|
||||||
title: z.string(),
|
title: z.string(),
|
||||||
rule: localized,
|
rule: localized,
|
||||||
use: localized,
|
use: localized,
|
||||||
|
|||||||
@@ -874,17 +874,19 @@ const base = import.meta.env.BASE_URL;
|
|||||||
aria-selected={skill.id === 'ponytail'}
|
aria-selected={skill.id === 'ponytail'}
|
||||||
>
|
>
|
||||||
<>
|
<>
|
||||||
|
{/* The button's two lines are `label` / `tagline`, not the
|
||||||
|
panel's `kind` / `use`. See src/content/config.ts. */}
|
||||||
<span>
|
<span>
|
||||||
<span data-language-content="en">{skill.kind.en}</span>
|
<span data-language-content="en">{skill.label.en}</span>
|
||||||
<span data-language-content="pt" hidden>
|
<span data-language-content="pt" hidden>
|
||||||
{skill.kind.pt}
|
{skill.label.pt}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<strong>{skill.title}</strong>
|
<strong>{skill.title}</strong>
|
||||||
<small>
|
<small>
|
||||||
<span data-language-content="en">{skill.use.en}</span>
|
<span data-language-content="en">{skill.tagline.en}</span>
|
||||||
<span data-language-content="pt" hidden>
|
<span data-language-content="pt" hidden>
|
||||||
{skill.use.pt}
|
{skill.tagline.pt}
|
||||||
</span>
|
</span>
|
||||||
</small>
|
</small>
|
||||||
</>
|
</>
|
||||||
|
|||||||
Reference in New Issue
Block a user