frontmatter()

Markdown/MDX belgelerinin başındaki YAML, TOML veya JSON üst veri bloklarının ayrıştırılmasını sağlayan bir frontmatter plugin'i oluşturur.

import { frontmatter } from "@unifast/node";

İmza

function frontmatter(options?: FrontmatterPluginOptions): UnifastPlugin

Parametreler

options?

Frontmatter biçimleri için yapılandırma

ÖzellikTürVarsayılanAçıklama
yamlbooleantrueYAML frontmatter’ı etkinleştir (— sınırlayıcıları)
tomlbooleanfalseTOML frontmatter’ı etkinleştir (+++ sınırlayıcıları)
jsonbooleanfalseJSON frontmatter’ı etkinleştir (;;; sınırlayıcıları)

Kullanım

import { compile, frontmatter } from "@unifast/node";

const result = compile(md, {
  plugins: [
    frontmatter({
      yaml: true,
      toml: true,
      json: true,
    }),
  ],
});

console.log(result.frontmatter);
// { title: "My Page", date: "2024-01-01", tags: ["markdown", "docs"] }

Örnekler

YAML Frontmatter

import { compile, frontmatter } from "@unifast/node";

const md = `---
title: My Page
date: 2024-01-01
tags:
  - markdown
  - docs
---

# Hello`;

const result = compile(md, { plugins: [frontmatter()] });

console.log(result.frontmatter);
// { title: "My Page", date: "2024-01-01", tags: ["markdown", "docs"] }

TOML Frontmatter

import { compile, frontmatter } from "@unifast/node";

const md = `+++
title = "My Page"
date = 2024-01-01
+++

# Hello`;

const result = compile(md, { plugins: [frontmatter({ toml: true })] });

console.log(result.frontmatter);
// { title: "My Page", date: "2024-01-01" }

JSON Frontmatter

import { compile, frontmatter } from "@unifast/node";

const md = `;;;
{"title": "My Page", "draft": false}
;;;

# Hello`;

const result = compile(md, { plugins: [frontmatter({ json: true })] });

console.log(result.frontmatter);
// { title: "My Page", draft: false }