0.0.5 • Published 8 years ago
template-shot v0.0.5
template-shot
A simple library which can render the html template to a png image.
Installation
This module is installed via npm:
npm install --save template-shotNotice
renderOptions (where needed) are the same as webshot's
Available methods
- constructor
TemplateShot(templateDir: string = './', useCache: boolean = false)Constructor of the base class.templateDir: stringis the path to your templatesuseCache: booleanif set to true, the loaded templates are being cached - TemplateShot.renderFile
Renders the template to a file.TemplateShot.renderFile( template: string, templateValues: ITemplateValues = {}, fname: string, options: any = PictureGenerator.DEFAULT_OPTIONS ): Promise<void>template: stringpath to your templatetemplateValues: ITemplateValuesobject, wich properties will be pasted to the templatefname: stringpath to save the rendered imageoptions: anyrenderOptions (where needed) are the same as webshot's
- TemplateShot.renderStream
Renders the template to a stream.TemplateShot.renderStream( template: string, templateValues: ITemplateValues = {}, options: any = PictureGenerator.DEFAULT_OPTIONS ): Streamtemplate: stringpath to your templatetemplateValues: ITemplateValuesobject, wich properties will be pasted to the templateoptions: anyrenderOptions (where needed) are the same as webshot's
- TemplateShot.renderString
Renders the template to a string.TemplateShotrenderString( template: string, templateValues: ITemplateValues = {}, options: any = PictureGenerator.DEFAULT_OPTIONS ): Promise<string>template: stringpath to your templatetemplateValues: ITemplateValuesobject, wich properties will be pasted to the templateoptions: anyrenderOptions (where needed) are the same as webshot's
Examples
This example renders the sample template index.html into example1.png. Notice, that {paragraph_text} is replaced with Test text in the rendered image.
const {TemplateShot} = require( 'template-shot');
const templatePath = 'path/to/your/template/folder';
console.log('looking for templates in:\n' + templatePath);
const ts = new TemplateShot(templatePath);
const templateName = 'index.html';
const renderOptions = { // these are webshot options
screenSize: {
width: 540,
height: 900
},
shotSize: {
width: 'all',
height: 'all'
}
};
console.log('rendering template ' + templateName + ' from ' + templatePath + ' to example1.png');
ts.renderFile(templateName, {'paragraph_text' : 'Test text'}, 'example1.png', renderOptions);Rendered image

See examples folder for more examples.
TODO: add template examples
Contributing
To set up your development environment:
- Clone the repo to your desktop,
- In the shell
cdto the main folder, - Hit
npm install
To build the project (including the tests):
npm run buildTo watch the files for changes and rebuild if necessary:
npm run watchTo run tests:
npm run testTo run linter:
npm run lint