This commit is contained in:
Mike Phares 2023-07-19 11:01:32 -07:00
parent 2b6e65b730
commit 012cfcfafc

View File

@ -334,14 +334,41 @@ internal static partial class HelperMarkdown
{ {
Dictionary<string, List<MarkdownFile>> results = new(); Dictionary<string, List<MarkdownFile>> results = new();
List<MarkdownFile>? markdownFiles; List<MarkdownFile>? markdownFiles;
string fileNameWithoutExtension;
foreach ((MarkdownFile markdownFile, _) in collection) foreach ((MarkdownFile markdownFile, _) in collection)
{ {
fileNameWithoutExtension = markdownFile.FileNameWithoutExtension.ToLower();
if (!results.TryGetValue(markdownFile.FileNameWithoutExtension, out markdownFiles)) if (!results.TryGetValue(markdownFile.FileNameWithoutExtension, out markdownFiles))
{ {
results.Add(markdownFile.FileNameWithoutExtension, new()); results.Add(markdownFile.FileNameWithoutExtension, new());
if (!results.TryGetValue(markdownFile.FileNameWithoutExtension, out markdownFiles)) if (!results.TryGetValue(markdownFile.FileNameWithoutExtension, out markdownFiles))
throw new NotSupportedException(); throw new NotSupportedException();
} }
if (markdownFiles.Contains(markdownFile))
continue;
markdownFiles.Add(markdownFile);
if (fileNameWithoutExtension == markdownFile.FileNameWithoutExtension)
continue;
if (!results.TryGetValue(fileNameWithoutExtension, out markdownFiles))
{
results.Add(fileNameWithoutExtension, new());
if (!results.TryGetValue(fileNameWithoutExtension, out markdownFiles))
throw new NotSupportedException();
}
if (markdownFiles.Contains(markdownFile))
continue;
markdownFiles.Add(markdownFile);
}
foreach ((MarkdownFile markdownFile, _) in collection)
{
if (!results.TryGetValue(markdownFile.H1, out markdownFiles))
{
results.Add(markdownFile.H1, new());
if (!results.TryGetValue(markdownFile.H1, out markdownFiles))
throw new NotSupportedException();
}
if (markdownFiles.Contains(markdownFile))
continue;
markdownFiles.Add(markdownFile); markdownFiles.Add(markdownFile);
} }
return results; return results;
@ -526,7 +553,7 @@ internal static partial class HelperMarkdown
results.Add((Path.GetRelativePath(markdownFile.Directory, Path.GetFullPath(item.MarkdownFile.File)), item.MarkdownFile.H1)); results.Add((Path.GetRelativePath(markdownFile.Directory, Path.GetFullPath(item.MarkdownFile.File)), item.MarkdownFile.H1));
} }
if (results.Count == 1) if (results.Count == 1)
(relativePath, title) = (results.First().RelativePath, results.First().Title); (relativePath, title) = (results.First().RelativePath.Replace(" ", "%20"), results.First().Title);
else else
{ {
results.Clear(); results.Clear();
@ -538,7 +565,7 @@ internal static partial class HelperMarkdown
results.Add((Path.GetRelativePath(markdownFile.Directory, Path.GetFullPath(item.MarkdownFile.File)), item.MarkdownFile.H1)); results.Add((Path.GetRelativePath(markdownFile.Directory, Path.GetFullPath(item.MarkdownFile.File)), item.MarkdownFile.H1));
} }
if (results.Count == 1) if (results.Count == 1)
(relativePath, title) = (results.First().RelativePath, results.First().Title); (relativePath, title) = (results.First().RelativePath.Replace(" ", "%20"), results.First().Title);
else else
{ {
results.Clear(); results.Clear();
@ -550,9 +577,22 @@ internal static partial class HelperMarkdown
results.Add((Path.GetRelativePath(markdownFile.Directory, Path.GetFullPath(item.MarkdownFile.File)), item.MarkdownFile.H1)); results.Add((Path.GetRelativePath(markdownFile.Directory, Path.GetFullPath(item.MarkdownFile.File)), item.MarkdownFile.H1));
} }
if (results.Count == 1) if (results.Count == 1)
(relativePath, title) = (results.First().RelativePath, results.First().Title); (relativePath, title) = (results.First().RelativePath.Replace(" ", "%20"), results.First().Title);
else else
(relativePath, title) = (null, null); {
results.Clear();
string spaceNaming = fileFullPath.Replace(" ", "%20");
foreach ((MarkdownFile MarkdownFile, string[] Lines) item in collection)
{
if (Path.GetFullPath(item.MarkdownFile.File).ToLower().Replace(" ", "%20") != spaceNaming)
continue;
results.Add((Path.GetRelativePath(markdownFile.Directory, Path.GetFullPath(item.MarkdownFile.File)), item.MarkdownFile.H1));
}
if (results.Count == 1)
(relativePath, title) = (results.First().RelativePath.Replace(" ", "%20"), results.First().Title);
else
(relativePath, title) = (null, null);
}
} }
} }
return (relativePath, title); return (relativePath, title);