mirror of
https://github.com/kovetskiy/mark.git
synced 2025-09-16 09:27:38 +08:00
Extract conditional branch to function
This commit is contained in:
parent
2173fbcfcd
commit
6d81045bf0
@ -159,8 +159,7 @@ func ExtractMeta(data []byte, spaceFromCli string, titleFromH1 bool, titleFromFi
|
|||||||
meta.Title = ExtractDocumentLeadingH1(data)
|
meta.Title = ExtractDocumentLeadingH1(data)
|
||||||
}
|
}
|
||||||
if titleFromFilename && meta.Title == "" && filename != "" {
|
if titleFromFilename && meta.Title == "" && filename != "" {
|
||||||
base := filepath.Base(filename)
|
setTitleFromFilename(meta, filename)
|
||||||
meta.Title = strings.TrimSuffix(base, filepath.Ext(base))
|
|
||||||
}
|
}
|
||||||
if spaceFromCli != "" && meta.Space == "" {
|
if spaceFromCli != "" && meta.Space == "" {
|
||||||
meta.Space = spaceFromCli
|
meta.Space = spaceFromCli
|
||||||
@ -192,6 +191,11 @@ func ExtractMeta(data []byte, spaceFromCli string, titleFromH1 bool, titleFromFi
|
|||||||
return meta, data[offset:], nil
|
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
|
// ExtractDocumentLeadingH1 will extract leading H1 heading
|
||||||
func ExtractDocumentLeadingH1(markdown []byte) string {
|
func ExtractDocumentLeadingH1(markdown []byte) string {
|
||||||
h1 := regexp.MustCompile(`#[^#]\s*(.*)\s*\n`)
|
h1 := regexp.MustCompile(`#[^#]\s*(.*)\s*\n`)
|
||||||
|
@ -28,3 +28,11 @@ func TestExtractDocumentLeadingH1(t *testing.T) {
|
|||||||
|
|
||||||
assert.Equal(t, "a", actual)
|
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)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user