diff --git a/src/Elastic.Documentation.Configuration/Toc/DocumentationSetFile.cs b/src/Elastic.Documentation.Configuration/Toc/DocumentationSetFile.cs index f29db26c9..232dfbc83 100644 --- a/src/Elastic.Documentation.Configuration/Toc/DocumentationSetFile.cs +++ b/src/Elastic.Documentation.Configuration/Toc/DocumentationSetFile.cs @@ -860,6 +860,16 @@ static void CollectExcluded(IReadOnlyCollection items, Has foreach (var file in contentFiles) { var group = fileGroups[file]; + + // If listing: frontmatter is absent, infer the group from the parent directory + // when that directory is a known group folder (has a group index file). + if (string.IsNullOrEmpty(group) && file.Directory is not null) + { + var parentRel = Path.GetRelativePath(listingDirAbsolute, file.Directory.FullName).Replace('\\', '/'); + if (groupIndexFiles.ContainsKey(parentRel)) + group = parentRel; + } + if (!string.IsNullOrEmpty(group)) { if (!groupedFiles.ContainsKey(group))