public ITemplateDefinition AddHeadLine(string html)
 {
     HeadActions.Add(r =>
     {
         r.Html.Write(html);
         r.Html.WriteLine();
     });
     return(this);
 }
        public ITemplateDefinition AddTemplate(string templatePath)
        {
            _nameManager.AddResolutionHandler(NameResolutionPhase.ResolveElementReferences, nm =>
            {
                AddConsumerNeeds(nm.ResolveTemplate(templatePath) as IDataConsumer);
            });

            HeadActions.Add(r =>
            {
                var t = _nameManager.ResolveTemplate(templatePath);
                if (t != null)
                {
                    t.WritePageArea(r, PageArea.Head);
                }
            });

            ScriptActions.Add(r =>
            {
                var t = _nameManager.ResolveTemplate(templatePath);
                if (t != null)
                {
                    t.WritePageArea(r, PageArea.Scripts);
                }
            });

            StyleActions.Add(r =>
            {
                var t = _nameManager.ResolveTemplate(templatePath);
                if (t != null)
                {
                    t.WritePageArea(r, PageArea.Styles);
                }
            });

            BodyActions.Add(r =>
            {
                var t = _nameManager.ResolveTemplate(templatePath);
                if (t != null)
                {
                    t.WritePageArea(r, PageArea.Body);
                }
            });

            InitializationActions.Add(r =>
            {
                var t = _nameManager.ResolveTemplate(templatePath);
                if (t != null)
                {
                    t.WritePageArea(r, PageArea.Initialization);
                }
            });

            return(this);
        }
        public ITemplateDefinition AddTemplate(ITemplate template)
        {
            HeadActions.Add(r => template.WritePageArea(r, PageArea.Head));
            ScriptActions.Add(r => template.WritePageArea(r, PageArea.Scripts));
            StyleActions.Add(r => template.WritePageArea(r, PageArea.Styles));
            BodyActions.Add(r => template.WritePageArea(r, PageArea.Body));
            InitializationActions.Add(r => template.WritePageArea(r, PageArea.Initialization));

            AddConsumerNeeds(template as IDataConsumer);

            return(this);
        }