markpage
Version:
Build and manage markdown-based content with distributed navigation - framework agnostic content management system
1 lines • 2.26 kB
Source Map (JSON)
{"version":3,"file":"types.cjs","sources":["../src/types.ts"],"sourcesContent":["// Simple validation functions\nfunction validateDocItem(item: any): item is DocItem {\n return (\n typeof item === 'object' &&\n item !== null &&\n typeof item.name === 'string' &&\n item.name.length > 0 &&\n (item.type === 'section' || item.type === 'page') &&\n typeof item.label === 'string' &&\n item.label.length > 0 &&\n (item.collapsed === undefined || typeof item.collapsed === 'boolean') &&\n (item.url === undefined || typeof item.url === 'string')\n );\n}\n\nfunction validateIndexFile(data: any): data is IndexFile {\n return (\n typeof data === 'object' &&\n data !== null &&\n Array.isArray(data.items) &&\n data.items.every(validateDocItem)\n );\n}\n\n// Export validation functions\nexport { validateDocItem, validateIndexFile };\n\n// Core types\nexport type DocItemType = \"section\" | \"page\";\n\nexport interface DocItem {\n name: string;\n type: DocItemType;\n label: string;\n collapsed?: boolean;\n url?: string;\n}\n\nexport interface IndexFile {\n items: DocItem[];\n}\n\n// Navigation tree types\nexport interface NavigationItem extends DocItem {\n path?: string;\n items?: NavigationItem[];\n parent?: NavigationItem | undefined;\n}\n\n// Build output types\nexport interface BuildOptions {\n appOutput?: string;\n websiteOutput?: string;\n staticOutput?: string;\n includeContent?: boolean;\n autoDiscover?: boolean; // Enable auto-discovery when .index.json is missing\n}\n\nexport interface BuildResult {\n navigation: NavigationItem[];\n content?: Record<string, string> | undefined;\n pages?: Array<{\n path: string;\n content: string;\n html: string;\n }> | undefined;\n}\n\n// Content processing types\nexport interface ContentProcessor {\n process(content: string): string;\n}"],"names":[],"mappings":";;AACA,SAAS,gBAAgB,MAA4B;AACnD,SACE,OAAO,SAAS,YAChB,SAAS,QACT,OAAO,KAAK,SAAS,YACrB,KAAK,KAAK,SAAS,MAClB,KAAK,SAAS,aAAa,KAAK,SAAS,WAC1C,OAAO,KAAK,UAAU,YACtB,KAAK,MAAM,SAAS,MACnB,KAAK,cAAc,UAAa,OAAO,KAAK,cAAc,eAC1D,KAAK,QAAQ,UAAa,OAAO,KAAK,QAAQ;AAEnD;AAEA,SAAS,kBAAkB,MAA8B;AACvD,SACE,OAAO,SAAS,YAChB,SAAS,QACT,MAAM,QAAQ,KAAK,KAAK,KACxB,KAAK,MAAM,MAAM,eAAe;AAEpC;;;"}