public IEnumerable <ContribDocument> Run() { var contribEntries = zingzeudata.ZingzeuData.Parser.ParseContrib.GetContribEntries(contribPath); var results = new List <ContribDocument>(); for (var i = 0; i < contribEntries.Count; ++i) { var entry = contribEntries[i]; var tmp = new ContribDocument { Hanzi = entry.Hanzi.Replace("*", ""), YngpingUnderlying = entry.PronUnderlying, YngpingSandhi = entry.PronSandhi, ExplanationRaw = entry.ExplanationRaw, ExplanationStructured = SafeParseExplanation(entry.ExplanationRaw), Contributors = { entry.Contributors } }; if (string.IsNullOrEmpty(entry.ZingzeuId)) { tmp.RowNumber = i + 1; } else { tmp.ZingzeuId = entry.ZingzeuId; } results.Add(tmp); } return(results); }
public RichTextNode ToRichTextNode(ContribDocument doc) { var output = new RichTextNode() { VerticalContainer = new RichTextNode.Types.VerticalContainerNode() { Children = { SectionHeader(doc.Hanzi, RenderSourcePronunciations(doc.YngpingUnderlying, doc.YngpingSandhi)), } } }; if (doc.ExplanationStructured != null) { output.VerticalContainer.Children.Add(explanationRenderer.ToRichTextNode(doc.ExplanationStructured, doc.Hanzi)); } else { output.VerticalContainer.Children.Add(SimpleText(zc.tH(doc.ExplanationRaw))); } output.VerticalContainer.Children.Add( Source(zc.tM("此释义来自网友贡献。 贡献者: " + string.Join(",", doc.Contributors))) ); return(output); }