예제 #1
0
            public static Fragment Parse(String type, JToken json)
            {
                switch (type)
                {
                case "StructuredText":
                    return(StructuredText.Parse(json));

                case "Image":
                    return(Image.Parse(json));

                case "Link.web":
                    return(WebLink.Parse(json));

                case "Link.document":
                    return(DocumentLink.Parse(json));

                case "Link.file":
                    return(FileLink.Parse(json));

                case "Link.image":
                    return(ImageLink.Parse(json));

                case "Text":
                    return(Text.Parse(json));

                case "Select":
                    return(Text.Parse(json));

                case "Date":
                    return(Date.Parse(json));

                case "Timestamp":
                    return(Timestamp.Parse(json));

                case "Number":
                    return(Number.Parse(json));

                case "Color":
                    return(Color.Parse(json));

                case "Embed":
                    return(Embed.Parse(json));

                case "GeoPoint":
                    return(GeoPoint.Parse(json));

                case "Group":
                    return(Group.Parse(json));

                case "SliceZone":
                    return(SliceZone.Parse(json));

                default:
                    return(json != null?Raw.Parse(json) : null);
                }
            }
예제 #2
0
        public void ShouldGetFirstItemOfCompositeSlices()
        {
            var            document   = Fixtures.GetDocument("composite_slices.json");
            var            resolver   = prismic.DocumentLinkResolver.For(doc => String.Format("http://localhost/{0}/{1}", doc.Type, doc.Id));
            SliceZone      sliceZone  = document.GetSliceZone("page.page_content");
            CompositeSlice firstSlice = (CompositeSlice)sliceZone.Slices[0];
            StructuredText richText   = firstSlice.GetPrimary().GetStructuredText("rich_text");

            Assert.AreEqual("<p>Here is paragraph 1.</p><p>Here is paragraph 2.</p>", richText.AsHtml(resolver));

            CompositeSlice secondSlice = (CompositeSlice)sliceZone.Slices[1];
            String         expectedUrl = "https://prismic-io.s3.amazonaws.com/levi-templeting%2Fdc0bfab3-d222-44a6-82b8-c74f8cdc6a6b_200_s.gif";

            Assert.AreEqual(expectedUrl, secondSlice.GetItems().GroupDocs[0].GetImage("image").GetView("main").Url);
        }