FujoWebDev / FujoWebDev/fujocoded-plugins
Add generated labels to social link transforms
- Lingua principale
- TypeScript
- Stelle
- 30
- Fork
- 7
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Add a generated `label` field to `@fujocoded/zod-transform-socials` social link output. This can be used as a user-facing label for the link text, list item label, etc.
## Why
Without a label field, custom platforms or duplicate accounts on a platform have no central place to be specified or overridden. Cases include: distinguishing a personal social account vs an art social account; or giving a name to a custom site.
## Example
Input:
```yaml
contacts:
- https://github.com/FujoWebDev
- url: https://www.fujocoded.com/
label: Official Website
icon: lucide:globe
- url: https://store.fujocoded.com
label: Merch Store
icon: lucide:shopping-bag
- https://fujoweb.dev
```
Output:
```js
[
{ url: "https://github.com/FujoWebDev", platform: "github", username: "fujowebdev", icon: "simple-icons:github", label: "github" },
{ url: "https://www.fujocoded.com/", platform: "custom", username: null, icon: "lucide:globe", label: "Official Website" },
{ url: "https://store.fujocoded.com", platform: "custom", username: null, icon: "lucide:shopping-bag", label: “Merch Store" },
{ url: "https://fujoweb.dev", platform: "custom", username: null, icon: null, label: “fujoweb.dev" },
]
```
## Todo
- [ ] Add optional `label?: string` to object social input.
- [ ] Add `label: string` to transformed social output.
- [ ] Generate labels with this precedence:
- explicit input `label`
- known platform name when `platform !== "custom"`
- fallback from `url`, stripping leading `www.`
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia individuando il package @fujocoded/zod-transform-socials e i relativi schemi di input e output dei social oppure il suo punto di ingresso della trasformazione. Traccia come vengono attualmente generati URL, piattaforma, nome utente e icona, quindi implementa la precedenza delle label descritta nell’issue. Il lavoro è completato quando gli input oggetto accettano una label opzionale e ogni link social trasformato presenta la label generata prevista.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 68/100