예제 #1
0
        public ActionResult SyndicationLists()
        {
            var lists = this.RavenSession.Query<SyndicationList>()
                .ToList();
            var opml = new Opml();
            opml.Title = "Hobi Published Syndication List";
            opml.OwnerName = "hobieu";
            opml.Outlines.AddRange(lists.Select(x =>
            {
                var outline = new Outline();
                outline.Attributes["type"] = "link";
                outline.Attributes["text"] = x.Title;
                outline.Attributes["name"] = x.Name;
                outline.Attributes["url"] = Texts.FromUriHost(Request.Url) + "/s/" + x.Name;
                return outline;
            }));

            var xml = opml.ToXML();
            this.Compress();
            return Content(xml.ToString(), "text/xml");
        }
예제 #2
0
        public ActionResult TabbedRivers()
        {
            var rivers = this.RavenSession.Query<RiverWall>()
                .Where(x => x.Status == RiverWallStatus.Published || x.Status == RiverWallStatus.Draft).ToList();
            var opml = new Opml();
            opml.Title = "Hobi Published Wall List";
            opml.OwnerName = "hobieu";
            opml.Outlines.AddRange(rivers.Select(x =>
            {
                var outline = new Outline();
                outline.Attributes["type"] = "link";
                outline.Attributes["text"] = x.Title;
                outline.Attributes["name"] = x.Name;
                outline.Attributes["url"] = Texts.FromUriHost(Request.Url) + "/r/" + x.Name;
                outline.Attributes["opmlUrl"] = Texts.FromUriHost(Request.Url) + "/r/opml/" + x.Name;
                return outline;
            }));

            var xml = opml.ToXML();
            this.Compress();
            return Content(xml.ToString(), "text/xml");
        }