[mdoc] Use monodoc improved API
authorJérémie Laval <jeremie.laval@gmail.com>
Thu, 20 Dec 2012 19:33:52 +0000 (20:33 +0100)
committerJérémie Laval <jeremie.laval@gmail.com>
Thu, 20 Dec 2012 19:35:13 +0000 (20:35 +0100)
mcs/tools/mdoc/Mono.Documentation/assembler.cs
mcs/tools/mdoc/Mono.Documentation/dump.cs
mcs/tools/mdoc/Mono.Documentation/index.cs
mcs/tools/mdoc/Mono.Documentation/monodocs2slashdoc.cs
mcs/tools/mdoc/Mono.Documentation/webdoc.cs

index c46bfbc74f57e8789b8f1d70f944d38b35722ea2..28701dd566ca33a4eb8df6cb548888fd2e578755 100644 (file)
@@ -11,6 +11,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Xml;
 using Monodoc;
+using Monodoc.Providers;
 using Mono.Options;
 
 namespace Mono.Documentation {
@@ -90,10 +91,6 @@ public class MDocAssembler : MDocCommand {
                                list.Add (new ManProvider (formats [format].ToArray ()));
                                break;
 
-                       case "simple":
-                               list.AddRange (formats [format].Select (d => (Provider) new SimpleProvider (d)));
-                               break;
-
                        case "error":
                                list.AddRange (formats [format].Select (d => (Provider) new ErrorProvider (d)));
                                break;
@@ -116,7 +113,7 @@ public class MDocAssembler : MDocCommand {
                }
 
                if (sort && hs.Tree != null)
-                       hs.Tree.Sort ();
+                       hs.Tree.RootNode.Sort ();
                              
                //
                // Flushes the EcmaProvider
index 49033d4a832911ce9ecf59a3618c51ce5ec9c010..260f22a31482f7b4ff8421b94465fb625b0987f6 100644 (file)
@@ -40,7 +40,7 @@ namespace Mono.Documentation {
                                                ? null
                                                : RootTree.GetHelpSource (format, file.Replace (".tree", ""));
                                        Tree t = new Tree (hs, file);
-                                       Node.PrintTree (t);
+                                       TreeDumper.PrintTree (t.RootNode);
                                }
                        }
                }
index c797e549d5c3da346ac197ae8732121189ac3786..0b85085ea20aeb15ef4befb5228dcd86533894f3 100644 (file)
@@ -54,13 +54,13 @@ namespace Mono.Documentation {
                        foreach (var action in extra) {
                                switch (action) {
                                case "tree":
-                                       RootTree.MakeIndex (root);
+                                       root.GenerateIndex ();
                                        break;
                                case "search":
-                                       RootTree.MakeSearchIndex (root);
+                                       root.GenerateSearchIndex ();
                                        break;
                                }
                        }
                }
        }
-}
\ No newline at end of file
+}
index 190861277f05cb6bb4ba86a092ff8040bcd1ff56..4bfe5962a28bf5c228e4ef9ba34e293fba84f2f1 100644 (file)
@@ -119,10 +119,12 @@ public class MDocToMSXDocConverter : MDocCommand {
                                XmlElement members = outputfiles [assemblyname];
                                if (members == null) continue; // assembly is strangely not listed in the index
                                
-                               CreateMember(EcmaDoc.GetCref (type.DocumentElement), type.DocumentElement, members);
+                               //CreateMember(EcmaDoc.GetCref (type.DocumentElement), type.DocumentElement, members);
                                        
                                foreach (XmlElement memberdoc in type.SelectNodes("Type/Members/Member")) {
-                                       string name = EcmaDoc.GetCref (memberdoc);
+                                       //string name = EcmaDoc.GetCref (memberdoc);
+                                       // FIXME
+                                       string name = ns + "." + typename + "." + memberdoc.GetAttribute ("MemberName");
                                        CreateMember(name, memberdoc, members);
                                }
                        }
index 14f9ff7bd5f536a0965f55394cbc925cddecc566..857a06339aca4f523407dcd04e0f39a247c0577d 100644 (file)
@@ -36,6 +36,8 @@ using System.Web;
 using System.Xml.Linq;
 
 using Monodoc;
+using Monodoc.Generators;
+using Monodoc.Caches;
 using Mono.Documentation;
 
 using Mono.Options;
@@ -92,9 +94,6 @@ namespace Mono.Documentation
                        if (opts.Formats.Values.All (files => files.Count == 0))
                                Error ("No files specified.");
                        ProcessSources (opts);
-                       HelpSource.use_css = true;
-                       HelpSource.FullHtml = false;
-                       SettingsHandler.Settings.EnableEditing = false;
                        foreach (var p in opts.Formats)
                                ProcessFiles (opts, p.Key, p.Value);
                }
@@ -196,15 +195,16 @@ namespace Mono.Documentation
                                        docRoot.AddSourceFile (source);
                        }
                        hs.RootTree = docRoot;
-                       foreach (Node node in tree.TraverseDepthFirst<Node, Node> (t => t, t => t.Nodes.Cast<Node> ())) {
-                               var url = node.URL;
+                       var generator = new HtmlGenerator (new NullCache ());
+                       foreach (Node node in tree.RootNode.TraverseDepthFirst<Node, Node> (t => t, t => t.Nodes)) {
+                               var url = node.PublicUrl;
                                Message (TraceLevel.Info, "\tProcessing URL: {0}", url);
                                if (string.IsNullOrEmpty (url))
                                        continue;
                                var file = XmlDocUtils.GetCachedFileName (outDir, url);
                                using (var o = File.AppendText (file)) {
                                        Node _;
-                                       string contents = hs.GetText (url, out _) ?? hs.RenderNamespaceLookup (url, out _);
+                                       string contents = docRoot.RenderUrl (url, generator, out _);
                                        o.Write (contents);
                                }
                        }