An open API service indexing awesome lists of open source software.

https://github.com/gernest/front

extracts frontmatter from text files with ease with golang.
https://github.com/gernest/front

extracts-frontmatter frontmatter golang

Last synced: 6 months ago
JSON representation

extracts frontmatter from text files with ease with golang.

Awesome Lists containing this project

README

        

# front [![Build Status](https://travis-ci.org/gernest/front.svg)](https://travis-ci.org/gernest/front) [![GoDoc](https://godoc.org/github.com/gernest/front?status.svg)](https://godoc.org/github.com/gernest/front)[![Coverage Status](https://coveralls.io/repos/gernest/front/badge.svg?branch=master&service=github)](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.