@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
34 lines • 1.29 kB
TypeScript
/**
* Extracts and formats a name and slug from a URL path.
* This utility takes the last meaningful segment of a URL path and formats it
* into both a human-readable title and a URL-friendly slug.
*
* - Strips common file extensions (index.js, index.ts, index.tsx, etc.)
* - Converts kebab-case to Title Case for names
* - Ensures slugs are in kebab-case format
*/
/**
* Extracts and formats a name and slug from a URL path
* @param url - The URL to extract from (can be file:// URL or regular path)
* @returns Object containing the formatted name and slug
*
* @example
* extractNameAndSlugFromUrl('file:///app/components/demos/advanced-keyboard/index.ts')
* // Returns: { name: 'Advanced Keyboard', slug: 'advanced-keyboard' }
*
* @example
* extractNameAndSlugFromUrl('/src/components/button-group.tsx')
* // Returns: { name: 'Button Group', slug: 'button-group' }
*
* @example
* extractNameAndSlugFromUrl('/src/components/customButton.tsx')
* // Returns: { name: 'Custom Button', slug: 'custom-button' }
*
* @example
* extractNameAndSlugFromUrl('https://example.com/docs/getting-started/')
* // Returns: { name: 'Getting Started', slug: 'getting-started' }
*/
export declare function extractNameAndSlugFromUrl(url: string): {
name: string;
slug: string;
};