Example #1
0
        private MetaContent BuildMetaContent(string file)
        {
            MetaContent metaContent;
            var         content = File.ReadAllText(file);
            var         isPage  = file.Contains(Paths.PagesPath);

            Trace.TraceInformation("Reading file {0}", file);
            if (isPage)
            {
                var parsed = pageParser.ParsePage(content);
                metaContent = new MetaContent(file)
                {
                    Page = parsed
                };
                metaContent.Page.Url = metaContent.GetTargetFileName(Paths).Replace(Paths.OutputPath, "").Replace('\\', '/');
            }
            else
            {
                var parsed = pageParser.ParsePost(content);
                metaContent = new MetaContent(file)
                {
                    Post = parsed
                };
                metaContent.Post.Url = metaContent.GetTargetFileName(Paths).Replace(Paths.OutputPath, "").Replace('\\', '/');
            }
            return(metaContent);
        }
Example #2
0
        public void Should_throw_invalidpageexception()
        {
            const string data   = "invalid yaml front matter";
            var          parser = new ContentParser();

            Assert.Throws <InvalidPageException>(() => parser.ParsePage(data));
        }
Example #3
0
        public void Should_throw_invalidpageexception_when_having_empty_lines()
        {
            var sampleData = "---" + Environment.NewLine +
                             " " + Environment.NewLine +
                             "title: Test" + Environment.NewLine +
                             "---";
            var parser = new ContentParser();

            Assert.Throws <InvalidPageException>(() => parser.ParsePage(sampleData));
        }
Example #4
0
        public void Can_parse_content()
        {
            var page = parser.ParsePage(sample.Text);

            page.Title
            .Should()
            .BeEquivalentTo(sample.Title);

            page.Date
            .Should()
            .Be(sample.Date);

            page.Tags
            .ShouldAllBeEquivalentTo(sample.Tags);

            page.Content
            .Should()
            .BeEquivalentTo(sample.Content);
        }