blob: 14df9e669b18abcef518554faf3cc1be7a1a51ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// Copyright 2009-2022 Josh Close
// This file is a part of CsvHelper and is dual licensed under MS-PL and Apache 2.0.
// See LICENSE.txt for details or visit http://www.opensource.org/licenses/ms-pl.html for MS-PL and http://opensource.org/licenses/Apache-2.0 for Apache 2.0.
// https://github.com/JoshClose/CsvHelper
using Statiq.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CsvHelper.Website
{
public class TocItem
{
public string Title { get; set; }
public string Link { get; set; }
public List<TocItem> Children { get; set; } = new List<TocItem>();
public static TocItem Create(IMetadataDictionary data)
{
var tocItem = new TocItem()
{
Title = data.Get<string>("title"),
Link = data.Get<string>("link"),
};
if (data.ContainsKey("children"))
{
tocItem.Children = Create(data.GetList<IMetadataDictionary>("children"));
}
return tocItem;
}
public static List<TocItem> Create(IEnumerable<IMetadataDictionary> objects, TocItem parent = null) => objects?.Select(Create).ToList() ?? new List<TocItem>();
}
}
|