Zero dependencyMDX readyBuilt for SSRCross-framework

    Markdown that renders 5× faster.

    Intlayer ships its own Markdown engine. No dependency, MDX included, parsed on the server, and rendered natively in React, Next.js, Vue, Svelte, Solid, Preact and Angular. You never have to pick a renderer again.

    markdown-file.content.md
    ---key: my-markdown-contentdescription: My content---# My contentHere an example of markdown content

    When the locale front-matter field is omitted, Intlayer uses your configured default locale. You can maintain your entire content in a single markdown file without locale identifiers.

    Example of file structure:
    content
    └── markdown-file.content.md
    markdown-file.en.content.md
    ---key: my-markdown-contentdescription: My contentlocale: en---# My contentHere an example of markdown content

    The locale front-matter field defines the locale of the content. It is optional. If not provided, Intlayer will use the default locale, which is also used as fallback locale if no translation is available for a specific locale.

    Example of file structure:
    content
    ├── markdown-file.en.content.md
    ├── markdown-file.fr.content.md
    └── markdown-file.es.content.md
    article.content.ts
    import { md, file, t, type Dictionary } from 'intlayer';export default {  key: 'article',  content: {    body: t({      en: md(file('./article.en.md')),      fr: md(file('./article.fr.md')),    }),  },} satisfies Dictionary;

    Declare Markdown directly inside a TypeScript, ESM, or JSON dictionary using the md() and file() functions, pairing translations with full type safety.

    Example of file structure:
    content
    ├── article.content.ts
    ├── article.en.md
    └── article.fr.md
    No dependency
    MDX components
    Typed frontmatter
    Purged when unused