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

58 lines (57 loc) 1.97 kB
import type { LoggerInterface } from "@mocks-server/logger"; import { ContentPreprocessor, FilesMetadata } from "../../MarkdownConfluenceSync.types"; /** Docusaurus file metadata */ export interface DocusaurusDocPageMeta { /** Returns file title */ readonly title: string; /** Returns true if the file needs to be synch with Confluence */ readonly syncToConfluence: boolean; /** * Returns Confluence page name * * Replace page title in children's titles. */ readonly confluenceShortName?: string; /** * Returns Confluence page title * Replace page title in Confluence. */ readonly confluenceTitle?: string; /** * If the flat mode is active you can return the confluence page id to use it as root page. * */ readonly confluencePageId?: string; } export interface DocusaurusDocPageInterface { /** Returns true if the file is a category, false otherwise */ isCategory: boolean; /** Returns path to the file represented by the file */ path: string; /** * Returns the file meta information * @see {@link DocusaurusDocPageMeta} */ meta: DocusaurusDocPageMeta; /** Returns the file content in HTML format*/ content: string; } export interface DocusaurusDocPageOptions { /** Logger */ logger?: LoggerInterface; /** Files metadata */ filesMetadata?: FilesMetadata; /** Content preprocessor */ contentPreprocessor?: ContentPreprocessor; } /** Creates DocusaurusDocPage interface */ export interface DocusaurusDocPageConstructor { /** Returns DocusaurusDocPage interface * * @param {string} path - Path to the page * @returns {DocusaurusDocPage} instance {@link DocusaurusDocPageInterface}. * @throws {Error} If the path does not exist. * @throws {Error} If the path is not a markdown file. */ new (path: string, options?: DocusaurusDocPageOptions): DocusaurusDocPageInterface; }