コード例 #1
0
ファイル: FeedProvisionEndpoint.cs プロジェクト: flq/Rf.Sites
 public FeedProvisionEndpoint(IRepository<Content> contents, IUrlRegistry registry, ServerVariables vars, PaginationSettings pagination, SiteSettings site)
 {
     _contents = contents;
     _itemsToTake = pagination.ItemsPerFeed;
     _feedSetup = new FeedSetup
                      {
                          SiteMasterName = site.SiteAuthor,
                          Title = site.SiteTitle,
                          CopyrightNotice = site.SiteCopyright,
                          UrlTemplate = registry.BuildAbsoluteUrlTemplate(vars, r => r.TemplateFor(new ContentId()))
                      };
 }
コード例 #2
0
ファイル: FeedModel.cs プロジェクト: flq/Rf.Sites
        public FeedModel(FeedSetup feedSetup)
        {
            var items = feedSetup.Content
              .Select(vm =>
                new SyndicationItem(vm.Title, vm.Teaser, new Uri(feedSetup.UrlTemplate.Replace("{Id}", vm.Id.ToString())))
                {
                    Id = vm.Id.ToString(),
                    LastUpdatedTime = new DateTimeOffset(vm.Created)
                });

            var lastUpdate = feedSetup.Content.Max(vm => vm.Created);
            
            _feed = new SyndicationFeed(items)
            {
                Id = feedSetup.FeedId,
                Title = new TextSyndicationContent(feedSetup.Title, TextSyndicationContentKind.Plaintext),
                LastUpdatedTime = new DateTimeOffset(lastUpdate),
            };
            _feed.Authors.Add(new SyndicationPerson(null, feedSetup.SiteMasterName, null));
            _feed.Copyright = new TextSyndicationContent(feedSetup.CopyrightNotice);
            _feedTypeToGenerate = feedSetup.FeedType;
        }