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.
| prop | type | default | required | description |
|---|---|---|---|---|
href | string | URL | derived from integration config | No | Absolute URL for the manifest file. When omitted, falls back to integration config (headTags.manifest resolved by the integration). |
Examples
Section titled “Examples”Input:
<Manifest href="https://example.com/manifest.webmanifest" />Output:
<link rel="manifest" href="https://example.com/manifest.webmanifest" />Automatic
Section titled “Automatic”Uses the integration-resolved default when headTags.manifest is enabled or a manifest config is provided.
Input:
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" />Decisions Made
Section titled “Decisions Made”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.
Renders nothing when no href is available
Section titled “Renders nothing when no href is available”If neither the prop nor integration config provides a truthy href, the component emits no tag.
Source code
Section titled “Source code”---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} />}