extract-frontmatter
Overview
A Rust library that allows a user to extract an arbitrary number of lines of "front-matter" from the start of any multiline string.
Note that absolutely no parsing of extracted front-matter is performed; this is designed to output its results for another library to then parse.
Versioning
This project follows Semantic Versioning principals starting with v1.0.0
Repository information
This repository is located on GitLab.com.
Usage
To use this library:
- Instantiate an instance of
Extractor - Call a selector method on it
- Call zero or more modifier methods on it
- Call:
extract()(for aString), orcollect()(for aVec<&str>)
Selectors
| Method | Description |
|---|---|
select_by_terminator(terminator: &str) |
Selects lines until the first one equal to terminator is found |
select_by_prefix(prefix: &str) |
Selects consecutive lines starting with prefix |
select_by_line_count(count: usize) |
Selects count lines |
Modifiers
| Method | Description |
|---|---|
strip_prefix(prefix: &str) |
Strips the given prefix from all returned lines |
strip_whitespace() |
Strips leading and trailing whitespace from all returned lines |
discard_first_line() |
Skips the first line to be returned |
discard_last_line() |
Skips the last line to be returned |
Example
Given a variable input with the following text:
root:
child1: true
child2: two
This is an example Markdown file.
... and the following code:
use Extractor;
let mut extractor = new;
extractor.select_by_terminator;
let output: String = extractor.extract;
... the variable output will contain:
root:
child1: true
child2: two