From ededd189b2dcf50835dbd8f8e8ff76c3647cabef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Mon, 18 Apr 2016 11:22:34 +0200 Subject: [PATCH] Move package.d modules navigation entries into their package menu. See https://forum.dlang.org/thread/nerjg7$2tqv$1@digitalmars.com --- dpl-docs/views/ddox.inc.module-tree.dt | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/dpl-docs/views/ddox.inc.module-tree.dt b/dpl-docs/views/ddox.inc.module-tree.dt index a7a3ac3638..faf7aa5fb3 100644 --- a/dpl-docs/views/ddox.inc.module-tree.dt +++ b/dpl-docs/views/ddox.inc.module-tree.dt @@ -1,16 +1,32 @@ - import ddox.entities; -- void moduleNavTree(Package pack) +- Module getPackageModule(Package pack) + - import std.algorithm : find; + - if (auto pp = cast(Package)pack.parent) + - return pp.lookup!Module(pack.name); + - return null; + +- void moduleNavTree(Package pack, Module pack_mod) - string pack_class = "expand-container"; - foreach(i, p; pack.packages) - li(class='#{p.isAncestorOf(info.node) ? pack_class ~ " open" : pack_class}') + - auto subpackmod = getPackageModule(p); + - bool is_active = p.isAncestorOf(info.node) || subpackmod && subpackmod.isAncestorOf(info.node) || subpackmod is info.node; + li(class=is_active ? pack_class ~ " open" : pack_class) a.package(href="#", class="expand-toggle") span= p !is info.rootPackage ? p.name : null ul.tree-view - - moduleNavTree(p); + - moduleNavTree(p, subpackmod); + + - if (pack_mod) + li + a.module(href="#{info.linkTo(pack_mod)}", class='#{info.node is pack_mod || pack_mod.isAncestorOf(info.node) ? "selected" : ""}') + span Package members + - foreach(m; pack.modules) + - if (pack.lookup!Package(m.name)) + - continue; li a.module(href="#{info.linkTo(m)}", class='#{info.node is m || m.isAncestorOf(info.node) ? "selected" : ""}') span= m.name -- moduleNavTree(info.rootPackage); +- moduleNavTree(info.rootPackage, null);