Use when creating a help article for a golf game format or scoring type. Covers the full process - HTML article creation, SEO metadata, articles.json entry, and group page link.
Creates SEO-optimized help articles for golf game formats and scoring types.
/Users/orrie/code/squabbit/ - read the scoring class, GameScoringType.dart description, handicap settings, team size limits, subscoring options, and any variants.help/groups/gamesAndFormats/articles/<formatName>/articles.json with title and search tags (include all alternate names).help/groups/gamesAndFormats/gamesAndFormatsGroup.html under the correct category (Individual games or Team games).node build.js to inline nav/footer.Use the Scramble article as the reference implementation:
help/groups/gamesAndFormats/articles/scramble/scramble.htmlEvery article MUST include:
<title> format: {Format Name} Golf Format - Rules, Scoring & How to Play | Squabbit<meta name="description"> with keyword-rich summary<meta name="keywords"> with all alternate names and common search terms<style> block with: .toc, .section (collapsible details), .at-a-glance, .note-box, .example-block styles (copy from scramble article).toc nav linking to collapsible sections<details class="section">:
Copy the nav and footer HTML from the scramble article exactly. The build script will keep them updated.
{
"title": "{Format name} golf format",
"file": "/help/groups/gamesAndFormats/articles/{formatName}/{formatName}.html",
"tags": ["tag1", "tag2", "alternate name", "team/individual", "format", "game"]
}
The group page gamesAndFormatsGroup.html uses a card grid layout. Each format is an <a class="format-card"> with:
data-search attribute containing all alternate names and keywords for the search filter.card-title div with the format name and an arrow icon.card-desc paragraph with a one-line description.card-aliases div (if applicable) with "Also: ..." alternate namesCards are organized under three sections (General, Individual Games, Team Games) and sorted alphabetically within each section. When adding a new card, insert it in the correct alphabetical position.
If a category heading doesn't exist yet, create it.
| File | What it contains |
|---|---|
lib/games/GameScoringType.dart | Descriptions, team sizes, handicap defaults, subscoring options |
lib/games/team/*.dart or lib/games/individual/*.dart | Scoring logic and rules |
lib/tournament/format/**/*.dart | Tournament format wrappers |
lib/handicap/HandicapSettings.dart | Handicap configuration structure |