Metadatos del sitio
Actualizado el 12 nov 2026
Unos pocos campos de nivel superior en livemark.config.ts describen tu sitio a los navegadores, los buscadores y las tarjetas para redes sociales.
Campos
import { defineConfig } from "livemark"
export default defineConfig({
include: "docs/**/*.md",
site: "https://example.com",
title: "My Docs",
description: "Everything you need to build things.",
logo: "/logo.svg",
favicon: "/favicon.ico",
banner: "v2 is out · [Read the release notes](/blog/v2/)",
head: { meta: [{ name: "twitter:site", content: "@me" }] },
})| Campo | Tipo | Por defecto | Dónde aparece |
|---|---|---|---|
site | string | — | Origen canónico usado por el sitemap y las URL absolutas |
title | string | "Livemark" | <title>, og:title de Open Graph, título del sitio en la cabecera |
description | string | "Markdown site generator" | <meta name="description">, og:description |
logo | string | — | Imagen junto al título del sitio en la cabecera (y favicon por defecto) |
favicon | string | logo ?? bundled default | Icono de la pestaña del navegador |
banner | string | — | Franja de anuncio sobre la cabecera en todas las páginas |
head | object | — | meta, links y scripts adicionales en el <head> de todas las páginas |
Sitemap y site
Si site está definido, Livemark genera un sitemap.xml en la raíz de tu salida durante livemark build, usando site como origen absoluto de cada URL. Sin site, se omite la generación del sitemap.
Logo y favicon
logoyfaviconaceptan cualquier URL o ruta relativa a la raíz (/logo.svg). Los recursos colocados en.livemark/public/se sirven en/…y funcionan bien aquí.- Si se omite
favicon, Livemark recurre alogoy, por último, a su marca incluida. - El tipo MIME se deduce de la extensión (
.svg,.png,.ico).
Banner
banner muestra una franja a todo lo ancho sobre la cabecera en todas las páginas; desaparece al desplazarte mientras la cabecera permanece fija. El valor es Markdown en línea —enlaces, **bold**, _emphasis_ y `code`—, así que un anuncio de una línea no necesita ningún componente personalizado:
banner: "Livemark is in technical preview · [Share feedback →](https://github.com/datisthq/livemark/discussions)",- Los enlaces absolutos se abren en una pestaña nueva; los relativos a la raíz reciben tu prefijo
base. - Las etiquetas HTML sin procesar se descartan. Para iconos o marcado personalizado, escapa
components/Banner.tsxen su lugar (Sobrescritura/Escape). - La franja usa los tokens de color
--bannery--banner-foreground.
Etiquetas por página
Cada página de artículo sobrescribe los valores por defecto del sitio con sus propios <title>, description, og:title, og:description y og:type (article). Con site definido, también recibe og:url, un <link rel="canonical"> y, a partir del image del frontmatter, un og:image absoluto.
Etiquetas head adicionales
head añade etiquetas a todas las páginas, después de las predeterminadas. Una entrada meta con el mismo name o property que una predeterminada la reemplaza:
export default defineConfig({
head: {
meta: [
{ name: "twitter:card", content: "summary_large_image" },
{ name: "google-site-verification", content: "abc123" },
],
links: [{ rel: "me", href: "https://mastodon.social/@me" }],
scripts: [{ src: "https://example.com/analytics.js", defer: "" }],
},
})Para eliminar o reescribir una etiqueta predeterminada, escapa head.ts y edita lo que devuelve customizeHead:
import type { RootHead } from "livemark"
export function customizeHead(head: RootHead) {
head.meta = head.meta.filter(m => m.property !== "og:site_name")
return head
}Ver también
- Enlaces externos: enlaces de cabecera y barra lateral que viven junto al título.
- Secciones de artículos: cómo estructurar el contenido del propio sitio.
Hecho con ❤ y Livemark