ngx-seo
Version:
This library was generated with [Nx](https://nx.dev).
1 lines • 24.4 kB
Source Map (JSON)
{"version":3,"file":"ngx-seo.mjs","sources":["../../../../libs/ngx-seo/src/lib/json-ld/json-ld.service.ts","../../../../libs/ngx-seo/src/lib/seo-social-share/seo-social-share.service.ts","../../../../libs/ngx-seo/src/index.ts","../../../../libs/ngx-seo/src/ngx-seo.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nexport interface JsonLd {\n [param: string]: string | Record<string, string> | JsonLd | undefined;\n}\n\n@Injectable()\nexport class JsonLdService {\n\n private readonly document = inject(DOCUMENT);\n private jsonLd?: JsonLd | JsonLd[];\n\n\n public setData(data: JsonLd | JsonLd[]): void {\n this.jsonLd = data;\n this.inject();\n }\n\n public getObject(type: string, rawData?: JsonLd, context = 'http://schema.org'): JsonLd {\n let object: JsonLd = {\n '@type': type,\n };\n if (context) {\n object = {\n '@context': context,\n ...object,\n };\n }\n if (rawData) {\n object = {\n ...object,\n ...rawData,\n };\n }\n return object;\n }\n\n private inject(): void {\n let ldJsonScriptTag = this.document.head.querySelector(`script[type='application/ld+json']`);\n if (ldJsonScriptTag) {\n ldJsonScriptTag.textContent = JSON.stringify(this.jsonLd);\n } else {\n ldJsonScriptTag = this.document.createElement('script');\n ldJsonScriptTag.setAttribute('type', 'application/ld+json');\n ldJsonScriptTag.textContent = JSON.stringify(this.jsonLd);\n this.document.head.appendChild(ldJsonScriptTag);\n }\n }\n\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { DOCUMENT } from '@angular/common';\n\nimport { SeoSocialShareData, ImageAuxData } from './interfaces/seo-social-share-data';\n\nexport enum NgxSeoMetaTagAttr {\n name = 'name',\n property = 'property'\n}\n\nexport interface NgxSeoMetaTag {\n attr: NgxSeoMetaTagAttr;\n attrValue: string;\n value?: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SeoSocialShareService {\n private readonly metaService = inject(Meta);\n private readonly titleService = inject(Title);\n private readonly document = inject(DOCUMENT);\n\n public setData(data: SeoSocialShareData): void {\n this.setSection(data.section);\n this.setKeywords(data.keywords);\n this.setTitle(data.title);\n this.setType(data.type);\n this.setDescription(data.description);\n this.setImage(data.image, data.imageAuxData);\n this.setUrl(data.url);\n this.setPublished(data.published);\n this.setModified(data.modified);\n this.setAuthor(data.author);\n }\n\n public setKeywords(keywords?: string): void {\n if (keywords) {\n this.metaService.updateTag({ name: 'keywords', content: keywords });\n } else {\n this.metaService.removeTag(`name='keywords'`);\n }\n }\n\n public setSection(section?: string): void {\n if (section) {\n this.metaService.updateTag({ name: 'article:section', content: section });\n } else {\n this.metaService.removeTag(`name='article:section'`);\n }\n }\n\n public setTitle(title: string = ''): void {\n this.titleService.setTitle(title);\n if (title && title.length) {\n this.metaService.updateTag({ name: 'twitter:title', content: title });\n this.metaService.updateTag({ name: 'twitter:image:alt', content: title });\n this.metaService.updateTag({ property: 'og:image:alt', content: title });\n this.metaService.updateTag({ property: 'og:title', content: title });\n this.metaService.updateTag({ name: 'title', content: title });\n this.metaService.updateTag({ itemprop: 'name', content: title }, `itemprop='name'`);\n } else {\n this.metaService.removeTag(`name='twitter:title'`);\n this.metaService.removeTag(`name='twitter:image:alt'`);\n this.metaService.removeTag(`property='og:image:alt'`);\n this.metaService.removeTag(`property='og:title'`);\n this.metaService.removeTag(`name='title'`);\n this.metaService.removeTag(`itemprop='name'`);\n }\n }\n\n public setType(type?: string): void {\n if (type && type.length) {\n this.metaService.updateTag({ property: 'og:type', content: type });\n } else {\n this.metaService.removeTag(`property='og:type'`);\n }\n }\n\n public setDescription(description?: string): void {\n if (description && description.length) {\n this.metaService.updateTag({ name: 'twitter:description', content: description });\n this.metaService.updateTag({ property: 'og:description', content: description });\n this.metaService.updateTag({ name: 'description', content: description });\n this.metaService.updateTag({ itemprop: 'description', content: description }, `itemprop='description'`);\n } else {\n this.metaService.removeTag(`name='twitter:description'`);\n this.metaService.removeTag(`property='og:description'`);\n this.metaService.removeTag(`name='description'`);\n this.metaService.removeTag(`itemprop='description'`);\n }\n }\n\n public setImage(image?: string, auxData?: ImageAuxData): void {\n if (image && image.length) {\n this.metaService.updateTag({ name: 'twitter:image', content: image });\n this.metaService.updateTag({ itemprop: 'image', content: image }, `itemprop='image'`);\n this.metaService.updateTag({ property: 'og:image', content: image });\n\n if (auxData && auxData.height) {\n this.metaService.updateTag({ property: 'og:image:height', content: auxData.height.toString() });\n } else {\n this.metaService.removeTag(`property='og:image:height'`);\n }\n\n if (auxData && auxData.width) {\n this.metaService.updateTag({ property: 'og:image:width', content: auxData.width.toString() });\n } else {\n this.metaService.removeTag(`property='og:image:width'`);\n }\n\n if (auxData && auxData.alt) {\n this.metaService.updateTag({ property: 'og:image:alt', content: auxData.alt });\n this.metaService.updateTag({ property: 'twitter:image:alt', content: auxData.alt });\n } else {\n this.metaService.removeTag(`property='og:image:alt'`);\n this.metaService.removeTag(`property='twitter:image:alt'`);\n }\n\n if (auxData && auxData.mimeType) {\n this.metaService.updateTag({ property: 'og:image:type', content: auxData.mimeType });\n } else {\n this.metaService.removeTag(`property='og:image:type'`);\n }\n\n if (auxData && auxData.secureUrl) {\n this.metaService.updateTag({ property: 'og:image:secure_url', content: auxData.secureUrl });\n } else {\n this.metaService.removeTag(`property='og:image:secure_url'`);\n }\n\n } else {\n this.metaService.removeTag(`name='twitter:image'`);\n this.metaService.removeTag(`property='twitter:image:alt'`);\n this.metaService.removeTag(`property='og:image'`);\n this.metaService.removeTag(`property='og:image:height'`);\n this.metaService.removeTag(`property='og:image:secure_url'`);\n this.metaService.removeTag(`property='og:image:type'`);\n this.metaService.removeTag(`property='og:image:alt'`);\n this.metaService.removeTag(`property='og:image:width'`);\n this.metaService.removeTag(`itemprop='image'`);\n }\n }\n\n public setUrl(url?: string): void {\n if (url && url.length) {\n this.metaService.updateTag({ property: 'og:url', content: url });\n } else {\n this.metaService.removeTag(`property='og:url'`);\n }\n this.setCanonicalUrl(url);\n }\n\n public setPublished(publishedDateString?: string): void {\n if (publishedDateString) {\n const publishedDate = new Date(publishedDateString);\n this.metaService.updateTag({ name: 'article:published_time', content: publishedDate.toISOString() });\n this.metaService.updateTag({ name: 'published_date', content: publishedDate.toISOString() });\n } else {\n this.metaService.removeTag(`name='article:published_time'`);\n this.metaService.removeTag(`name='publication_date'`);\n }\n }\n\n public setModified(modifiedDateString?: string): void {\n if (modifiedDateString) {\n const modifiedDate = new Date(modifiedDateString);\n this.metaService.updateTag({ name: 'article:modified_time', content: modifiedDate.toISOString() });\n this.metaService.updateTag({ name: 'og:updated_time', content: modifiedDate.toISOString() });\n } else {\n this.metaService.removeTag(`name='article:modified_time'`);\n this.metaService.removeTag(`name='og:updated_time'`);\n }\n }\n\n public setAuthor(author?: string): void {\n if (author && author.length) {\n this.metaService.updateTag({ name: 'article:author', content: author });\n this.metaService.updateTag({ name: 'author', content: author });\n } else {\n this.metaService.removeTag(`name='article:author'`);\n this.metaService.removeTag(`name='author'`);\n }\n }\n\n public setTwitterSiteCreator(site?: string): void {\n if(site){\n this.metaService.updateTag({ name: 'twitter:site', content: site });\n this.metaService.updateTag({ name: 'twitter:creator', content: site });\n } else {\n this.metaService.removeTag(`name='twitter:site'`);\n this.metaService.removeTag(`name='twitter:creator'`);\n }\n }\n\n public setTwitterCard(card?: string): void {\n if (card){\n this.metaService.updateTag({ name: 'twitter:card', content: card });\n } else {\n this.metaService.removeTag(`name='twitter:card'`);\n }\n }\n\n public setFbAppId(appId?: string): void {\n if (appId){\n this.metaService.updateTag({ property: 'fb:app_id', content: appId });\n } else {\n this.metaService.removeTag(`property='fb:app_id'`);\n }\n }\n\n public setMetaTag(metaTag: NgxSeoMetaTag): void {\n if (metaTag.value){\n const metaTagObject = {\n [metaTag.attr]: metaTag.attrValue,\n content: metaTag.value,\n };\n this.metaService.updateTag(metaTagObject);\n } else {\n const selector = `${metaTag.attr}='${metaTag.attrValue}'`;\n this.metaService.removeTag(selector);\n }\n }\n\n public setMetaTags(metaTags: NgxSeoMetaTag[]): void {\n for (const metaTag of metaTags) {\n this.setMetaTag(metaTag);\n }\n }\n\n public setLanguageAlternativeUrl(lang: string, url?: string): void {\n // first remove potential previous url\n const selector = `link[rel='alternate'][hreflang='${lang}']`;\n const languageAlternativeElement = this.document.head.querySelector(selector);\n if (languageAlternativeElement) {\n this.document.head.removeChild(languageAlternativeElement);\n }\n\n if (url && url.length) {\n const link: HTMLLinkElement = this.document.createElement('link');\n link.setAttribute('rel', 'alternate');\n link.setAttribute('hreflang', lang);\n link.setAttribute('href', url);\n this.document.head.appendChild(link);\n }\n }\n\n public setCanonicalUrl(url?: string): void {\n // first remove potential previous url\n const selector = `link[rel='canonical']`;\n const canonicalElement = this.document.head.querySelector(selector);\n if (canonicalElement) {\n this.document.head.removeChild(canonicalElement);\n }\n\n if (url && url.length) {\n const link: HTMLLinkElement = this.document.createElement('link');\n link.setAttribute('rel', 'canonical');\n link.setAttribute('href', url);\n this.document.head.appendChild(link);\n }\n }\n\n}\n","/*\n * Public API Surface of ngx-seo\n */\n\nexport { JsonLdService } from './lib/json-ld/index';\nexport { SeoSocialShareData, SeoSocialShareService, NgxSeoMetaTag, NgxSeoMetaTagAttr } from './lib/seo-social-share/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}