next-metadata
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

next-metadata

Status: WIP NPM Version

This library is a port of Next.js' metadata object API, targetted towards people who want to borrow it's easy api for specifying meta tags. It provides a simple interface to merge and render metadata to strings, which can be inserted into an HTML template during SSR.

The exact Metadata API may change as Next.js' App Router is still in beta.

import { Metadata, resolveAndRenderMetadata } from 'next-metadata';

const metadata: Metadata = {
  title: 'Hello world',
  description: 'This is a web page'
};

// A framework author would insert this string into the page's <head> element.
console.log(resolveAndRenderMetadata(metadata));
// <title>Hello world</title>
// <meta name="description" content="This is a web page">
// <meta name="viewport" content="width=device-width, initial-scale=1">

This package doesn't depend on React or Next.js, but it's source includes code from Next.js (MIT license), which is bundled and re-exported.

Docs

  • resolveMetadata(...metadatas): ResolvedMetadata, converts raw metadata objects into a single resolved metadata object. to apply title templates and overriding stuff, pass multiple objects, where the first is the outer-most layout, and the last is the page metadata.
  • renderMetadata(resolvedMetadata): string, converts a ResolvedMetadata
  • resolveAndRenderMetadata(...metadatas): string, does both operations at once.

In addition to this, it exports every single metadata type from Next.js, which might be overwhelming when looking at the intellisense dropdown. The key types in it are Metadata and ResolvedMetadata.

Readme

Keywords

Package Sidebar

Install

npm i next-metadata

Weekly Downloads

28

Version

0.2.0

License

MIT

Unpacked Size

69.2 kB

Total Files

5

Last publish

Collaborators

  • davecaruso