UNPKG

@telefonica/markdown-confluence-sync

Version:

Creates/updates/deletes Confluence pages based on markdown files in a directory. Supports Mermaid diagrams and per-page configuration using frontmatter metadata. Works great with Docusaurus

31 lines (30 loc) 1.09 kB
// SPDX-FileCopyrightText: 2024 Telefónica Innovación Digital // SPDX-License-Identifier: Apache-2.0 import { SyncModes } from "@telefonica/confluence-sync"; import { MarkdownFlatDocuments } from "./DocusaurusFlatPages.js"; import { DocusaurusTreePages } from "./DocusaurusTreePages.js"; export const MarkdownDocumentsFactory = class MarkdownDocumentsFactory { static fromMode(mode, options) { if (!this._isValidMode(mode)) { throw new Error(`"mode" option must be one of "tree", "flat" or "id"`); } if (this._isFlatMode(mode) || this._isIdMode(mode)) { return new MarkdownFlatDocuments({ ...options, mode: mode, }); } return new DocusaurusTreePages(options); } static _isIdMode(mode) { return mode === SyncModes.ID; } static _isFlatMode(mode) { return mode === SyncModes.FLAT; } static _isValidMode(mode) { return (mode === SyncModes.FLAT || mode === SyncModes.TREE || mode === SyncModes.ID); } };