mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
source: Make ContentBaseName() return the directory for branch bundles
Fixes #9112
This commit is contained in:
parent
04a3b45db4
commit
30aba7fb09
2 changed files with 12 additions and 5 deletions
|
@ -50,6 +50,8 @@ func TestNewContent(t *testing.T) {
|
||||||
{"No archetype", "", "sample-3.md", []string{`title: "Sample 3"`}}, // no archetype
|
{"No archetype", "", "sample-3.md", []string{`title: "Sample 3"`}}, // no archetype
|
||||||
{"Empty archetype", "product", "product/sample-4.md", []string{`title = "SAMPLE-4"`}}, // empty archetype front matter
|
{"Empty archetype", "product", "product/sample-4.md", []string{`title = "SAMPLE-4"`}}, // empty archetype front matter
|
||||||
{"Filenames", "filenames", "content/mypage/index.md", []string{"title = \"INDEX\"\n+++\n\n\nContentBaseName: mypage"}},
|
{"Filenames", "filenames", "content/mypage/index.md", []string{"title = \"INDEX\"\n+++\n\n\nContentBaseName: mypage"}},
|
||||||
|
{"Branch Name", "name", "content/tags/tag-a/_index.md", []string{"+++\ntitle = 'Tag A'\n+++"}},
|
||||||
|
|
||||||
{"Lang 1", "lang", "post/lang-1.md", []string{`Site Lang: en|Name: Lang 1|i18n: Hugo Rocks!`}},
|
{"Lang 1", "lang", "post/lang-1.md", []string{`Site Lang: en|Name: Lang 1|i18n: Hugo Rocks!`}},
|
||||||
{"Lang 2", "lang", "post/lang-2.en.md", []string{`Site Lang: en|Name: Lang 2|i18n: Hugo Rocks!`}},
|
{"Lang 2", "lang", "post/lang-2.en.md", []string{`Site Lang: en|Name: Lang 2|i18n: Hugo Rocks!`}},
|
||||||
{"Lang nn file", "lang", "content/post/lang-3.nn.md", []string{`Site Lang: nn|Name: Lang 3|i18n: Hugo Rokkar!`}},
|
{"Lang nn file", "lang", "content/post/lang-3.nn.md", []string{`Site Lang: nn|Name: Lang 3|i18n: Hugo Rokkar!`}},
|
||||||
|
@ -274,6 +276,12 @@ title: Test
|
||||||
path: filepath.Join("archetypes", "post.org"),
|
path: filepath.Join("archetypes", "post.org"),
|
||||||
content: "#+title: {{ .BaseFileName | upper }}",
|
content: "#+title: {{ .BaseFileName | upper }}",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: filepath.Join("archetypes", "name.md"),
|
||||||
|
content: `+++
|
||||||
|
title = '{{ replace .Name "-" " " | title }}'
|
||||||
|
+++`,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: filepath.Join("archetypes", "product.md"),
|
path: filepath.Join("archetypes", "product.md"),
|
||||||
content: `+++
|
content: `+++
|
||||||
|
|
|
@ -120,7 +120,7 @@ type FileInfo struct {
|
||||||
translationBaseName string
|
translationBaseName string
|
||||||
contentBaseName string
|
contentBaseName string
|
||||||
section string
|
section string
|
||||||
isLeafBundle bool
|
classifier files.ContentClass
|
||||||
|
|
||||||
uniqueID string
|
uniqueID string
|
||||||
|
|
||||||
|
@ -199,12 +199,12 @@ func (fi *FileInfo) init() {
|
||||||
relDir := strings.Trim(fi.relDir, helpers.FilePathSeparator)
|
relDir := strings.Trim(fi.relDir, helpers.FilePathSeparator)
|
||||||
parts := strings.Split(relDir, helpers.FilePathSeparator)
|
parts := strings.Split(relDir, helpers.FilePathSeparator)
|
||||||
var section string
|
var section string
|
||||||
if (!fi.isLeafBundle && len(parts) == 1) || len(parts) > 1 {
|
if (fi.classifier != files.ContentClassLeaf && len(parts) == 1) || len(parts) > 1 {
|
||||||
section = parts[0]
|
section = parts[0]
|
||||||
}
|
}
|
||||||
fi.section = section
|
fi.section = section
|
||||||
|
|
||||||
if fi.isLeafBundle && len(parts) > 0 {
|
if fi.classifier.IsBundle() && len(parts) > 0 {
|
||||||
fi.contentBaseName = parts[len(parts)-1]
|
fi.contentBaseName = parts[len(parts)-1]
|
||||||
} else {
|
} else {
|
||||||
fi.contentBaseName = fi.translationBaseName
|
fi.contentBaseName = fi.translationBaseName
|
||||||
|
@ -238,7 +238,6 @@ func (sp *SourceSpec) NewFileInfo(fi hugofs.FileMetaInfo) (*FileInfo, error) {
|
||||||
|
|
||||||
filename := m.Filename
|
filename := m.Filename
|
||||||
relPath := m.Path
|
relPath := m.Path
|
||||||
isLeafBundle := m.Classifier == files.ContentClassLeaf
|
|
||||||
|
|
||||||
if relPath == "" {
|
if relPath == "" {
|
||||||
return nil, errors.Errorf("no Path provided by %v (%T)", m, m.Fs)
|
return nil, errors.Errorf("no Path provided by %v (%T)", m, m.Fs)
|
||||||
|
@ -287,7 +286,7 @@ func (sp *SourceSpec) NewFileInfo(fi hugofs.FileMetaInfo) (*FileInfo, error) {
|
||||||
name: name,
|
name: name,
|
||||||
baseName: baseName, // BaseFileName()
|
baseName: baseName, // BaseFileName()
|
||||||
translationBaseName: translationBaseName,
|
translationBaseName: translationBaseName,
|
||||||
isLeafBundle: isLeafBundle,
|
classifier: m.Classifier,
|
||||||
}
|
}
|
||||||
|
|
||||||
return f, nil
|
return f, nil
|
||||||
|
|
Loading…
Reference in a new issue