UNPKG

@davidlj95/ngx-meta

Version:

Set your Angular site's metadata: standard meta tags, Open Graph, Twitter Cards, JSON-LD structured data and more. Supports SSR (and Angular Universal). Use a service. Use routes' data. Set it up in a flash! 🚀

53 lines • 4.62 kB
import { coreFeature, } from '../providers/core-feature'; import { _titleFormatter } from './title-formatter'; /** * Provides a page title formatter. * * The formatter will be called with the specified page title metadata. * Its output will be the value placed as the page's title by the metadata manager. * This way you can prepend or append your site name or brand to all page titles, for instance. * * Built-in metadata managers that use this formatter are: * * - {@link Standard.title} * * - {@link OpenGraph.title} * * - {@link TwitterCard.title} * * @example * * <b>Using standalone, recommended API</b> * ```typescript * provideNgxMetaCore( * withNgxMetaTitleFormatter((title) => `${title} - Site name`) * ) * ``` * * <b>Using module-based API</b> * ```typescript * NgxMetaCoreModule.forRoot( * withNgxMetaTitleFormatter((title) => `${title} - Site name`) * ) * ``` * * See also: * * - {@link provideNgxMetaCore}: to use it with the standalone, recommended API. * * - {@link NgxMetaCoreModule.(forRoot:1)}: to use it with the module-based API. * * - {@link https://ngx-meta.dev/guides/title-formatting/ | Title formatting guide} * * * @param titleFormatter - A function that takes the page title set in metadata values and returns the formatted title * * @beta */ export const withNgxMetaTitleFormatter = (titleFormatter) => coreFeature(2 /* CoreFeatureKind.TitleFormatter */, [ { provide: _titleFormatter(), useFactory: () => titleFormatter, }, ]); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1uZ3gtbWV0YS10aXRsZS1mb3JtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvZm9ybWF0dGVyL3dpdGgtbmd4LW1ldGEtdGl0bGUtZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEdBR1osTUFBTSwyQkFBMkIsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG1CQUFtQixDQUFBO0FBR25FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsY0FBOEIsRUFDZSxFQUFFLENBQy9DLFdBQVcseUNBQWlDO0lBQzFDO1FBQ0UsT0FBTyxFQUFFLGVBQWUsRUFBRTtRQUMxQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsY0FBYztLQUNQO0NBQzVCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNvcmVGZWF0dXJlLFxuICBDb3JlRmVhdHVyZSxcbiAgQ29yZUZlYXR1cmVLaW5kLFxufSBmcm9tICcuLi9wcm92aWRlcnMvY29yZS1mZWF0dXJlJ1xuaW1wb3J0IHsgX3RpdGxlRm9ybWF0dGVyLCBUaXRsZUZvcm1hdHRlciB9IGZyb20gJy4vdGl0bGUtZm9ybWF0dGVyJ1xuaW1wb3J0IHsgRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuLyoqXG4gKiBQcm92aWRlcyBhIHBhZ2UgdGl0bGUgZm9ybWF0dGVyLlxuICpcbiAqIFRoZSBmb3JtYXR0ZXIgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHBhZ2UgdGl0bGUgbWV0YWRhdGEuXG4gKiBJdHMgb3V0cHV0IHdpbGwgYmUgdGhlIHZhbHVlIHBsYWNlZCBhcyB0aGUgcGFnZSdzIHRpdGxlIGJ5IHRoZSBtZXRhZGF0YSBtYW5hZ2VyLlxuICogVGhpcyB3YXkgeW91IGNhbiBwcmVwZW5kIG9yIGFwcGVuZCB5b3VyIHNpdGUgbmFtZSBvciBicmFuZCB0byBhbGwgcGFnZSB0aXRsZXMsIGZvciBpbnN0YW5jZS5cbiAqXG4gKiBCdWlsdC1pbiBtZXRhZGF0YSBtYW5hZ2VycyB0aGF0IHVzZSB0aGlzIGZvcm1hdHRlciBhcmU6XG4gKlxuICogIC0ge0BsaW5rIFN0YW5kYXJkLnRpdGxlfVxuICpcbiAqICAtIHtAbGluayBPcGVuR3JhcGgudGl0bGV9XG4gKlxuICogIC0ge0BsaW5rIFR3aXR0ZXJDYXJkLnRpdGxlfVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGI+VXNpbmcgc3RhbmRhbG9uZSwgcmVjb21tZW5kZWQgQVBJPC9iPlxuICogYGBgdHlwZXNjcmlwdFxuICogcHJvdmlkZU5neE1ldGFDb3JlKFxuICogICB3aXRoTmd4TWV0YVRpdGxlRm9ybWF0dGVyKCh0aXRsZSkgPT4gYCR7dGl0bGV9IC0gU2l0ZSBuYW1lYClcbiAqIClcbiAqIGBgYFxuICpcbiAqIDxiPlVzaW5nIG1vZHVsZS1iYXNlZCBBUEk8L2I+XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBOZ3hNZXRhQ29yZU1vZHVsZS5mb3JSb290KFxuICogICB3aXRoTmd4TWV0YVRpdGxlRm9ybWF0dGVyKCh0aXRsZSkgPT4gYCR7dGl0bGV9IC0gU2l0ZSBuYW1lYClcbiAqIClcbiAqIGBgYFxuICpcbiAqIFNlZSBhbHNvOlxuICpcbiAqIC0ge0BsaW5rIHByb3ZpZGVOZ3hNZXRhQ29yZX06IHRvIHVzZSBpdCB3aXRoIHRoZSBzdGFuZGFsb25lLCByZWNvbW1lbmRlZCBBUEkuXG4gKlxuICogLSB7QGxpbmsgTmd4TWV0YUNvcmVNb2R1bGUuKGZvclJvb3Q6MSl9OiB0byB1c2UgaXQgd2l0aCB0aGUgbW9kdWxlLWJhc2VkIEFQSS5cbiAqXG4gKiAtIHtAbGluayBodHRwczovL25neC1tZXRhLmRldi9ndWlkZXMvdGl0bGUtZm9ybWF0dGluZy8gfCBUaXRsZSBmb3JtYXR0aW5nIGd1aWRlfVxuICpcbiAqXG4gKiBAcGFyYW0gdGl0bGVGb3JtYXR0ZXIgLSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgdGhlIHBhZ2UgdGl0bGUgc2V0IGluIG1ldGFkYXRhIHZhbHVlcyBhbmQgcmV0dXJucyB0aGUgZm9ybWF0dGVkIHRpdGxlXG4gKlxuICogQGJldGFcbiAqL1xuZXhwb3J0IGNvbnN0IHdpdGhOZ3hNZXRhVGl0bGVGb3JtYXR0ZXIgPSAoXG4gIHRpdGxlRm9ybWF0dGVyOiBUaXRsZUZvcm1hdHRlcixcbik6IENvcmVGZWF0dXJlPENvcmVGZWF0dXJlS2luZC5UaXRsZUZvcm1hdHRlcj4gPT5cbiAgY29yZUZlYXR1cmUoQ29yZUZlYXR1cmVLaW5kLlRpdGxlRm9ybWF0dGVyLCBbXG4gICAge1xuICAgICAgcHJvdmlkZTogX3RpdGxlRm9ybWF0dGVyKCksXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiB0aXRsZUZvcm1hdHRlcixcbiAgICB9IHNhdGlzZmllcyBGYWN0b3J5UHJvdmlkZXIsXG4gIF0pXG4iXX0=