Moved index code to a build step
This commit is contained in:
		
							parent
							
								
									487a3c160c
								
							
						
					
					
						commit
						9068c422b3
					
				
					 2 changed files with 34 additions and 27 deletions
				
			
		
							
								
								
									
										29
									
								
								index.js
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								index.js
									
										
									
									
									
								
							|  | @ -1,29 +1,4 @@ | |||
| const { join } = require('path'); | ||||
| const { outputFile } = require('fs-extra'); | ||||
| const marked = require('marked'); | ||||
| const getTemplate = require('./src/template'); | ||||
| const { getPinnedRepoJSONs, getStaticPageJSONs } = require('./src/discoverJSONData'); | ||||
| const { generateStaticPages } = require('./src/generateHTMLPages'); | ||||
| 
 | ||||
| const distPath = './dist'; | ||||
| 
 | ||||
| (async () => { | ||||
|   const interiorTemplate = await getTemplate('interior'); | ||||
|   let repoJSONs = await getPinnedRepoJSONs(); | ||||
|   let staticJSONs = await getStaticPageJSONs(); | ||||
|   let combinedJSONs = repoJSONs.concat(staticJSONs); | ||||
|   const saveAsInteriorHTML = async json => { | ||||
|     let fileName = json.name.replace(/[^a-zA-Z\d:]/g, '').toLowerCase(); | ||||
|     if (json.readme && json.readme.text) { | ||||
|       json.readme.html = marked(json.readme.text); | ||||
|     } | ||||
|     return outputFile(join(distPath, fileName) + '.html', interiorTemplate(json)); | ||||
|   } | ||||
| 
 | ||||
|   try { | ||||
|     await Promise.all(combinedJSONs.map(saveAsInteriorHTML)); | ||||
|   } catch (error) { | ||||
|     console.error('Error while writing html files', error); | ||||
|     return; | ||||
|   } | ||||
| })(); | ||||
| generateStaticPages().then(() => console.log('✓ Generated html pages')); | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										32
									
								
								src/generateHTMLPages.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/generateHTMLPages.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,32 @@ | |||
| const { join } = require('path'); | ||||
| const { outputFile } = require('fs-extra'); | ||||
| const marked = require('marked'); | ||||
| const getTemplate = require('./template'); | ||||
| const { getPinnedRepoJSONs, getStaticPageJSONs } = require('./discoverJSONData'); | ||||
| 
 | ||||
| const distPath = './dist'; | ||||
| 
 | ||||
| const generateStaticPages = async () => { | ||||
|   const interiorTemplate = await getTemplate('interior'); | ||||
|   let repoJSONs = await getPinnedRepoJSONs(); | ||||
|   let staticJSONs = await getStaticPageJSONs(); | ||||
|   let combinedJSONs = repoJSONs.concat(staticJSONs); | ||||
|   const saveAsInteriorHTML = async json => { | ||||
|     let fileName = json.name.replace(/[^a-zA-Z\d:]/g, '').toLowerCase(); | ||||
|     if (json.readme && json.readme.text) { | ||||
|       json.readme.html = marked(json.readme.text); | ||||
|     } | ||||
|     return outputFile(join(distPath, fileName) + '.html', interiorTemplate(json)); | ||||
|   } | ||||
| 
 | ||||
|   try { | ||||
|     return await Promise.all(combinedJSONs.map(saveAsInteriorHTML)); | ||||
|   } catch (error) { | ||||
|     console.error('Error while writing html files', error); | ||||
|     return; | ||||
|   } | ||||
| }; | ||||
| 
 | ||||
| module.exports = { | ||||
|   generateStaticPages, | ||||
| }; | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Joe Wroten
						Joe Wroten