private void GenerateFiles(string docsDirectory, string output) { DirectoryInfo docsDirectoryInfo = new DirectoryInfo(docsDirectory); if (docsDirectoryInfo.Attributes != FileAttributes.Directory) { Console.WriteLine("{0} is not a directory", docsDirectory); return; } foreach (FileSystemInfo docs in docsDirectoryInfo.GetFileSystemInfos()) { if (docs.Extension != ".md") { continue; } var fileName = docs.Name.Replace(docs.Extension, ""); var content = File.ReadAllText(docs.FullName); var docInfo = DocParser.ParseDocs(content); var json = JsonSerializer.Serialize(new DocsFile { Order = docInfo.order, Title = docInfo.title, Html = docInfo.html }, new JsonSerializerOptions() { WriteIndented = true, IgnoreNullValues = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }); var configFileDirectory = Path.Combine(Directory.GetCurrentDirectory(), output); if (!Directory.Exists(configFileDirectory)) { Directory.CreateDirectory(configFileDirectory); } var configFilePath = Path.Combine(configFileDirectory, $"{fileName}.json"); if (File.Exists(configFilePath)) { File.Delete(configFilePath); } File.WriteAllText(configFilePath, json); Console.WriteLine("Generate demo file to {0}", configFilePath); } }