Ejemplo n.º 1
0
        private ViewFolder <T> buildFolder(string path)
        {
            var views = ViewEngineSettings.FileSystem.FindFiles(path, _match).Select(x => new FubuFile(x, Provenance)
            {
                ProvenancePath = _content.Path
            })
                        .Select(_builder).Where(x => !_settings.IsExcluded(x));

            var folder = new ViewFolder <T>(path)
            {
                IsShared = _settings.IsSharedFolder(path)
            };

            folder.RelativePath = string.Empty;
            folder.Views.AddRange(views);

            _folders.Add(folder);


            ViewEngineSettings.FileSystem.ChildDirectoriesFor(path).Where(x => !_settings.FolderShouldBeIgnored(x)).Each(child =>
            {
                var childFolder          = buildFolder(child);
                childFolder.Parent       = folder;
                childFolder.RelativePath = (folder.RelativePath + "/" + childFolder.Name).TrimStart('/');

                if (childFolder.IsShared)
                {
                    folder.LayoutFolders.Add(childFolder);
                }
            });

            return(folder);
        }
Ejemplo n.º 2
0
        public void should_ignore_folders()
        {
            var settings = new ViewEngineSettings();
            settings.FolderShouldBeIgnored("/foo/fubu-content/").ShouldBeTrue();
            settings.FolderShouldBeIgnored("/foo/fubu-content").ShouldBeTrue();
            settings.FolderShouldBeIgnored("fubu-content").ShouldBeTrue();
            settings.FolderShouldBeIgnored("bin").ShouldBeTrue();
            settings.FolderShouldBeIgnored("obj").ShouldBeTrue();
            settings.FolderShouldBeIgnored("node_modules").ShouldBeTrue();
            settings.FolderShouldBeIgnored("node_modules/").ShouldBeTrue();
            settings.FolderShouldBeIgnored("/foo/node_modules/").ShouldBeTrue();
            settings.FolderShouldBeIgnored("/foo/bar/node_modules/").ShouldBeTrue();

            settings.FolderShouldBeIgnored("ok").ShouldBeFalse();
            settings.FolderShouldBeIgnored("ok/").ShouldBeFalse();
            settings.FolderShouldBeIgnored("/ok").ShouldBeFalse();
            settings.FolderShouldBeIgnored("/ok/good/alright").ShouldBeFalse();
        }
Ejemplo n.º 3
0
        public void should_ignore_folders()
        {
            var settings = new ViewEngineSettings();

            settings.FolderShouldBeIgnored("/foo/fubu-content/").ShouldBeTrue();
            settings.FolderShouldBeIgnored("/foo/fubu-content").ShouldBeTrue();
            settings.FolderShouldBeIgnored("fubu-content").ShouldBeTrue();
            settings.FolderShouldBeIgnored("bin").ShouldBeTrue();
            settings.FolderShouldBeIgnored("obj").ShouldBeTrue();
            settings.FolderShouldBeIgnored("node_modules").ShouldBeTrue();
            settings.FolderShouldBeIgnored("node_modules/").ShouldBeTrue();
            settings.FolderShouldBeIgnored("/foo/node_modules/").ShouldBeTrue();
            settings.FolderShouldBeIgnored("/foo/bar/node_modules/").ShouldBeTrue();

            settings.FolderShouldBeIgnored("ok").ShouldBeFalse();
            settings.FolderShouldBeIgnored("ok/").ShouldBeFalse();
            settings.FolderShouldBeIgnored("/ok").ShouldBeFalse();
            settings.FolderShouldBeIgnored("/ok/good/alright").ShouldBeFalse();
        }