public IEnumerable<string> Articles()
        {
            var articleEvaluators = new List<IRouteEvaluator>
            {
                new EnsureThatRouteContainMarkupDocument()
            };

            var routeReader = new RouteReader(articleEvaluators);
            var routes = routeReader.Routes(_rootPath, transformToRoutes:false);

            return routes;
        }
        public void Setup()
        {
            var blackList = new List<string> { @"views"};
            _rootPath = new TestRootPathProvider().GetRootPath() + "/views";

            var staticEvaluators = new List<IRouteEvaluator>
            {
                new EnsureThatDocumentIsValidMarkdown(),
                new EnsureThatRouteContainMarkupDocument(),
                new EnsureThatRouteDoesNotContainNumbers(),
                new EnsureThatRouteIsNotBlackListed(blackList)
            };

            _sut = new RouteReader(staticEvaluators);
        }
        public IEnumerable<string> StaticRoutes()
        {
            if (_staticRoutes.Any()) return _staticRoutes;

            var staticEvaluators = new List<IRouteEvaluator>
            {
                new EnsureThatRouteIsNotBlackListed(_blackListedRoutes),
                new EnsureThatRouteDoesNotContainNumbers(),
                new EnsureThatRouteContainMarkupDocument(),
                new EnsureThatDocumentIsValidMarkdown()
            };

            var routeReader = new RouteReader(staticEvaluators);
            _staticRoutes = routeReader.Routes(_rootPath);

            return _staticRoutes;
        }
        public IEnumerable<string> DateRoutes()
        {
            if (_dateRoutes.Any()) return _dateRoutes;

            var dateEvaluators = new List<IRouteEvaluator>
            {
                new EnsureThatRouteIsNotBlackListed(_blackListedRoutes),
                new EnsureThatRouteContainDateParts(),
                new EnsureThatRouteContainMarkupDocument(),
                new EnsureThatDocumentIsValidMarkdown()
            };

            var routeReader = new RouteReader(dateEvaluators);
            _dateRoutes = routeReader.Routes(_rootPath);

            return _dateRoutes;
        }
 public string PathToResource(string path)
 {
     var routeReader = new RouteReader(null);
     return routeReader.TransformToResource(_rootPath, path);
 }