public void ChangeDocumentLanguage(string language) { MarkdownValidator.LoadForbiddenWords(language); MarkdownCompletionData.BuildHtmlData(language); Settings.Default.DocumentLocale = language; Settings.Default.Save(); }
public ActionResult Post(BuildRequestModel request) { var requestStart = DateTime.UtcNow; if (request == null) { return(BadRequest(new { error = "No build request was detected." })); } if (String.IsNullOrEmpty(request.GitUrl)) { return(BadRequest(new { error = "No Repo URL was received." })); } // See if we can clone the URL provided var localPath = GitCloner.CloneGitRepoToLocalPath(request.GitUrl, request.Branch); // Do some validation on the cloned directory path var validator = new MarkdownValidator(localPath); validator.EnsureDocSet(); validator.ClearExistingIssues(); var result = validator.CheckForBrokenLinks(); Console.WriteLine($"CheckForBrokenLinks returned {result}"); Console.WriteLine($"Detected {validator.Issues.IssuesInCurrentScope} issues in the documentation."); var outputResults = from e in validator.Issues.Issues where e.Code != ApiDoctor.Validation.Error.ValidationErrorCode.Unknown select new { e.Code, e.Message, e.Source }; try { // Delete the localPath since we're all done with that data Console.WriteLine($"Deleting local files in {localPath}."); System.IO.Directory.Delete(localPath, true); } catch (Exception ex) { Console.WriteLine($"Unable to clean up local files: {ex.Message}"); } var requestCompleted = DateTime.UtcNow; var duration = requestCompleted.Subtract(requestStart); return(Ok(new { contentIssues = outputResults, duration = duration, branch = request.Branch, repo = request.GitUrl })); }
public override void Update() { try { var headers = EnumerateHeader(AbstractSyntaxTree); var outline = new Outline(headers); var wordCount = CountWords(AbstractSyntaxTree, Text); Item.WordCount = wordCount; Item.Outline = new OutlineViewModel(outline, JumpTo); foreach (var issue in MarkdownValidator.Validate(AbstractSyntaxTree, Text, Item.Data)) { AbstractSyntaxTree.Document.Issues.Add(issue); } Item.HasValidationErrors = AbstractSyntaxTree.Document.Issues.Any(e => e.Type == IssueType.Error); } catch { Trace.WriteLine("Debounced update failed", "Editor"); } }
public static IEnumerable <Issue> Validate(IWorkspaceItem item) { var text = Encoding.UTF8.GetString(item.Read()); return(MarkdownValidator.Validate(text, item)); }