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): UnifastPluginParametreler
options?
Frontmatter biçimleri için yapılandırma
| Özellik | Tür | Varsayılan | Açıklama |
|---|---|---|---|
yaml | boolean | true | YAML frontmatter’ı etkinleştir (— sınırlayıcıları) |
toml | boolean | false | TOML frontmatter’ı etkinleştir (+++ sınırlayıcıları) |
json | boolean | false | JSON 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 }