UNPKG

@push.rocks/websetup

Version:

setup basic page properties

61 lines 5.79 kB
import { TagLevel } from './websetup.classes.taglevel.js'; import './websetup.plugins.js'; import './interfaces/index.js'; import { MetaTag } from './websetup.classes.tag.metatag.js'; import './websetup.classes.tag.jsonldtag.js'; import './websetup.classes.tag.opengraphtag.js'; export class TagManager { constructor() { this.globalLevel = new TagLevel(this, 'global'); this.baseLevel = new TagLevel(this, 'base'); } async setup(metaObjectArg) { // global tag level this.globalLevel.addTag(new MetaTag('google', 'notranslate')); 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 this.baseLevel.title = metaObjectArg.title; if (metaObjectArg.description) { this.baseLevel.addTag(new MetaTag('description', metaObjectArg.description)); } if (metaObjectArg.canonicalDomain) { this.baseLevel.addTag(new MetaTag('canonical', metaObjectArg.canonicalDomain)); } // json ld switch (true) { case metaObjectArg.ldCompany && !metaObjectArg.ldProduct: this.baseLevel.addCompanyInfo(metaObjectArg.ldCompany); break; case !!metaObjectArg.ldProduct: this.baseLevel.addProductInfo(metaObjectArg.ldProduct, metaObjectArg.ldCompany); break; } await this.globalLevel.enable(); this.activeLevel = this.baseLevel; await this.activeLevel.enable(); } async setSubPageLevel(metaObjectArg) { const subPageLevel = new TagLevel(this, 'subpage'); subPageLevel.title = metaObjectArg.title; if (metaObjectArg.description) { subPageLevel.addTag(new MetaTag('description', metaObjectArg.description)); } await this.activeLevel.disable(); this.activeLevel = subPageLevel; await this.activeLevel.enable(); return subPageLevel; } async revertToBaseLevel() { if (this.activeLevel !== this.baseLevel) { await this.activeLevel.disable(); this.activeLevel = this.baseLevel; await this.activeLevel.enable(); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2V0dXAuY2xhc3Nlcy50YWdtYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvd2Vic2V0dXAuY2xhc3Nlcy50YWdtYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRCxPQUF5Qix1QkFBdUIsQ0FBQztBQUNqRCxPQUE0Qix1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUQsT0FBMEIscUNBQXFDLENBQUM7QUFDaEUsT0FBNkIsd0NBQXdDLENBQUM7QUFFdEUsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDUyxnQkFBVyxHQUFhLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVyRCxjQUFTLEdBQWEsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBNEQxRCxDQUFDO0lBeERRLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBcUM7UUFDdEQsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRWhFLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRTtZQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1lBQzVFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUN0RjtRQUVELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQzNDLElBQUksYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDOUU7UUFFRCxJQUFJLGFBQWEsQ0FBQyxlQUFlLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ2hGO1FBR0QsVUFBVTtRQUNWLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxhQUFhLENBQUMsU0FBUyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7Z0JBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdkQsTUFBTTtZQUNSLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTO2dCQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDaEYsTUFBTTtTQUNUO1FBRUQsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQUMsYUFBcUM7UUFDaEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELFlBQVksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUN6QyxJQUFJLGFBQWEsQ0FBQyxXQUFXLEVBQUU7WUFDN0IsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDNUU7UUFDRCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7UUFDaEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztDQUNGIn0=