コード例 #1
0
        public dynamic GetAsDynamic(bool selfRender)
        {
            var now = DateTime.Now;

            dynamic data = new CaseInsenstiveExpando();

            this.Metadata.Assign(data as IDictionary <string, object>);

            data.Author             = this.Author;
            data.Modified           = this.Modified;
            data.OutputPath         = this.OutputPath;
            data.RelativePath       = this.RelativePath;
            data.SourcePath         = this.SourcePath;
            data.Url                = this.Url;
            data.RootUrl            = this.RootUrl;
            data.FullUrl            = this.RootUrl.EnsureEndsWith("/") + this.Url.TrimStart('/');
            data.Draft              = this.Draft;
            data.Date               = this.Date;
            data.DateUtc            = this.Date.ToUniversalTime();
            data.FriendlyDate       = this.Date.ToString("D");
            data.StandardUtcDate    = this.Date.ToUniversalTime().ToString("yyyy-MM-ddThh:mm:ssZ");
            data.Now                = now;
            data.NowUtc             = now.ToUniversalTime();
            data.NowFriendlyDate    = now.ToString("D");
            data.NowStandardUtcDate = now.ToUniversalTime().ToString("yyyy-MM-ddThh:mm:ssZ");
            data.Content            = selfRender ? null : this.Content;
            data.Summary            = selfRender ? null : this.Summary;

            return(data);
        }
コード例 #2
0
ファイル: Paginator.cs プロジェクト: Jaykul/tinysite
        public dynamic GetAsDynamic()
        {
            dynamic data = new CaseInsenstiveExpando();

            data.Posts      = this.Posts;
            data.Pagination = Pagination;

            return(data);
        }
コード例 #3
0
        private string RenderContentForExtension(bool renderingSelf, string extension, string template, LayoutFile layout, Paginator paginator)
        {
            var engine = RenderingTransaction.Current.Engines[extension];

            dynamic data = new CaseInsenstiveExpando();

            data.Site      = RenderingTransaction.Current.Site.GetAsDynamic();
            data.Layout    = layout.GetAsDynamic();
            data.Document  = this.GetAsDynamic(renderingSelf);
            data.Paginator = paginator == null ? null : paginator.GetAsDynamic();

            return(engine.Render(template, data));
        }
コード例 #4
0
ファイル: LayoutFile.cs プロジェクト: Jaykul/tinysite
        public dynamic GetAsDynamic()
        {
            dynamic data = new CaseInsenstiveExpando();

            this.Metadata.Assign(data as IDictionary <string, object>);

            data.Id       = this.Id;
            data.Modified = this.Modified;
            data.Path     = this.SourcePath;
            data.Name     = Path.GetFileName(this.SourcePath);
            data.Content  = this.Content;

            return(data);
        }
コード例 #5
0
        public dynamic GetAsDynamic()
        {
            dynamic data = new CaseInsenstiveExpando();

            this.Metadata.Assign(data as IDictionary <string, object>);

            data.Author       = this.Author;
            data.Output       = this.OutputPath;
            data.Url          = this.Url;
            data.RootUrl      = this.RootUrl;
            data.FullUrl      = this.RootUrl.EnsureEndsWith("/") + this.Url.TrimStart('/');
            data.Parent       = this.Parent;
            data.TimeZoneInfo = this.TimeZone;
            return(data);
        }