Beispiel #1
0
		public Course LoadCourse(DirectoryInfo dir)
		{
			var courseId = dir.Name;

			dir = dir.HasSubdirectory("Slides") ? dir.Subdirectory("Slides") : dir;
			var settings = CourseSettings.Load(dir);
			var slides = LoadSlides(dir, settings).ToArray();
			CheckDuplicateSlideIds(slides);
			var notes = LoadInstructorNotes(dir, courseId);
			var title = settings.Title ?? GetTitle(dir);
			return new Course(courseId, title, slides, notes, settings, dir);
		}
        private void MoveFiles(DirectoryInfo source, DirectoryInfo destination)
        {
            foreach (var file in source.GetFiles())
            {
                if (this.reservedFiles.Contains(file.Name))
                    continue;

                FileInfo destinationFile = file.Rebase(destination);

                if (destinationFile.Exists)
                {
                    destinationFile.Delete();
                    this.logger.Info("Replaced file {0}", file.Name);
                }

                file.MoveTo(destinationFile.FullName);
            }

            foreach (var dir in source.GetDirectories())
            {
                DirectoryInfo destinationDir = destination.Subdirectory(dir.Name);

                if (!destinationDir.Exists)
                {
                    destinationDir.Create();
                    this.logger.Info("Created directory {0}.", destinationDir);
                }

                this.MoveFiles(dir, destinationDir);
            }
        }
Beispiel #3
0
 public static Node BuildSiteMap(DirectoryInfo rootPath, dynamic globalSettings)
 {
     // Process Pages
       return ProcessPages(rootPath.Subdirectory(Constants.PAGES), globalSettings);
 }