@signalwire/docusaurus-plugin-llms-txt
Version:
Generate Markdown versions of Docusaurus HTML pages and an llms.txt index file
61 lines • 2.2 kB
TypeScript
/**
* Comprehensive path utilities for directory setup and cross-platform operations
* Consolidates path handling logic from multiple modules for better maintainability
*/
import type { PluginOptions, DirectoryConfig } from '../types';
/**
* Path management service that consolidates common path operations
* @internal
*/
export declare class PathManager {
readonly directories: DirectoryConfig;
constructor(siteDir: string, config: PluginOptions, outDir?: string);
/** Get normalized relative HTML path */
getRelativeHtmlPath(fullHtmlPath: string): string;
/** Get normalized relative markdown path */
getRelativeMarkdownPath(mdPath: string): string;
}
/**
* Setup directory paths based on plugin configuration
* Simplified to use outDir directly without docsRoot/outputDir customization
* @internal
*
* @param siteDir - Site root directory
* @param config - Plugin configuration
* @param outDir - Build output directory (must be provided from Docusaurus)
* @returns Directory configuration object
*/
export declare function setupDirectories(siteDir: string, _config: PluginOptions, outDir?: string): DirectoryConfig;
/**
* Build site URL from site configuration using Docusaurus normalizeUrl utility
* Centralizes the repeated site URL building pattern
* @internal
*
* @param siteConfig - Docusaurus site configuration
* @returns Complete site URL
*/
export declare function buildSiteUrl({ url, baseUrl, }: {
url: string;
baseUrl: string;
}): string;
/**
* Normalize path separators for cross-platform compatibility
* Replaces Windows backslashes with forward slashes
* @internal
*
* @param filePath - Path to normalize
* @returns Path with forward slashes
*/
export declare function normalizeCrossPlatformPath(filePath: string): string;
/**
* Convert a relative HTML path to its corresponding Markdown file path
* Uses Docusaurus-style path conversion logic
* @internal
*
* Examples:
* index.html → index.md
* blog/index.html → blog.md
* api/reference.html → api/reference.md
*/
export declare function htmlPathToMdPath(relHtmlPath: string, mdOutDir: string): string;
//# sourceMappingURL=paths.d.ts.map