@@ -11,7 +11,6 @@ import { UNIST } from '@doc-kit/core/utils/queries/index.mjs';
1111import { transformNodesToString } from '@doc-kit/core/utils/unist.mjs' ;
1212import { h as createElement } from 'hastscript' ;
1313import { slice } from 'mdast-util-slice-markdown' ;
14- import readingTime from 'reading-time' ;
1514import remarkParse from 'remark-parse' ;
1615import { unified } from 'unified' ;
1716import { u as createTree } from 'unist-builder' ;
@@ -50,6 +49,12 @@ const toPlainText = markdown =>
5049 unified ( ) . use ( remarkParse ) . parse ( markdown ) . children
5150 ) . trim ( ) ;
5251
52+ /**
53+ *
54+ */
55+ const readingTime = text =>
56+ import ( 'reading-time' ) . then ( ( { default : rt } ) => rt ( text ) . text ) ;
57+
5358/**
5459 * Processes lifecycle and change history data into a sorted array of change entries.
5560 * @param {import('@doc-kit/core/generators/metadata/types').MetadataEntry } entry - The metadata entry
@@ -315,16 +320,20 @@ export const processEntry = entry => {
315320 * @param {Array<import('@doc-kit/core/generators/metadata/types').MetadataEntry> } entries - API documentation metadata entries
316321 * @param {Object } metadata - Raw page metadata from the head entry
317322 */
318- export const createDocumentLayout = ( entries , metadata ) => {
323+ export const createDocumentLayout = async ( entries , metadata ) => {
319324 // Collapse overloaded function headings into one stable ToC entry, tagging the
320325 // underlying headings with compact anchors / overload flags read just below.
321326 annotateOverloads ( entries ) ;
322327
328+ const { showReadingTime } = getConfig ( 'jsx-ast' ) ;
329+
323330 return createTree ( 'root' , [
324331 createJSXElement ( JSX_IMPORTS . Layout . name , {
325332 metadata,
326333 headings : extractHeadings ( entries ) ,
327- readingTime : readingTime ( extractTextContent ( entries ) ) . text ,
334+ readingTime : showReadingTime
335+ ? await readingTime ( extractTextContent ( entries ) )
336+ : undefined ,
328337 children : entries . map ( processEntry ) ,
329338 } ) ,
330339 ] ) ;
@@ -348,7 +357,7 @@ const buildContent = async (metadataEntries, head) => {
348357 ] ) ;
349358
350359 // Create root document AST with all layout components and processed content
351- const root = createDocumentLayout ( metadataEntries , metadata ) ;
360+ const root = await createDocumentLayout ( metadataEntries , metadata ) ;
352361
353362 // Run remark processor to transform AST (parse markdown, plugins, etc.)
354363 const ast = await remark ( ) . run ( root ) ;
0 commit comments