UNPKG

antora-confluence

Version:

A tool to convert and publish Antora documentation to Confluence

40 lines (39 loc) 1.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPageTitle = void 0; const node_html_parser_1 = __importDefault(require("node-html-parser")); const Logger_1 = require("../Logger"); const LOGGER = (0, Logger_1.getLogger)(); const getPageTitle = (input) => { let pageTitle; try { const dom = (0, node_html_parser_1.default)(input); let pageTitleElement = dom.querySelector("h1.page"); if (pageTitleElement) { pageTitle = pageTitleElement.text; } else { pageTitleElement = dom.querySelector("h1"); LOGGER.debug(`Could not extract a title, looking for any <h1> - ${pageTitleElement?.text}`); if (pageTitleElement) { pageTitle = pageTitleElement.text; } else { pageTitleElement = dom.querySelector("h2"); LOGGER.debug(`Could not extract a title, looking for any <h2> ${pageTitleElement?.text}`); if (pageTitleElement) { pageTitle = pageTitleElement.text; } } } pageTitle = pageTitle?.trim(); } catch (e) { LOGGER.error(`Error reading input ${input}`); } return pageTitle; }; exports.getPageTitle = getPageTitle;