TechnologyTags
Renders technology taxonomy terms with icons from /technologies/{term}.svg. Shows icon when available; otherwise text only. Shared by content pages and search filters.
Props
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
terms | string[] | Yes | - | Technology term UIDs (e.g. "react", "next") |
cslp | CSLPFieldMapping | No | - | CSLP mapping for visual editing in CMS |
className | string | No | '' | Additional CSS classes for container |
interactive | boolean | No | false | Whether tags are clickable (link to search) |
getHref | (term: string) => string | No | - | Callback to generate href when interactive |
Usage
import TechnologyTags from '@/components/molecules/TechnologyTags';
// Basic display
<TechnologyTags terms={['react', 'next']} />
// Interactive with links to search
<TechnologyTags
terms={technologyTerms}
interactive
getHref={(term) => `/search?technology=${encodeURIComponent(term)}`}
/>Features
- Technology icons: Uses SVG icons from
public/technologies/(angular, astro, next, nuxt, react, svelte, vue) - Tag design system: Uses
tagVariantsfrom atoms/Tag for consistent taxonomy tag styling - Fallback: Renders text only when icon unavailable
- Interactive mode: Links to search or custom URLs when
getHrefprovided - CSLP support: Pass
cslpfor Contentstack Live Preview editing
Notes
- Icons sourced from
lib/technologies.tsviagetTechnologyIconSrc() - Used by
ContentTaxonomiesfor technology terms on Blog, Guide, LiveStream, Kickstart - Used by
CardTaxonomiesfor kickstart cards in List (DefaultCard, IconCard) - Technology filter in search sidebar uses same icons via FilterCheckbox
iconSrc