Skip to content

Manifest

Manifest renders a <link rel="manifest"> tag that points browsers to your web app manifest file. It only resolves and outputs the href for that tag and does not generate the manifest file itself.

proptypedefaultrequireddescription
hrefstring | URLderived from integration configNoAbsolute URL for the manifest file. When omitted, falls back to integration config (headTags.manifest resolved by the integration).

Input:

<Manifest href="https://example.com/manifest.webmanifest" />

Output:

<link rel="manifest" href="https://example.com/manifest.webmanifest" />

Uses the integration-resolved default when headTags.manifest is enabled or a manifest config is provided.

Input:

astro.config.mjs
eminence({
headTags: {
manifest: true,
},
});

or with explicit manifest config. See Manifest Integration for details on config options.

<Manifest />

Output (assuming Astro.site is https://example.com):

<link rel="manifest" href="https://example.com/manifest.webmanifest" />

Integration config resolves automatic defaults

Section titled “Integration config resolves automatic defaults”

This component does not build manifest URLs itself. Automatic behavior is resolved upstream in the integration virtual config, then consumed here.

If neither the prop nor integration config provides a truthy href, the component emits no tag.

---
import config from "virtual:eminence-astro-suite/head-tags";
interface Props {
/**
* Absolute manifest URL rendered directly as the link href.
* @default `headTags.manifest`
* @example "https://example.com/manifest.webmanifest"
*/
href?: string | URL;
}
const { href = config.manifest } = Astro.props;
---
{href && <link rel="manifest" href={href} />}