Skip to main content


Deno standard library
Go to Latest
import * as mod from "";

Extracts front matter from strings.

createExtractor and test functions to handle many forms of front matter.

Adapted from jxson/front-matter.

Supported formats:

Basic usage

module: front_matter
  - yaml
  - toml
  - json

deno is awesome


import { extract } from "";
import { test } from "";

const str = await Deno.readTextFile("./");

if (test(str)) {
} else {
  console.log("document doesn't contain front matter");
$ deno run ./example.ts
  frontMatter: "module: front_matter\ntags:\n  - yaml\n  - toml\n  - json",
  body: "deno is awesome",
  attrs: { module: "front_matter", tags: [ "yaml", "toml", "json" ] }

The above example recognizes any of the supported formats, extracts metadata and parses accordingly. Please note that in this case both the YAML and TOML parsers will be imported as dependencies.

If you need only one specific format then you can import the file named respectively from here.

Advanced usage

import { test as _test } from "";
import {
} from "";
import { parse } from "";

const extract = createExtractor({
  "toml": parse as Parser,
  "json": JSON.parse as Parser,

export function test(str: string): boolean {
  return _test(str, ["toml", "json"]);

In this setup extract() and test() will work with TOML and JSON and only. This way the YAML parser is not loaded if not needed. You can cherry-pick which combination of formats are you supporting based on your needs.



these: are
all: recognized
= yaml =
as: yaml
= yaml =


this = 'is'
= toml =
parsed = 'as'
toml = 'data'
= toml =
is = 'that'
not = 'cool?'


  "and": "this"
  "is": "JSON"


Factory that creates a function that extracts front matter from a string with the given parsers. Supports YAML, TOML and JSON.

Tests if a string has valid front matter. Supports YAML, TOML and JSON.

Type Aliases

Return type for Extractor.

Function return type for createExtractor.

Parser function type used alongside createExtractor.