Skip to main content

format-numbers

Format numbers using the formatNumber function from Shade whenever someone edits a TSX file.

Informations de source

Dépôt
TryGhost/Ghost
Dernière activité de la source
26 août 2026 à 18:18
Langue détectée de SKILL.md
anglais
Étoiles
55 512
Forks
11 988

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
Format numbers
description
Format numbers using the formatNumber function from Shade whenever someone edits a TSX file.
autoTrigger
[{"fileEdit":"**/*.tsx"}]
# Format Numbers When editing `.tsx` files, ensure all user-facing numbers are formatted using the `formatNumber` utility from `@tryghost/shade/utils`. ## Import ```typescript import { formatNumber } from '@tryghost/shade/utils'; ``` ## When to use formatNumber Use `formatNumber()` when rendering any numeric value that is displayed to the user, including: - Member counts, visitor counts, subscriber counts - Email engagement metrics (opens, clicks, bounces) - Revenue amounts (combine with `centsToDollars()` for monetary values) - Post analytics (views, link clicks) - Any count or quantity shown in UI ## Correct usage ```tsx <span>{formatNumber(totalMembers)}</span> <span>{formatNumber(link.count || 0)}</span> <span>{`${currencySymbol}${formatNumber(centsToDollars(mrr))}`}</span> <span>{post.members > 0 ? `+${formatNumber(post.members)}` : '0'}</span> ``` ## Antipatterns to avoid Do NOT use any of these patterns for formatting numbers in TSX files: ```tsx // BAD: raw .toLocaleString() <span>{count.toLocaleString()}</span> // BAD: manual Intl.NumberFormat <span>{new Intl.NumberFormat('en-US').format(count)}</span> // BAD: raw number without formatting <span>{memberCount}</span> // BAD: manual regex formatting <span>{count.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}</span> ``` ## Related utilities - `formatPercentage()` - for percentages (e.g., open rates, click rates) - `abbreviateNumber()` - for compact notation (e.g., 1.2M, 50k) - `centsToDollars()` - convert cents to dollars before passing to `formatNumber` All are imported from `@tryghost/shade/utils`.
Voir sur GitHub