mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2024-11-23 00:40:10 +00:00
Merge remote-tracking branch 'refs/remotes/origin/master' into dev
This commit is contained in:
commit
37e75acd86
@ -65,6 +65,7 @@
|
|||||||
"simple-html-tokenizer": "^0.2.0",
|
"simple-html-tokenizer": "^0.2.0",
|
||||||
"string.prototype.startswith": "^0.2.0",
|
"string.prototype.startswith": "^0.2.0",
|
||||||
"underscore": "^1.8.3",
|
"underscore": "^1.8.3",
|
||||||
|
"webshot": "^0.16.0",
|
||||||
"wkhtmltopdf": "^0.1.5",
|
"wkhtmltopdf": "^0.1.5",
|
||||||
"xml-escape": "^1.0.0",
|
"xml-escape": "^1.0.0",
|
||||||
"yamljs": "^0.2.4"
|
"yamljs": "^0.2.4"
|
||||||
|
@ -10,10 +10,12 @@
|
|||||||
{ name: 'txt', ext: 'txt', gen: new FLUENT.TextGenerator() },
|
{ name: 'txt', ext: 'txt', gen: new FLUENT.TextGenerator() },
|
||||||
{ name: 'doc', ext: 'doc', fmt: 'xml', gen: new FLUENT.WordGenerator() },
|
{ name: 'doc', ext: 'doc', fmt: 'xml', gen: new FLUENT.WordGenerator() },
|
||||||
{ name: 'pdf', ext: 'pdf', fmt: 'html', is: false, gen: new FLUENT.HtmlPdfGenerator() },
|
{ name: 'pdf', ext: 'pdf', fmt: 'html', is: false, gen: new FLUENT.HtmlPdfGenerator() },
|
||||||
|
{ name: 'png', ext: 'png', fmt: 'html', is: false, gen: new FLUENT.HtmlPngGenerator() },
|
||||||
{ name: 'md', ext: 'md', fmt: 'txt', gen: new FLUENT.MarkdownGenerator() },
|
{ name: 'md', ext: 'md', fmt: 'txt', gen: new FLUENT.MarkdownGenerator() },
|
||||||
{ name: 'json', ext: 'json', gen: new FLUENT.JsonGenerator() },
|
{ name: 'json', ext: 'json', gen: new FLUENT.JsonGenerator() },
|
||||||
{ name: 'yml', ext: 'yml', fmt: 'yml', gen: new FLUENT.JsonYamlGenerator() },
|
{ name: 'yml', ext: 'yml', fmt: 'yml', gen: new FLUENT.JsonYamlGenerator() },
|
||||||
{ name: 'latex', ext: 'tex', fmt: 'latex', gen: new FLUENT.LaTeXGenerator() }
|
{ name: 'latex', ext: 'tex', fmt: 'latex', gen: new FLUENT.LaTeXGenerator() }
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
}());
|
}());
|
||||||
|
@ -117,7 +117,7 @@ Definition of the Theme class.
|
|||||||
var portion = pathInfo.dirname.replace(tplFolder,'');
|
var portion = pathInfo.dirname.replace(tplFolder,'');
|
||||||
if( portion && portion.trim() ) {
|
if( portion && portion.trim() ) {
|
||||||
if( portion[1] === '_' ) return;
|
if( portion[1] === '_' ) return;
|
||||||
var reg = /^(?:\/|\\)(html|latex|doc|pdf|partials)(?:\/|\\)?/ig;
|
var reg = /^(?:\/|\\)(html|latex|doc|pdf|png|partials)(?:\/|\\)?/ig;
|
||||||
var res = reg.exec( portion );
|
var res = reg.exec( portion );
|
||||||
if( res ) {
|
if( res ) {
|
||||||
if( res[1] !== 'partials' ) {
|
if( res[1] !== 'partials' ) {
|
||||||
|
@ -36,7 +36,7 @@ Definition of the HandlebarsGenerator class.
|
|||||||
// Compile and run the Handlebars template.
|
// Compile and run the Handlebars template.
|
||||||
var template = HANDLEBARS.compile(jst);
|
var template = HANDLEBARS.compile(jst);
|
||||||
return template({
|
return template({
|
||||||
r: format === 'html' || format === 'pdf' ? json.markdownify() : json,
|
r: format === 'html' || format === 'pdf' || format === 'png' ? json.markdownify() : json,
|
||||||
RAW: json,
|
RAW: json,
|
||||||
filt: opts.filters,
|
filt: opts.filters,
|
||||||
cssInfo: cssInfo,
|
cssInfo: cssInfo,
|
||||||
|
@ -35,7 +35,7 @@ Definition of the UnderscoreGenerator class.
|
|||||||
// Compile and run the template. TODO: avoid unnecessary recompiles.
|
// Compile and run the template. TODO: avoid unnecessary recompiles.
|
||||||
var compiled = _.template(jst);
|
var compiled = _.template(jst);
|
||||||
var ret = compiled({
|
var ret = compiled({
|
||||||
r: format === 'html' || format === 'pdf' ? json.markdownify() : json,
|
r: format === 'html' || format === 'pdf' || format === 'png' ? json.markdownify() : json,
|
||||||
filt: opts.filters,
|
filt: opts.filters,
|
||||||
XML: require('xml-escape'),
|
XML: require('xml-escape'),
|
||||||
RAW: json,
|
RAW: json,
|
||||||
|
42
src/gen/html-png-generator.js
Normal file
42
src/gen/html-png-generator.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/**
|
||||||
|
Definition of the HtmlPngGenerator class.
|
||||||
|
@license MIT. Copyright (c) 2015 James Devlin / FluentDesk.
|
||||||
|
@module html-png-generator.js
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
|
||||||
|
var TemplateGenerator = require('./template-generator')
|
||||||
|
, FS = require('fs-extra')
|
||||||
|
, HTML = require( 'html' );
|
||||||
|
|
||||||
|
/**
|
||||||
|
An HTML-based PDF resume generator for HackMyResume.
|
||||||
|
*/
|
||||||
|
var HtmlPngGenerator = module.exports = TemplateGenerator.extend({
|
||||||
|
|
||||||
|
init: function() {
|
||||||
|
this._super( 'png', 'html' );
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
Generate the binary PDF.
|
||||||
|
*/
|
||||||
|
onBeforeSave: function( info ) {
|
||||||
|
png( info.mk, info.outputFile );
|
||||||
|
return null; // halt further processing
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
Generate a PDF from HTML.
|
||||||
|
*/
|
||||||
|
function png( markup, fOut ) {
|
||||||
|
|
||||||
|
require('webshot')( markup , { encoding: 'binary', siteType: 'html' } )
|
||||||
|
.pipe( FS.createWriteStream( fOut ) );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}());
|
@ -18,5 +18,6 @@ module.exports = {
|
|||||||
JsonGenerator: require('./gen/json-generator'),
|
JsonGenerator: require('./gen/json-generator'),
|
||||||
YamlGenerator: require('./gen/yaml-generator'),
|
YamlGenerator: require('./gen/yaml-generator'),
|
||||||
JsonYamlGenerator: require('./gen/json-yaml-generator'),
|
JsonYamlGenerator: require('./gen/json-yaml-generator'),
|
||||||
LaTeXGenerator: require('./gen/latex-generator')
|
LaTeXGenerator: require('./gen/latex-generator'),
|
||||||
|
HtmlPngGenerator: require('./gen/html-png-generator')
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user