internalId = null;
context = null;
- if (url.StartsWith ("root:/", StringComparison.OrdinalIgnoreCase))
- return this.GetHelpSourceAndIdFromName (url.Substring ("root:/".Length), out internalId, out node);
+ if (url.StartsWith (RootNamespace, StringComparison.OrdinalIgnoreCase)) {
+ context = new Dictionary<string, string> { {"specialpage", "root"} };
+ return this.GetHelpSourceAndIdFromName (url.Substring (RootNamespace.Length), out internalId, out node);
+ }
HelpSource helpSource = hintSource;
if (helpSource == null || string.IsNullOrEmpty (internalId = helpSource.GetInternalIdForUrl (url, out node, out context))) {
{
var args = new XsltArgumentList ();
args.AddExtensionObject("monodoc:///extensions", ExtObject);
+ string specialPage;
+ if (extraArgs.TryGetValue ("specialpage", out specialPage) && specialPage == "root") {
+ extraArgs.Remove ("specialpage");
+ extraArgs["show"] = "masteroverview";
+ }
+
foreach (var kvp in extraArgs)
args.AddParam (kvp.Key, string.Empty, kvp.Value);
- return Htmlize(ecma_xml, args);
+ return Htmlize (ecma_xml, args);
}
public string Htmlize (XmlReader ecma_xml, XsltArgumentList args)
public override Stream GetHelpStream (string id)
{
var idParts = id.Split ('?');
- return base.GetHelpStream (idParts[0]);
+ var name = idParts[0];
+ if (name == "root:")
+ name = "mastersummary.xml";
+ return base.GetHelpStream (name);
}
public override Stream GetCachedHelpStream (string id)