예제 #1
0
 private void ValidateHelpMarkdown(string helpFolder, IList <string> helpRecords, ReportLogger <HelpIssue> helpLogger)
 {
     foreach (var helpMarkdown in helpRecords)
     {
         var file    = Path.Combine(helpFolder, helpMarkdown + ".md");
         var content = File.ReadAllText(file);
         try
         {
             var parser        = new MarkdownParser();
             var transformer   = new ModelTransformerVersion2();
             var markdownModel = parser.ParseString(new[] { content });
             var model         = transformer.NodeModelToMamlModel(markdownModel).FirstOrDefault();
         }
         catch (Exception ex)
         {
             HelpIssue issue = new HelpIssue
             {
                 Target      = helpMarkdown,
                 Severity    = 1,
                 ProblemId   = PlatyPSSchemaViolation,
                 Description = "Help content doesn't conform to PlatyPS Schema definition",
                 Remediation = string.Format("No.")
             };
             helpLogger.LogRecord(issue);
             Console.Error.WriteLine($"Failed to parse {file} by PlatyPS, {ex.Message}");
         }
     }
 }
예제 #2
0
        /// <summary>
        /// This is a helper method to do all 3 steps.
        /// </summary>
        /// <param name="markdown"></param>
        /// <returns></returns>
        public static string MarkdownStringToMamlString(string markdown)
        {
            var parser      = new MarkdownParser();
            var transformer = new ModelTransformerVersion2();
            var renderer    = new MamlRenderer();

            var    markdownModel = parser.ParseString(new string[] { markdown });
            var    mamlModel     = transformer.NodeModelToMamlModel(markdownModel);
            string maml          = renderer.MamlModelToString(mamlModel);

            return(maml);
        }
예제 #3
0
        private string MarkdownStringToMarkdownString(string markdown, ParserMode parserMode)
        {
            // Parse
            var parser        = new MarkdownParser();
            var markdownModel = parser.ParseString(new string[] { markdown }, ParserMode.FormattingPreserve, null);

            // Convert model to Maml
            var transformer = new ModelTransformerVersion2();
            var mamlModel   = transformer.NodeModelToMamlModel(markdownModel).FirstOrDefault();

            // Render as markdown
            var renderer = new MarkdownV2Renderer(parserMode);

            return(renderer.MamlModelToString(mamlModel, true));
        }