Extract conditional branch to function

This commit is contained in:
Dennis Verheijden 2025-09-11 13:35:50 +02:00 committed by Manuel Rüger
parent 2173fbcfcd
commit 6d81045bf0
2 changed files with 14 additions and 2 deletions

View File

@ -159,8 +159,7 @@ func ExtractMeta(data []byte, spaceFromCli string, titleFromH1 bool, titleFromFi
meta.Title = ExtractDocumentLeadingH1(data)
}
if titleFromFilename && meta.Title == "" && filename != "" {
base := filepath.Base(filename)
meta.Title = strings.TrimSuffix(base, filepath.Ext(base))
setTitleFromFilename(meta, filename)
}
if spaceFromCli != "" && meta.Space == "" {
meta.Space = spaceFromCli
@ -192,6 +191,11 @@ func ExtractMeta(data []byte, spaceFromCli string, titleFromH1 bool, titleFromFi
return meta, data[offset:], nil
}
func setTitleFromFilename(meta *Meta, filename string) {
base := filepath.Base(filename)
meta.Title = strings.TrimSuffix(base, filepath.Ext(base))
}
// ExtractDocumentLeadingH1 will extract leading H1 heading
func ExtractDocumentLeadingH1(markdown []byte) string {
h1 := regexp.MustCompile(`#[^#]\s*(.*)\s*\n`)

View File

@ -28,3 +28,11 @@ func TestExtractDocumentLeadingH1(t *testing.T) {
assert.Equal(t, "a", actual)
}
func TestSetTitleFromFilename(t *testing.T) {
t.Run("set title from filename", func(t *testing.T) {
meta := &Meta{Title: ""}
setTitleFromFilename(meta, "/path/to/test.md")
assert.Equal(t, "test", meta.Title)
})
}