From fdb8753538a44ab8cec51a73fc495681c7b464a2 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Mon, 24 Mar 2025 00:44:36 -0400 Subject: [PATCH] fix: metadata no longer rendered as part of page content --- internal/builder/build_page.go | 12 ++++++++++-- internal/util/file.go | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/internal/builder/build_page.go b/internal/builder/build_page.go index 62e96da..e0efc28 100644 --- a/internal/builder/build_page.go +++ b/internal/builder/build_page.go @@ -28,7 +28,7 @@ type PageData struct { Type string } -type Metadata map[string]interface{} +type Metadata map[string]any func processWithYaml(f []byte) (Metadata, []byte, error) { // Check if the file has valid metadata @@ -155,7 +155,15 @@ func BuildFile(f *File, settings *Settings) error { } func BuildHtmlFile(l int, in string, out string, pd *PageData, settings *Settings) error { - md, err := util.ReadLineRange(in, l, -1) + // WARN: ReadLineRange is fine, but l is the len of the frontmatter + // NOT including the delimiters! + start := l + // if the frontmatter exists (len > 0), then we need to + // account for two lines of delimiter! + if l != 0 { + start += 2 + } + md, err := util.ReadLineRange(in, start, -1) if err != nil { return err } diff --git a/internal/util/file.go b/internal/util/file.go index 3e18f1d..4570eb2 100644 --- a/internal/util/file.go +++ b/internal/util/file.go @@ -93,7 +93,6 @@ func ReadLineRange(filename string, start int, end int) ([]byte, error) { scanner := bufio.NewScanner(file) i := 0 for scanner.Scan() { - i++ if i >= start && (i <= end || end == -1) { buffer.Write(scanner.Bytes()) buffer.WriteByte('\n') @@ -101,6 +100,7 @@ func ReadLineRange(filename string, start int, end int) ([]byte, error) { if i > end && end != -1 { break } + i++ } if err := scanner.Err(); err != nil {