antora-confluence
Version:
A tool to convert and publish Antora documentation to Confluence
40 lines (39 loc) • 1.46 kB
JavaScript
;
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;