private static OverwriteDocumentModel TransformModel(string filePath, YamlHtmlPart part) { if (part == null) { return null; } var properties = part.YamlHeader; string checkPropertyMessage; var checkPropertyStatus = CheckRequiredProperties(properties, RequiredProperties, out checkPropertyMessage); if (!checkPropertyStatus) { throw new InvalidDataException(checkPropertyMessage); } var overriden = RemoveRequiredProperties(properties, RequiredProperties); var repoInfo = GitUtility.GetGitDetail(filePath); return new OverwriteDocumentModel { Uid = properties[Constants.PropertyName.Uid].ToString(), LinkToFiles = part.LinkToFiles.ToImmutableHashSet(), LinkToUids = part.LinkToUids, Metadata = overriden, Conceptual = part.Conceptual, Documentation = new SourceDetail { Remote = repoInfo, StartLine = part.StartLine, EndLine = part.EndLine, Path = part.SourceFile } }; }
private static IEnumerable <YamlHtmlPart> MarkupMultiple(IHostService host, string markdown, FileAndType ft) { try { var html = host.Markup(markdown, ft, true); var parts = YamlHtmlPart.SplitYamlHtml(html); foreach (var part in parts) { var mr = host.Parse(part.ToMarkupResult(), ft); part.Conceptual = mr.Html; part.LinkToFiles = mr.LinkToFiles; part.LinkToUids = mr.LinkToUids; part.YamlHeader = mr.YamlHeader; part.FileLinkSources = mr.FileLinkSources; part.UidLinkSources = mr.UidLinkSources; } return(parts); } catch (Exception ex) { Debug.Fail("Markup failed!"); var message = $"Markup failed: {ex.Message}."; throw new DocumentException(message, ex); } }
private static OverwriteDocumentModel TransformModel(string filePath, YamlHtmlPart part) { if (part == null) { return(null); } var properties = part.YamlHeader; string checkPropertyMessage; var checkPropertyStatus = CheckRequiredProperties(properties, RequiredProperties, out checkPropertyMessage); if (!checkPropertyStatus) { throw new InvalidDataException(checkPropertyMessage); } var overriden = RemoveRequiredProperties(properties, RequiredProperties); var repoInfo = GitUtility.GetGitDetail(filePath); return(new OverwriteDocumentModel { Uid = properties[Constants.PropertyName.Uid].ToString(), Metadata = overriden, Conceptual = part.Conceptual, Documentation = new SourceDetail { Remote = repoInfo, StartLine = part.StartLine, EndLine = part.EndLine, Path = part.SourceFile } }); }
private static IEnumerable <YamlHtmlPart> MarkupMultiple(IHostService host, string markdown, FileAndType ft) { try { var html = host.Markup(markdown, ft, true); var parts = YamlHtmlPart.SplitYamlHtml(html); foreach (var part in parts) { var mr = host.Parse(part.ToMarkupResult(), ft); part.Conceptual = mr.Html; part.LinkToFiles = mr.LinkToFiles; part.LinkToUids = mr.LinkToUids; part.YamlHeader = mr.YamlHeader; part.FileLinkSources = mr.FileLinkSources; part.UidLinkSources = mr.UidLinkSources; } return(parts); } catch (Exception ex) { System.Diagnostics.Debug.Fail("Markup failed!"); Logger.LogWarning($"Markup failed:{Environment.NewLine} Markdown: {markdown}{Environment.NewLine} Details:{ex.ToString()}"); return(Enumerable.Empty <YamlHtmlPart>()); } }
private static OverwriteDocumentModel TransformModel(string filePath, YamlHtmlPart part) { if (part == null) { return(null); } var properties = part.YamlHeader; var checkPropertyStatus = CheckRequiredProperties(properties, RequiredProperties, out string checkPropertyMessage); if (!checkPropertyStatus) { throw new InvalidDataException(checkPropertyMessage); } var overriden = RemoveRequiredProperties(properties, RequiredProperties); var repoInfo = GitUtility.TryGetFileDetail(filePath); return(new OverwriteDocumentModel { Uid = properties[Constants.PropertyName.Uid].ToString(), LinkToFiles = new HashSet <string>(part.LinkToFiles), LinkToUids = new HashSet <string>(part.LinkToUids), FileLinkSources = part.FileLinkSources.ToDictionary(p => p.Key, p => p.Value.ToList()), UidLinkSources = part.UidLinkSources.ToDictionary(p => p.Key, p => p.Value.ToList()), Metadata = overriden, Conceptual = part.Conceptual, Documentation = new SourceDetail { Remote = repoInfo, StartLine = part.StartLine, EndLine = part.EndLine, Path = part.SourceFile }, Dependency = part.Origin.Dependency }); }