Remove FrontMatter
After giving it some thought I don't think this belongs in go-org - there's just no use for it outside of hugo front matter handling
This commit is contained in:
parent
348f697b41
commit
f62a00863f
2 changed files with 0 additions and 119 deletions
|
@ -32,7 +32,6 @@ type Writer interface {
|
|||
}
|
||||
|
||||
type Node interface{}
|
||||
type FrontMatter = map[string]interface{}
|
||||
|
||||
type lexFn = func(line string) (t token, ok bool)
|
||||
type parseFn = func(*Document, int, stopFn) (int, Node)
|
||||
|
@ -60,16 +59,6 @@ var lexFns = []lexFn{
|
|||
|
||||
var nilToken = token{"nil", -1, "", nil}
|
||||
|
||||
func FrontMatterHandler(fm FrontMatter, k, v string) error {
|
||||
switch k := strings.ToLower(k); k {
|
||||
case "tags", "categories", "aliases":
|
||||
fm[k] = strings.Fields(v)
|
||||
default:
|
||||
fm[k] = v
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func NewDocument() *Document {
|
||||
outlineSection := &Section{}
|
||||
return &Document{
|
||||
|
@ -134,31 +123,6 @@ func (d *Document) Silent() *Document {
|
|||
return d
|
||||
}
|
||||
|
||||
func GetFrontMatter(input io.Reader, f func(FrontMatter, string, string) error) (_ FrontMatter, err error) {
|
||||
d := NewDocument()
|
||||
defer func() {
|
||||
if recovered := recover(); recovered != nil {
|
||||
err = fmt.Errorf("could not parse input: %s", recovered)
|
||||
}
|
||||
}()
|
||||
d.tokenize(input)
|
||||
d.parseMany(0, func(d *Document, i int) bool {
|
||||
if !(i < len(d.tokens)) {
|
||||
return true
|
||||
}
|
||||
t := d.tokens[i]
|
||||
return t.kind != "keyword" && !(t.kind == "text" && t.content == "")
|
||||
})
|
||||
frontMatter := make(FrontMatter, len(d.BufferSettings))
|
||||
for k, v := range d.BufferSettings {
|
||||
err := f(frontMatter, k, v)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return frontMatter, err
|
||||
}
|
||||
|
||||
func (d *Document) tokenize(input io.Reader) {
|
||||
d.tokens = []token{}
|
||||
scanner := bufio.NewScanner(input)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue