(languagePage: LanguageLandingPage)
| 198 | } |
| 199 | |
| 200 | function buildLanguageMetadata(languagePage: LanguageLandingPage): PageMetadata { |
| 201 | return { |
| 202 | title: languagePage.metaTitle, |
| 203 | description: languagePage.metaDescription, |
| 204 | canonicalUrl: languagePage.canonicalUrl, |
| 205 | ogType: 'website', |
| 206 | ogImageUrl: DEFAULT_OG_IMAGE_URL, |
| 207 | ogImageAlt: DEFAULT_OG_IMAGE_ALT, |
| 208 | structuredData: [ |
| 209 | buildCollectionStructuredData( |
| 210 | languagePage.title, |
| 211 | languagePage.description, |
| 212 | languagePage.canonicalUrl, |
| 213 | languagePage.sampleIds, |
| 214 | languagePage.name |
| 215 | ), |
| 216 | buildBreadcrumbStructuredData([ |
| 217 | { name: 'Code Samples', item: SITE_URL }, |
| 218 | { name: 'Languages', item: SITE_URL }, |
| 219 | { name: languagePage.name, item: languagePage.canonicalUrl } |
| 220 | ]) |
| 221 | ] |
| 222 | }; |
| 223 | } |
| 224 | |
| 225 | function buildNotFoundMetadata(label = 'Sample'): PageMetadata { |
| 226 | return { |
no test coverage detected