public void Run(MetadataModel yaml, ResolverContext context) { TreeIterator.Preorder(yaml.TocYamlViewModel, null, s => s.IsInvalid ? null : s.Items, (current, parent) => { current.Parent = parent; return(true); }); }
public void Run(MetadataModel yaml, ResolverContext context) { TreeIterator.Preorder( yaml.TocYamlViewModel, null, s => s.IsInvalid ? null : s.Items, (current, parent) => { if (current.InheritDoc != null) { InheritDoc(current, context); current.InheritDoc = null; } return(true); }); }
public void Run(MetadataModel yaml, ResolverContext context) { TreeIterator.Preorder(yaml.TocYamlViewModel, null, s => s.IsInvalid ? null : s.Items, (current, parent) => { MetadataItem page; var addingReferences = new List <ReferenceItem>(); var documentReferences = current.References; if (current.Type.IsPageLevel()) { page = current; current.References = new Dictionary <string, ReferenceItem>(); } else { page = parent; current.References = null; } if (documentReferences != null && documentReferences.Count > 0) { foreach (var key in documentReferences.Keys) { TryAddReference(context, page, addingReferences, key); } } foreach (var key in GetReferenceKeys(current)) { TryAddReference(context, page, addingReferences, key); } if (current.Type == MemberType.Namespace) { foreach (var item in current.Items) { TryAddReference(context, page, addingReferences, item.Name); } } AddIndirectReference(context, page, addingReferences); return(true); }); }
public void Run(MetadataModel yaml, ResolverContext context) { TreeIterator.Preorder(yaml.TocYamlViewModel, null, s => s.IsInvalid ? null : s.Items, (current, parent) => { if (current.Type != MemberType.Toc) { if (current.Type.IsPageLevel()) { current.Href = current.Name + Constants.YamlExtension; } else { current.Href = parent.Href; } } return(true); }); }
private static void AddMemberToIndexer(MetadataItem memberModel, string outputPath, ApiReferenceViewModel indexer) { if (memberModel.Type == MemberType.Namespace) { indexer.Add(memberModel.Name, outputPath); } else { TreeIterator.Preorder(memberModel, null, s => s.Items, (member, parent) => { if (indexer.TryGetValue(member.Name, out string path)) { Logger.LogWarning($"{member.Name} already exists in {path}, the duplicate one {outputPath} will be ignored."); } else { indexer.Add(member.Name, outputPath); } return(true); }); } }
public void Run(MetadataModel yaml, ResolverContext context) { TreeIterator.Preorder( yaml.TocYamlViewModel, null, s => s.IsInvalid ? null : s.Items, (member, parent) => { // get all the possible places where link is possible if (member.Syntax != null && member.Syntax.Content != null) { SyntaxLanguage[] keys = new SyntaxLanguage[member.Syntax.Content.Count]; member.Syntax.Content.Keys.CopyTo(keys, 0); foreach (var key in keys) { member.Syntax.Content[key] = NormalizeLines(member.Syntax.Content[key]); } } return(true); }); }
public void Run(MetadataModel yaml, ResolverContext context) { TreeIterator.Preorder(yaml.TocYamlViewModel, null, s => { if (s.IsInvalid || (s.Type != MemberType.Namespace && s.Type != MemberType.Toc)) { return(null); } else { return(s.Items); } }, (member, parent) => { if (member.Type != MemberType.Toc) { yaml.Members.Add(member); } return(true); }); }