Ejemplo n.º 1
0
        public RichTextNode ToRichTextNode(FengDocument doc)
        {
            var output = new RichTextNode()
            {
                VerticalContainer = new RichTextNode.Types.VerticalContainerNode()
                {
                    Children =
                    {
                        SectionHeader(zc.tH(doc.HanziOriginal),
                                      RenderSourcePronunciations(
                                          ToFeng(doc.YngpingUnderlyingOriginal),
                                          ToFeng(doc.YngpingCanonicalOriginal))),
                    }
                }
            };

            if (doc.ExplanationStructured != null)
            {
                output.VerticalContainer.Children.Add(explanationRenderer.ToRichTextNode(doc.ExplanationStructured, doc.HanziCanonical));
            }
            else
            {
                output.VerticalContainer.Children.Add(SimpleText(zc.tH(doc.Explanation)));
            }
            output.VerticalContainer.Children.Add(Source(zc.tM($"出处:冯爱珍. 1998. 福州方言词典. 南京: 江苏教育出版社. 第 {doc.Source.PageNumber} 页. 用字可能经过编辑修订.")));
            return(output);
        }
Ejemplo n.º 2
0
        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);
        }
        public RichTextNode ToRichTextNode(string hanzi, string explanation, string?source, IEnumerable <string> contributors)
        {
            var parsed = SafeParseExplanation(explanation);
            var explanationRichText = parsed == null?SimpleText(explanation) : explanationRenderer.ToRichTextNode(parsed, hanzi);

            return(new RichTextNode()
            {
                VerticalContainer = new RichTextNode.Types.VerticalContainerNode()
                {
                    Children =
                    {
                        SectionHeader(hanzi),
                        explanationRichText,
                        Source(source.OrElse("此释义来自网友贡献。") + " 贡献者: " + string.Join(",", contributors))
                    }
                }
            });
        }