mirror of https://github.com/cheat/cheat.git
fix(frontmatter): do not trim whitespace (#663)
Do not strip leading or trailing newlines. Doing so had interferred with users' intended cheatsheet layouts.
This commit is contained in:
parent
f1540290a7
commit
f0bfeda47a
|
@ -2,6 +2,7 @@ package frontmatter
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"gopkg.in/yaml.v1"
|
||||
|
@ -16,15 +17,21 @@ type Frontmatter struct {
|
|||
// Parse parses cheatsheet frontmatter
|
||||
func Parse(markdown string) (string, Frontmatter, error) {
|
||||
|
||||
// determine the appropriate line-break for the platform
|
||||
linebreak := "\n"
|
||||
if runtime.GOOS == "windows" {
|
||||
linebreak = "\r\n"
|
||||
}
|
||||
|
||||
// specify the frontmatter delimiter
|
||||
delim := "---"
|
||||
delim := fmt.Sprintf("---%s", linebreak)
|
||||
|
||||
// initialize a frontmatter struct
|
||||
var fm Frontmatter
|
||||
|
||||
// if the markdown does not contain frontmatter, pass it through unmodified
|
||||
if !strings.HasPrefix(markdown, delim) {
|
||||
return strings.TrimSpace(markdown), fm, nil
|
||||
return markdown, fm, nil
|
||||
}
|
||||
|
||||
// otherwise, split the frontmatter and cheatsheet text
|
||||
|
@ -40,5 +47,5 @@ func Parse(markdown string) (string, Frontmatter, error) {
|
|||
return markdown, fm, fmt.Errorf("failed to unmarshal frontmatter: %v", err)
|
||||
}
|
||||
|
||||
return strings.TrimSpace(parts[2]), fm, nil
|
||||
return parts[2], fm, nil
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ func New(
|
|||
Title: title,
|
||||
CheatPath: cheatpath,
|
||||
Path: path,
|
||||
Text: text + "\n",
|
||||
Text: text,
|
||||
Tags: tags,
|
||||
Syntax: fm.Syntax,
|
||||
ReadOnly: readOnly,
|
||||
|
|
Loading…
Reference in New Issue