fix(core): update
This commit is contained in:
		@@ -3,6 +3,7 @@ import * as plugins from '../websetup.plugins';
 | 
				
			|||||||
export interface IMetaObject {
 | 
					export interface IMetaObject {
 | 
				
			||||||
  title: string;
 | 
					  title: string;
 | 
				
			||||||
  description?: string;
 | 
					  description?: string;
 | 
				
			||||||
 | 
					  twitterHandle?: string;
 | 
				
			||||||
  canonicalDomain?: string;
 | 
					  canonicalDomain?: string;
 | 
				
			||||||
  ldCompany?: plugins.tsclass.business.ICompany;
 | 
					  ldCompany?: plugins.tsclass.business.ICompany;
 | 
				
			||||||
  ldProduct?: any;
 | 
					  ldProduct?: any;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,35 +35,33 @@ export class JsonLdTag extends Tag {
 | 
				
			|||||||
    return ldTag;
 | 
					    return ldTag;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public static createNewsArticleLd (newsArticleArg: plugins.tsclass.content.IArticle) {
 | 
					  public static createNewsArticleJsonLd(newsArticleArg: plugins.tsclass.content.IArticle) {
 | 
				
			||||||
    const newsArticleLd = {
 | 
					    const newsArticleLd = {
 | 
				
			||||||
      "@context": "https://schema.org",
 | 
					      '@context': 'https://schema.org',
 | 
				
			||||||
      "@type": "NewsArticle",
 | 
					      '@type': 'NewsArticle',
 | 
				
			||||||
      "mainEntityOfPage": {
 | 
					      mainEntityOfPage: {
 | 
				
			||||||
        "@type": "WebPage",
 | 
					        '@type': 'WebPage',
 | 
				
			||||||
        "@id": window.location.href
 | 
					        '@id': window.location.href,
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "headline": "Article headline",
 | 
					      headline: 'Article headline',
 | 
				
			||||||
      "image": [
 | 
					      image: [newsArticleArg.featuredImageUrl],
 | 
				
			||||||
        newsArticleArg.featuredImageUrl
 | 
					      datePublished: new Date(newsArticleArg.timestamp).toISOString(),
 | 
				
			||||||
       ],
 | 
					      dateModified: new Date(newsArticleArg.timestamp).toISOString(),
 | 
				
			||||||
      "datePublished": new Date(newsArticleArg.timestamp).toISOString(),
 | 
					      author: {
 | 
				
			||||||
      "dateModified": new Date(newsArticleArg.timestamp).toISOString(),
 | 
					        '@type': 'Person',
 | 
				
			||||||
      "author": {
 | 
					        name: `${newsArticleArg.author.firstName} ${newsArticleArg.author.surName}`,
 | 
				
			||||||
        "@type": "Person",
 | 
					 | 
				
			||||||
        "name": `${newsArticleArg.author.firstName} ${newsArticleArg.author.surName}`
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
       "publisher": {
 | 
					      publisher: {
 | 
				
			||||||
        "@type": "Organization",
 | 
					        '@type': 'Organization',
 | 
				
			||||||
        "name": newsArticleArg.author.surName, // TODO
 | 
					        name: newsArticleArg.author.surName, // TODO
 | 
				
			||||||
        "logo": {
 | 
					        logo: {
 | 
				
			||||||
          "@type": "ImageObject",
 | 
					          '@type': 'ImageObject',
 | 
				
			||||||
          "url": newsArticleArg.author.surName // TODO
 | 
					          url: newsArticleArg.author.surName, // TODO
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
      "description": newsArticleArg.author.firstName
 | 
					      },
 | 
				
			||||||
 | 
					      description: newsArticleArg.author.firstName,
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    const ldTag = new JsonLdTag(newsArticleArg);
 | 
					    const ldTag = new JsonLdTag(newsArticleLd);
 | 
				
			||||||
    return ldTag;
 | 
					    return ldTag;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,16 @@
 | 
				
			|||||||
 | 
					import * as plugins from './websetup.plugins';
 | 
				
			||||||
import { Tag } from './websetup.classes.tag';
 | 
					import { Tag } from './websetup.classes.tag';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class OpengraphTag extends Tag {
 | 
					export class OpengraphTag extends Tag {
 | 
				
			||||||
 | 
					  public static createNewsArticleOgTags (newsArticleArg: plugins.tsclass.content.IArticle) {
 | 
				
			||||||
 | 
					    const tagArray: OpengraphTag[] = [];
 | 
				
			||||||
 | 
					    tagArray.push(new OpengraphTag('og:url', newsArticleArg.url));
 | 
				
			||||||
 | 
					    tagArray.push(new OpengraphTag('og:title', newsArticleArg.title));
 | 
				
			||||||
 | 
					    tagArray.push(new OpengraphTag('og:description', newsArticleArg.content));
 | 
				
			||||||
 | 
					    tagArray.push(new OpengraphTag('og:image', newsArticleArg.featuredImageUrl));
 | 
				
			||||||
 | 
					    return tagArray;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  constructor(propertyNameArg: string, contentArg: string) {
 | 
					  constructor(propertyNameArg: string, contentArg: string) {
 | 
				
			||||||
    super();
 | 
					    super();
 | 
				
			||||||
    const openGraphElement = document.createElement('meta');
 | 
					    const openGraphElement = document.createElement('meta');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,12 +31,18 @@ export class TagLevel {
 | 
				
			|||||||
    this.tagManagerRef = tagManagerRefArg;
 | 
					    this.tagManagerRef = tagManagerRefArg;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public addTag(tagArg: Tag) {
 | 
					  public addTag(tagArg: Tag | Tag[]) {
 | 
				
			||||||
 | 
					    if (tagArg instanceof Array) {
 | 
				
			||||||
 | 
					      for (const tagArg2 of tagArg) {
 | 
				
			||||||
 | 
					        this.addTag(tagArg2);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
      this.tags.push(tagArg);
 | 
					      this.tags.push(tagArg);
 | 
				
			||||||
      if (this.state === 'enabled') {
 | 
					      if (this.state === 'enabled') {
 | 
				
			||||||
        tagArg.appendToDom();
 | 
					        tagArg.appendToDom();
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public async addCompanyInfo(companyDataArg: plugins.tsclass.business.ICompany) {
 | 
					  public async addCompanyInfo(companyDataArg: plugins.tsclass.business.ICompany) {
 | 
				
			||||||
    this.addTag(JsonLdTag.createCompanyLd(companyDataArg));
 | 
					    this.addTag(JsonLdTag.createCompanyLd(companyDataArg));
 | 
				
			||||||
@@ -70,7 +76,8 @@ export class TagLevel {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public addNewsArticleInfo(articleArg: plugins.tsclass.content.IArticle) {
 | 
					  public addNewsArticleInfo(articleArg: plugins.tsclass.content.IArticle) {
 | 
				
			||||||
    this.addTag(JsonLdTag.createNewsArticleLd(articleArg));
 | 
					    this.addTag(JsonLdTag.createNewsArticleJsonLd(articleArg));
 | 
				
			||||||
 | 
					    this.addTag(OpengraphTag.createNewsArticleOgTags(articleArg));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public async enable() {
 | 
					  public async enable() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,6 +17,12 @@ export class TagManager {
 | 
				
			|||||||
    this.globalLevel.addTag(new MetaTag('google', 'notranslate'));
 | 
					    this.globalLevel.addTag(new MetaTag('google', 'notranslate'));
 | 
				
			||||||
    this.globalLevel.addTag(new MetaTag('revisit-after', '1 days'));
 | 
					    this.globalLevel.addTag(new MetaTag('revisit-after', '1 days'));
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    if (metaObjectArg.twitterHandle) {
 | 
				
			||||||
 | 
					      this.globalLevel.addTag(new MetaTag('twitter:card', 'summary_large_image'));
 | 
				
			||||||
 | 
					      this.globalLevel.addTag(new MetaTag('twitter:site', metaObjectArg.twitterHandle));
 | 
				
			||||||
 | 
					      this.globalLevel.addTag(new MetaTag('twitter:creator', metaObjectArg.twitterHandle));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // base tag level
 | 
					    // base tag level
 | 
				
			||||||
    this.baseLevel.title = metaObjectArg.title;
 | 
					    this.baseLevel.title = metaObjectArg.title;
 | 
				
			||||||
    if (metaObjectArg.description) {
 | 
					    if (metaObjectArg.description) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user