mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-26 06:14:06 -06:00
56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# front [](https://travis-ci.org/gernest/front) [](https://godoc.org/github.com/gernest/front)[](https://coveralls.io/github/gernest/front?branch=master)
|
|
|
|
extracts frontmatter from text files with ease.
|
|
|
|
## Features
|
|
* Custom delimiters. You are free to register any delimiter of your choice. Provided its a three character string. e.g `+++`, `$$$`, `---`, `%%%`
|
|
* Custom Handlers. Anything that implements `HandlerFunc` can be used to decode the values from the frontmatter text, you can see the `JSONHandler` for how to implement one.
|
|
* Support YAML frontmatter
|
|
* Support JSON frontmatter.
|
|
|
|
## Installation
|
|
|
|
go get github.com/gernest/front
|
|
|
|
## How to use
|
|
|
|
```go
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/gernest/front"
|
|
)
|
|
|
|
var txt = `+++
|
|
{
|
|
"title":"front"
|
|
}
|
|
+++
|
|
|
|
# Body
|
|
Over my dead body
|
|
`
|
|
|
|
func main() {
|
|
m := front.NewMatter()
|
|
m.Handle("+++", front.JSONHandler)
|
|
f, body, err := m.Parse(strings.NewReader(txt))
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fmt.Printf("The front matter is:\n%#v\n", f)
|
|
fmt.Printf("The body is:\n%q\n", body)
|
|
}
|
|
```
|
|
|
|
Please see the tests formore details
|
|
|
|
## Licence
|
|
|
|
This project is under the MIT Licence. See the [LICENCE](LICENCE) file for the full license text.
|
|
|