core/renderers/faq.renderer.ts
core/renderers/faq.renderer.ts is a file in Bane's Lab Content. 37 lines of code and 4 definitions.
import { CHAPTER_SEPARATOR, PARAGRAPH_BREAK } from "#configuration/constants/chapter.constants";
import {
DETAILS_CLOSE,
DETAILS_OPEN,
HEADING_THREE,
SUMMARY_CLOSE,
SUMMARY_OPEN,
} from "#configuration/constants/readme.constants";
import { FAQ_TITLE } from "#configuration/strings/readme.strings";
import { LINE_END } from "#configuration/constants/inventory.constants";
import type { ReadmePage } from "#types/readme.types";
import { section } from "#core/renderers/markdown.renderer";
const question = function question(title: string, content: string | null): string {
const rule = CHAPTER_SEPARATOR.trim();
return [
DETAILS_OPEN,
SUMMARY_OPEN + title + SUMMARY_CLOSE,
"",
rule,
"",
content ?? "",
"",
rule,
"",
DETAILS_CLOSE,
].join(LINE_END);
};
export const renderFaq = function renderFaq(page: ReadmePage): string {
const groups = page.tabs
.flatMap((tab) => tab.sections)
.map((held) =>
[HEADING_THREE + held.title, ...held.subsections.map((sub) => question(sub.title, sub.content))].join(
PARAGRAPH_BREAK,
),
);
return section(FAQ_TITLE, ...groups);
};