aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisudoc/io_out
diff options
context:
space:
mode:
Diffstat (limited to 'src/sisudoc/io_out')
-rw-r--r--src/sisudoc/io_out/create_abstraction_txt.d14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/sisudoc/io_out/create_abstraction_txt.d b/src/sisudoc/io_out/create_abstraction_txt.d
index f92b83c..af98f61 100644
--- a/src/sisudoc/io_out/create_abstraction_txt.d
+++ b/src/sisudoc/io_out/create_abstraction_txt.d
@@ -162,16 +162,6 @@ template spineAbstractionTxt() {
output ~= "}";
output ~= "";
- /+ ↓ pre-compute heading children map (one pass over body) +/
- int[][int] heading_children; // parent_ocn -> [child heading OCNs]
- if ("body" in doc_abstraction) {
- foreach (obj; doc_abstraction["body"]) {
- if (obj.metainfo.is_a == "heading" && obj.metainfo.parent_ocn != 0) {
- heading_children[obj.metainfo.parent_ocn] ~= obj.metainfo.ocn;
- }
- }
- }
-
/+ ↓ document sections +/
string[] section_order = ["head", "toc", "body", "endnotes",
"glossary", "bibliography", "bookindex", "blurb"];
@@ -212,9 +202,9 @@ template spineAbstractionTxt() {
output ~= ".last_descendant: " ~ obj.metainfo.last_descendant_ocn.to!string;
/+ ↓ child headings (from pre-computed map) +/
- if (obj.metainfo.is_a == "heading" && obj.metainfo.ocn in heading_children) {
+ if (obj.metainfo.children_headings.length > 0) {
string[] ch;
- foreach (c; heading_children[obj.metainfo.ocn]) {
+ foreach (c; obj.metainfo.children_headings) {
ch ~= c.to!string;
}
output ~= ".children: " ~ ch.join(" ");