Socket
Socket
Sign inDemoInstall

@tinkoff/meta-tags-generate

Package Overview
Dependencies
Maintainers
15
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tinkoff/meta-tags-generate

Библиотека для генерации и обновления мета-тегов на странице.


Version published
Weekly downloads
29
decreased by-75.42%
Maintainers
15
Weekly downloads
 
Created
Source

Meta tags generate

Библиотека для генерации и обновления мета-тегов на странице.

Api

  • Meta({ list: [] }): Meta - объект используемый для конструирования объекта мета-тегов на основании заданных источников.
  • Render(meta: Meta): { render(): string } - рендер конкретного объекта Meta в виде строки (используется для SSR)
  • Update(meta: Meta): { update(): void } - обновляет верстку мета-тегов в браузере (используется в браузере при SPA-переходах)

Пример использования

import { Meta, Render, Update } from '@tinkoff/meta-tags-generate';

const list = [
  (walker) =>
    walker.updateMeta(10, {
      title: 'test',
      tag: { tag: 'meta', attributes: { link: 'link' } },
    }),
];
const meta = new Meta({ list, converters });

const metaContent = new Render(meta).render();
console.log(metaContent); // > <title>test</title><meta link=link/>

new Update(meta).update(); // Удалит все старые мета теги и заменит новыми

Источники

В мета теги можно передать источник данных в параметр list которые будут вызваны в рантайме для сбора итогового результата.

Например:

const list = [
  (walker) =>
    walker.updateMeta(10, {
      title: 'test',
      tag: { tag: 'meta', attributes: { link: 'link' } },
    }),
  (walker) =>
    walker.updateMeta(20, {
      title: 'tinkoff',
      ogTitle: 'tinkoff',
    }),
];
const meta = new Meta({ list, converters });

При генерации мета тегов будет вызваны по порядку функции из list в который будет прокинут класс walker. Внутри функции можно смодифицировать данные вызывая метод updateMeta в который передается приоритет правок и параметры. Элементы с более высоким приоритетом, перезаписывают значения более низких

Параметры

Библиотека принимает параметры с определенным типом, которые позволяют сгенерировать html теги. Для этого нужно передать в значение следующий формат данных

{
  customTag: { tag: 'meta', attributes: { name: 'k', content: 'i' }, innerHtml: '1' }
}

в итоге после преобразований, получится следующий тег:

<meta name="k" content="i">1</meta>

Удаление meta параметров

Для удаление данных, нам нужно в поле value вставить null значение

Например мы хотим удалить keywords свойство:

(walker) =>
  walker.updateMeta(30, {
    keywords: null,
  });

После выполнения этого источника, мета тег удалится

Конвертеры

Для упрощения использования библиотеки, мы можем передать в Meta список конвертеров в параметров converters

new Meta({ list, converters: { title: (value) => ({ tag: 'meta', innerHtml: value }) } });

При построения мета тегов, мы будем пытаться получить по ключу в блоке converters функцию для преобразования. И это нам позволяет передавать мета параметры вида { title: 'Тинькофф' }

FAQs

Package last updated on 02 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc