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();
|
List<string> results = new();
|
||||||
string afterTrim;
|
string afterTrim;
|
||||||
string[] segments;
|
string[] segments;
|
||||||
string[] jsonLines = genealogicalDataCommunication.ToString().Split(Environment.NewLine);
|
StringBuilder stringBuilder = new();
|
||||||
foreach (string jsonLine in jsonLines)
|
for (int i = 0; i < parsedLines.Length; i++)
|
||||||
{
|
{
|
||||||
afterTrim = jsonLine.Trim();
|
afterTrim = parsedLines[i].Trim();
|
||||||
if (string.IsNullOrEmpty(afterTrim) || afterTrim.First() is '{' or '}')
|
if (string.IsNullOrEmpty(afterTrim) || afterTrim.First() is '{' or '}')
|
||||||
continue;
|
continue;
|
||||||
segments = afterTrim.Split(": ");
|
segments = afterTrim.Split(": ");
|
||||||
if (segments.Length != 2)
|
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();
|
results.Clear();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -32,6 +53,14 @@ internal abstract class MarkDown
|
|||||||
else
|
else
|
||||||
results.Add(afterTrim[1..^1].Replace("\": ", ": "));
|
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())
|
if (results.Any())
|
||||||
{
|
{
|
||||||
DateTime dateTime = new DateTime(ticks).ToUniversalTime();
|
DateTime dateTime = new DateTime(ticks).ToUniversalTime();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user