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;
        }
        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;
        }