Exemple #1
0
        private IEnumerable <Entities.ContentItem> GetContentItems(String path)
        {
            var fileSystem = _serviceProvider.GetService <IFile>();
            var directory  = _serviceProvider.GetService <IDirectory>();

            var results = new List <Entities.ContentItem>();
            var files   = directory.EnumerateFiles(path);

            foreach (var file in files.Where(f => f.ToUpperInvariant().EndsWith(".MD", StringComparison.InvariantCulture)))
            {
                var contentText = fileSystem.ReadAllText(file);
                var categories  = this.GetCategories();
                Entities.ContentItem contentItem = null;
                try
                {
                    contentItem = contentText.ParseContentItem(categories, this.MarkdownPipeline);
                }
                catch (Exception ex)
                {
                    string message = $"Unable to parse a ContentItem from '{file}'\r\n\r\n{contentText}";
                    throw new InvalidOperationException(message, ex);
                }

                if (contentItem.IsNotNull())
                {
                    results.Add(contentItem);
                }
            }

            return(results);
        }
 public ContentItemFileBuilder(Entities.ContentItem item, IEnumerable <Category> categories)
 {
     this.Id(item.Id);
     this.Author(item.Author);
     this.Title(item.Title);
     this.Description(item.Description);
     this.Content(item.Content);
     this.IsPublished(item.IsPublished);
     this.ShowInList(item.ShowInList);
     this.PublicationDate(item.PublicationDate);
     this.LastModificationDate(item.LastModificationDate);
     this.Slug(item.Slug);
     this.Tags(item.Tags);
     this.CategoryIds(item.CategoryIds, categories);
     this.MenuOrder(item.MenuOrder);
 }