Vista previa técnicaDanos tu opinión

Parches de artículos

Actualizado el 12 nov 2026

A veces un archivo Markdown sirve a la vez como contenido del sitio y como archivo que se lee en otro lugar: un README.md que renderiza GitHub, una especificación compartida en otro proyecto. Añadirle frontmatter exclusivo de Livemark ensucia la otra vista.

patches te permite inyectar campos de frontmatter para un archivo concreto desde livemark.config.ts en lugar de editar el archivo en disco.

Uso básico

livemark.config.ts
import { defineConfig } from "livemark"

export default defineConfig({
  include: ["README.md", "docs/**/*.md"],
  patches: [
    {
      file: "README.md",
      article: {
        title: "Overview",
        icon: "sparkles",
        order: 0,
      },
    },
  ],
})

El archivo en disco queda limpio, pero Livemark lo renderiza como si el YAML anterior estuviera al principio.

Campos

CampoTipoPropósito
filestringRuta relativa a la colección, p. ej. "README.md", "docs/a.md".
articlePartial<Article>Cualquier campo de frontmatter excepto content.

Un campo del artículo como format funciona igual. Para fijar un archivo como Markdown simple sea cual sea su extensión:

{ file: "CHANGELOG.md", article: { format: "md" } }

La coincidencia es una comparación exacta de cadenas con la ruta de archivo que recoge Livemark. Si la ruta no coincide con ningún artículo, el parche no hace nada en silencio, algo útil cuando parcheas de forma defensiva un archivo que puede existir o no.

Semántica de fusión

Los campos article de un parche se fusionan sobre el frontmatter propio del archivo. Todo lo que no especifiques en el parche conserva su valor normal (el del archivo o el de los valores automáticos de Livemark).

Así, un README sin frontmatter más:

{ file: "README.md", article: { title: "Overview" } }

se renderiza como un artículo titulado "Overview". Todos los demás campos (descripción, icono, ruta, etc.) recurren a sus valores por defecto.

Lo que no puedes parchear

La clave content se rechaza al cargar la configuración:

// Throws at startup:
{ file: "README.md", article: { content: "replaced" } }

Los parches son para metadatos; el contenido del archivo es siempre el contenido del archivo.

Ver también

  • Frontmatter: todos los campos que puedes definir, ya sea en el archivo o mediante un parche.
  • Configuración: el glob include que decide qué archivos puede alcanzar un parche.

Hecho con ❤ y Livemark