private MarkdownPageModel MakeMarkDownViewModel(string mdroute)
        {
            FullPathCleaner cleaner   = new FullPathCleaner(s => Server.MapPath(s));
            string          localPath = this.PathHelper.ConvertMdUriToLocalPath(mdroute, s => cleaner.CleanPath(s));

            if (!System.IO.File.Exists(localPath))
            {
                throw new FileNotFoundException(string.Format("Markdown file not found at [{0}]", localPath));
            }

            string md = this.ContentRepo.GetContentFor(new Uri(localPath));

            MarkdownPageModel pm = new MarkdownPageModel {
                FaintingGoatWebTitle = this.GetTitle(),
                HtmlToRender         = this.MarkdownToHtml.ConvertToHtml(md),
                HeaderHtml           = this.GetHeaderHtml(),
                FooterHtml           = this.GetFooterHtml()
            };

            return(pm);
        }
        private MarkdownPageModel MakeMarkDownViewModelFromLocalPath(string localPath)
        {
            if (string.IsNullOrEmpty(localPath))
            {
                throw new ArgumentNullException("localPath");
            }
            if (!System.IO.File.Exists(localPath))
            {
                throw new FileNotFoundException(string.Format("Markdown file not found at [{0}]", localPath));
            }

            string            md = this.ContentRepo.GetContentFor(new Uri(localPath));
            MarkdownPageModel pm = new MarkdownPageModel {
                FaintingGoatWebTitle = this.GetTitle(),
                HtmlToRender         = this.MarkdownToHtml.ConvertToHtml(md),
                HeaderHtml           = this.GetHeaderHtml(),
                FooterHtml           = this.GetFooterHtml()
            };

            return(pm);
        }