Handlebar partials support
This commit is contained in:
		
							parent
							
								
									2ee4d8757d
								
							
						
					
					
						commit
						23ed521d9e
					
				
					 4 changed files with 39 additions and 6 deletions
				
			
		
							
								
								
									
										6
									
								
								index.js
									
										
									
									
									
								
							
							
						
						
									
										6
									
								
								index.js
									
										
									
									
									
								
							|  | @ -1,6 +1,6 @@ | |||
| const chalk = require('chalk'); | ||||
| const { getPinnedRepoJSONs, getStaticPageJSONs } = require('./src/discoverJSONData'); | ||||
| const { generateIndexPage, generateInteriorPages } = require('./src/generateHTMLPages'); | ||||
| const { initialize: initializePages, generateIndexPage, generateInteriorPages } = require('./src/generateHTMLPages'); | ||||
| const copyStaticAssets = require('./src/copyStaticAssets'); | ||||
| const generateSpritesheet = require('./src/generateSpritesheet'); | ||||
| 
 | ||||
|  | @ -10,6 +10,10 @@ const generateSpritesheet = require('./src/generateSpritesheet'); | |||
|   console.log(chalk.blue('● Fetching Static Page Data...')); | ||||
|   let staticJSONs = await getStaticPageJSONs(); | ||||
| 
 | ||||
|   console.log(chalk.blue('● Initializing page generator...')); | ||||
|   await initializePages(); | ||||
|   console.log(chalk.green('✓ Initialized page partials')); | ||||
| 
 | ||||
|   console.log(chalk.blue('● Generating index html page...')); | ||||
|   await generateIndexPage(repoJSONs.concat(staticJSONs)); | ||||
|   console.log(chalk.green('✓ Generated index html page')); | ||||
|  |  | |||
|  | @ -1,9 +1,13 @@ | |||
| const { join } = require('path'); | ||||
| const { outputFile } = require('fs-extra'); | ||||
| const getTemplate = require('./template'); | ||||
| const { getTemplate, registerPartials } = require('./template'); | ||||
| 
 | ||||
| const distPath = './dist'; | ||||
| 
 | ||||
| const initialize = async () => { | ||||
|   return registerPartials(); | ||||
| } | ||||
| 
 | ||||
| const generateIndexPage = async jsonData => { | ||||
|   const indexTemplate = await getTemplate('index'); | ||||
| 
 | ||||
|  | @ -30,6 +34,8 @@ const generateInteriorPages = async jsonData => { | |||
| }; | ||||
| 
 | ||||
| module.exports = { | ||||
|   initialize, | ||||
|   generateInteriorPages, | ||||
|   generateIndexPage, | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,7 +1,24 @@ | |||
| const { compile } = require('handlebars'); | ||||
| const { readFile } = require('fs-extra'); | ||||
| const Handlebars = require('handlebars'); | ||||
| const { readFile, readdir } = require('fs-extra'); | ||||
| const { join, basename } = require('path'); | ||||
| 
 | ||||
| module.exports = async filename => { | ||||
| const registerPartials = async () => { | ||||
|   try { | ||||
|     let results = await readdir('./src/templates/partials') | ||||
|     results.forEach(async filename => { | ||||
|       let filePath = join('./src/templates/partials', filename); | ||||
|       let partialName = basename(filename, '.hbs'); | ||||
|       let partialContents = await readFile(filePath); | ||||
|       partialContents = partialContents.toString(); | ||||
|       Handlebars.registerPartial(partialName, partialContents); | ||||
|     }); | ||||
|   } catch(error) { | ||||
|     console.error('Could not read partials in ./src/templates/partials/', error); | ||||
|     return; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| const getTemplate = async filename => { | ||||
|   let template; | ||||
|   try { | ||||
|     template = await readFile(`./src/templates/${filename}.hbs`); | ||||
|  | @ -10,6 +27,11 @@ module.exports = async filename => { | |||
|     console.error('Could not fetch template', filename, error); | ||||
|     return; | ||||
|   } | ||||
|   return compile(template); | ||||
|   return Handlebars.compile(template); | ||||
| }; | ||||
| 
 | ||||
| module.exports = { | ||||
|   registerPartials, | ||||
|   getTemplate, | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										1
									
								
								src/templates/partials/example.hbs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/templates/partials/example.hbs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| foo | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Joe Wroten
						Joe Wroten