@@ -13,56 +13,56 @@ class DocusaurusLlmsGenerator {
1313
1414 async generate ( ) {
1515 try {
16- console . log ( '🔍 Extraction des pages de documentation ...' ) ;
16+ console . log ( '🔍 Extracting documentation pages...' ) ;
1717 const pages = await this . extractAllPages ( ) ;
18- console . log ( `📄 ${ pages . length } pages trouvées ` ) ;
18+ console . log ( `📄 ${ pages . length } pages found ` ) ;
1919
20- console . log ( '📝 Génération de llms.txt...' ) ;
20+ console . log ( '📝 Generating llms.txt...' ) ;
2121 const llmsTxt = this . generateLlmsTxt ( pages ) ;
2222 await fs . ensureDir ( this . outputDir ) ;
2323 await fs . writeFile ( path . join ( this . outputDir , 'llms.txt' ) , llmsTxt ) ;
2424
25- console . log ( '📚 Génération de llms-full.txt...' ) ;
25+ console . log ( '📚 Generating llms-full.txt...' ) ;
2626 const llmsFullTxt = this . generateLlmsFullTxt ( pages ) ;
2727 await fs . writeFile ( path . join ( this . outputDir , 'llms-full.txt' ) , llmsFullTxt ) ;
2828
29- console . log ( '✅ Fichiers LLMs générés avec succès !' ) ;
29+ console . log ( '✅ LLMs files successfully generated !' ) ;
3030 console . log ( ` - ${ this . outputDir } /llms.txt` ) ;
3131 console . log ( ` - ${ this . outputDir } /llms-full.txt` ) ;
3232 } catch ( error ) {
33- console . error ( '❌ Erreur lors de la génération :' , error ) ;
33+ console . error ( '❌ Error while trying to generate LLMs files :' , error ) ;
3434 throw error ;
3535 }
3636 }
3737
3838 async extractAllPages ( ) {
3939 const pages = [ ] ;
4040
41- // Charge la configuration sidebar
41+ // Load sidebar configuration
4242 const sidebarConfig = this . loadSidebarConfig ( ) ;
4343
44- // Parse chaque sidebar
44+ // Parses every sidebar
4545 for ( const [ sidebarName , sidebarItems ] of Object . entries ( sidebarConfig ) ) {
4646 await this . processItems ( sidebarItems , pages ) ;
4747 }
4848
49- // Trie les pages par URL pour un ordre cohérent
49+ // Sort pages by URL for a consistent and clear order
5050 return pages . sort ( ( a , b ) => a . url . localeCompare ( b . url ) ) ;
5151 }
5252
5353 loadSidebarConfig ( ) {
5454 try {
55- // Supprime le cache pour recharger la config
55+ // Deletes cache to reload config
5656 delete require . cache [ require . resolve ( path . resolve ( this . sidebarPath ) ) ] ;
5757 return require ( path . resolve ( this . sidebarPath ) ) ;
5858 } catch ( error ) {
59- console . warn ( `⚠️ Impossible de charger ${ this . sidebarPath } , utilisation du scan de dossier ` ) ;
59+ console . warn ( `⚠️ Failed to load ${ this . sidebarPath } , using folder scan` ) ;
6060 return this . fallbackToDirectoryScan ( ) ;
6161 }
6262 }
6363
6464 async fallbackToDirectoryScan ( ) {
65- // Scan direct du dossier docs si sidebar.js n'est pas accessible
65+ // Direct scan of docs/ folder if sidebar.js is not available
6666 const allFiles = await this . getAllMdFiles ( this . docsDir ) ;
6767 return { docs : allFiles . map ( file => file . replace ( '.md' , '' ) ) } ;
6868 }
@@ -128,28 +128,28 @@ class DocusaurusLlmsGenerator {
128128 frontmatter
129129 } ) ;
130130
131- break ; // Arrête dès qu'un fichier est trouvé
131+ break ; // Stops once a file is found
132132 } catch ( error ) {
133- console . warn ( `⚠️ Erreur lors du traitement de ${ filePath } :` , error . message ) ;
133+ console . warn ( `⚠️ Error while handling file ${ filePath } :` , error . message ) ;
134134 }
135135 }
136136 }
137137 }
138138
139139 generatePageUrl ( docId ) {
140- // Supprime les préfixes courants et génère l' URL propre
140+ // Deletes common prefixes and generates proper URL
141141 const cleanId = docId . replace ( / ^ ( d o c s \/ | p a g e s \/ ) / , '' ) ;
142142 return `${ this . baseUrl } /${ cleanId } ` ;
143143 }
144144
145145 getTitleFromContent ( content ) {
146- // Extrait le premier h1 du contenu
146+ // Extracts first h1 from content
147147 const match = content . match ( / ^ # \s + ( .+ ) $ / m) ;
148148 return match ? match [ 1 ] . trim ( ) : null ;
149149 }
150150
151151 extractDescription ( content ) {
152- // Extrait le premier paragraphe non-vide
152+ // Extracts first non-empty paragraph
153153 const lines = content . split ( '\n' ) ;
154154 for ( const line of lines ) {
155155 const trimmed = line . trim ( ) ;
@@ -162,16 +162,16 @@ class DocusaurusLlmsGenerator {
162162
163163 cleanContent ( content ) {
164164 return content
165- // Supprime les métadonnées frontmatter
165+ // Deletes frontmatter metadata
166166 . replace ( / ^ - - - [ \s \S ] * ?- - - \n / , '' )
167- // Supprime les composants React/MDX
167+ // Deletes React/MDX components
168168 . replace ( / < [ A - Z ] [ a - z A - Z ] * [ ^ > ] * > [ \s \S ] * ?< \/ [ A - Z ] [ a - z A - Z ] * > / g, '' )
169169 . replace ( / < [ A - Z ] [ a - z A - Z ] * [ ^ > ] * \/ > / g, '' )
170- // Supprime les imports
170+ // Deletes imports
171171 . replace ( / ^ i m p o r t \s + .* $ / gm, '' )
172- // Supprime les exports
172+ // Deletes exports
173173 . replace ( / ^ e x p o r t \s + .* $ / gm, '' )
174- // Nettoie les lignes vides multiples
174+ // Cleans up empty lines
175175 . replace ( / \n \s * \n \s * \n / g, '\n\n' )
176176 . trim ( ) ;
177177 }
@@ -204,7 +204,7 @@ class DocusaurusLlmsGenerator {
204204
205205module . exports = DocusaurusLlmsGenerator ;
206206
207- // Si le script est exécuté directement
207+ // If script is not directly executed
208208if ( require . main === module ) {
209209 const generator = new DocusaurusLlmsGenerator ( {
210210 docsDir : 'docs' ,
@@ -215,4 +215,4 @@ if (require.main === module) {
215215 } ) ;
216216
217217 generator . generate ( ) . catch ( console . error ) ;
218- }
218+ }
0 commit comments