@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
JavaScript
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=