+ const seeAlsoSection = [];
+ const linksSection = [];
+ if (subpageRefs.size) {
+ seeAlsoSection.push(
+ rawBlock`<nav id="seealso">`,
+ {
+ tag: "heading",
+ level: 2,
+ children: [
+ str`see also`,
+ ],
+ },
+ rawBlock`<section id="subpages">`,
+ {
+ tag: "heading",
+ level: 3,
+ children: [
+ str`subpages`,
+ ],
+ },
+ listOfInternalLinks(subpageRefs),
+ rawBlock`</section>`,
+ rawBlock`</nav>`,
+ );
+ } else {
+ /* do nothing */
+ }
+ if (internalLinks.size || externalLinks.size) {
+ linksSection.push(
+ rawBlock`<nav id="links">`,
+ {
+ tag: "heading",
+ level: 2,
+ children: [str`this page contains links`],
+ },
+ );
+ if (internalLinks.size) {
+ linksSection.push(
+ rawBlock`<details open="">`,
+ rawBlock`<summary>on this wiki</summary>`,
+ listOfInternalLinks(internalLinks),
+ rawBlock`</details>`,
+ );
+ } else {
+ /* do nothing */
+ }
+ if (externalLinks.size) {
+ linksSection.push(
+ rawBlock`<details open="">`,
+ rawBlock`<summary>elsewhere on the Web</summary>`,
+ {
+ tag: "bullet_list",
+ tight: true,
+ style: "*",
+ children: Array.from(
+ externalLinks,
+ ([destination, text]) => ({
+ tag: "list_item",
+ children: [{
+ tag: "para",
+ children: [{
+ tag: "link",
+ attributes: { "data-realm": "external" },
+ destination,
+ children: text
+ ? [
+ rawInline`<cite>`,
+ str`${text}`,
+ rawInline`</cite>`,
+ ]
+ : [
+ rawInline`<code>`,
+ str`${destination}`,
+ rawInline`</code>`,
+ ],
+ }],
+ }],
+ }),
+ ),
+ },
+ rawBlock`</details>`,
+ );
+ } else {
+ /* do nothing */
+ }
+ linksSection.push(
+ rawBlock`</nav>`,
+ );
+ } else {
+ /* do nothing */
+ }
+ const childrenAndLinks = [
+ ...e.children,
+ ...seeAlsoSection,
+ rawBlock`<footer>`,
+ rawBlock`${"\uFFFF"}`, // footnote placeholder
+ ...linksSection,
+ rawBlock`</footer>`,
+ ];