yaml array support
This commit is contained in:
parent
23e45671c3
commit
a18fb1e756
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user