yaml array support

This commit is contained in:
Mike Phares 2023-07-21 22:40:04 -07:00
parent 23e45671c3
commit a18fb1e756

View File

@ -10,20 +10,41 @@ internal abstract class MarkDown
// ...
internal static List<string> GetFrontMatterLines(long ticks, string fullName, string lowerHyphenFullName, Models.GenealogicalDataCommunication genealogicalDataCommunication)
private static List<string> GetFrontMatterLines(string[] parsedLines)
{
List<string> results = new();
string afterTrim;
string[] segments;
string[] jsonLines = genealogicalDataCommunication.ToString().Split(Environment.NewLine);
foreach (string jsonLine in jsonLines)
StringBuilder stringBuilder = new();
for (int i = 0; i < parsedLines.Length; i++)
{
afterTrim = jsonLine.Trim();
afterTrim = parsedLines[i].Trim();
if (string.IsNullOrEmpty(afterTrim) || afterTrim.First() is '{' or '}')
continue;
segments = afterTrim.Split(": ");
if (segments.Length != 2)
{
if (results.Last()[^1] == '[')
{
_ = stringBuilder.Clear();
_ = stringBuilder.Append(results.Last());
results.RemoveAt(results.Count - 1);
for (int j = i; j < parsedLines.Length; j++)
{
i = j;
afterTrim = parsedLines[j].Trim();
if (afterTrim != "],")
_ = stringBuilder.Append(afterTrim);
else
_ = stringBuilder.Append(afterTrim[..^1]);
if (afterTrim is "]" or "],")
{
results.Add(stringBuilder.ToString());
break;
}
}
continue;
}
results.Clear();
break;
}
@ -32,6 +53,14 @@ internal abstract class MarkDown
else
results.Add(afterTrim[1..^1].Replace("\": ", ": "));
}
return results;
}
internal static List<string> GetFrontMatterLines(long ticks, string fullName, string lowerHyphenFullName, Models.GenealogicalDataCommunication genealogicalDataCommunication)
{
List<string> results;
string[] parsedLines = genealogicalDataCommunication.ToString().Split(Environment.NewLine);
results = GetFrontMatterLines(parsedLines);
if (results.Any())
{
DateTime dateTime = new DateTime(ticks).ToUniversalTime();