frontmatter_gen::extractor

Function extract_raw_frontmatter

Source
pub fn extract_raw_frontmatter(content: &str) -> Result<(&str, &str), Error>
Expand description

Extracts raw frontmatter from the content, detecting YAML, TOML, or JSON formats.

This function tries to extract frontmatter based on the common delimiters for YAML (---), TOML (+++), and JSON ({}). If frontmatter is detected, it returns the extracted frontmatter and the remaining content.

§Arguments

  • content - The full content string that may contain frontmatter.

§Returns

A Result containing a tuple of two &str slices: the raw frontmatter and the remaining content. If no valid frontmatter format is found, it returns Error::InvalidFormat.

§Errors

  • Error::InvalidFormat: When the frontmatter format is not recognized.
  • Error::ExtractionError: When there is an issue extracting frontmatter.

§Example

use frontmatter_gen::extractor::{extract_delimited_frontmatter, extract_raw_frontmatter, extract_json_frontmatter};
let content = "---\ntitle: Example\n---\nContent here";
let result = extract_raw_frontmatter(content).unwrap();
assert_eq!(result.0, "title: Example");
assert_eq!(result.1, "Content here");