mirror of
				https://github.com/JuanCanham/HackMyResume.git
				synced 2025-11-04 06:47:27 +00:00 
			
		
		
		
	Scrub.
This commit is contained in:
		@@ -1,10 +1,11 @@
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
Core resume generation module for FluentCMD.
 | 
					Internal resume generation logic for FluentCMD.
 | 
				
			||||||
@license Copyright (c) 2015 by James M. Devlin. All rights reserved.
 | 
					@license Copyright (c) 2015 | James M. Devlin
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module.exports = function () {
 | 
					module.exports = function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // We don't mind pseudo-globals here
 | 
				
			||||||
  var MD   = require( 'marked' )
 | 
					  var MD   = require( 'marked' )
 | 
				
			||||||
    , XML  = require( 'xml-escape' )
 | 
					    , XML  = require( 'xml-escape' )
 | 
				
			||||||
    , HTML = require( 'html' )
 | 
					    , HTML = require( 'html' )
 | 
				
			||||||
@@ -14,20 +15,19 @@ module.exports = function () {
 | 
				
			|||||||
    , extend = require( './utils/extend' )
 | 
					    , extend = require( './utils/extend' )
 | 
				
			||||||
    , _ = require('underscore')
 | 
					    , _ = require('underscore')
 | 
				
			||||||
    , unused = require('./utils/string')
 | 
					    , unused = require('./utils/string')
 | 
				
			||||||
    , FLUENT = require('fluentlib');
 | 
					    , FLUENT = require('fluentlib')
 | 
				
			||||||
 | 
					    , rez
 | 
				
			||||||
  var rez, _log;
 | 
					    , _log;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
  Core resume generation method for HMR. Given a source JSON resume file, a
 | 
					  Core workhorse method for FluentCMD. Given a source JSON resume, a destination
 | 
				
			||||||
  destination resume spec, and a theme file, generate 0..N resumes in the
 | 
					  resume path, and a theme file, generate 0..N resumes in the desired formats.
 | 
				
			||||||
  requested formats. Requires filesystem access. To perform generation without
 | 
					 | 
				
			||||||
  filesystem access, use the single() method below.
 | 
					 | 
				
			||||||
  @param src Path to the source JSON resume file: "rez/resume.json".
 | 
					  @param src Path to the source JSON resume file: "rez/resume.json".
 | 
				
			||||||
  @param dst Path to the destination resume file(s): "rez/resume.all".
 | 
					  @param dst An array of paths to the destination resume file(s): "rez/resume.all".
 | 
				
			||||||
  @param theme Friendly name of the resume theme. Defaults to "default".
 | 
					  @param theme Friendly name of the resume theme. Defaults to "default".
 | 
				
			||||||
 | 
					  @param logger Optional logging override.
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
  function hmr( src, dst, theme, logger ) {
 | 
					  function gen( src, dst, theme, logger ) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _log = logger || console.log;
 | 
					    _log = logger || console.log;
 | 
				
			||||||
    _opts.theme = theme;
 | 
					    _opts.theme = theme;
 | 
				
			||||||
@@ -57,7 +57,7 @@ module.exports = function () {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Run the transformation!
 | 
					    // Run the transformation!
 | 
				
			||||||
    var finished = targets.map( gen );
 | 
					    var finished = targets.map( single );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      sheet: rez,//.rep,
 | 
					      sheet: rez,//.rep,
 | 
				
			||||||
@@ -71,7 +71,7 @@ module.exports = function () {
 | 
				
			|||||||
  @param f Full path to the destination resume to generate, for example,
 | 
					  @param f Full path to the destination resume to generate, for example,
 | 
				
			||||||
  "/foo/bar/resume.pdf" or "c:\foo\bar\resume.txt".
 | 
					  "/foo/bar/resume.pdf" or "c:\foo\bar\resume.txt".
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
  function gen( f ) {
 | 
					  function single( f ) {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // Get the output file type (pdf, html, txt, etc)
 | 
					      // Get the output file type (pdf, html, txt, etc)
 | 
				
			||||||
@@ -113,48 +113,17 @@ module.exports = function () {
 | 
				
			|||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
  Default options.
 | 
					  Default options. TODO: Some of these are no longer necessary.
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
  var _opts = {
 | 
					  var _opts = {
 | 
				
			||||||
    prettyPrint: true,
 | 
					 | 
				
			||||||
    prettyIndent: 2,
 | 
					 | 
				
			||||||
    keepBreaks: true,
 | 
					 | 
				
			||||||
    nSym: '&newl;',
 | 
					 | 
				
			||||||
    rSym: '&retn;',
 | 
					 | 
				
			||||||
    theme: 'default',
 | 
					    theme: 'default',
 | 
				
			||||||
    sheets: [],
 | 
					 | 
				
			||||||
    filters: {
 | 
					 | 
				
			||||||
      out: function( txt ) { return txt; },
 | 
					 | 
				
			||||||
      raw: function( txt ) { return txt; },
 | 
					 | 
				
			||||||
      xml: function( txt ) { return XML(txt); },
 | 
					 | 
				
			||||||
      md: function( txt ) { return MD(txt); },
 | 
					 | 
				
			||||||
      mdin: function( txt ) { return MD(txt).replace(/^\s*\<p\>|\<\/p\>\s*$/gi, ''); },
 | 
					 | 
				
			||||||
      lower: function( txt ) { return txt.toLowerCase(); }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    template: {
 | 
					 | 
				
			||||||
      interpolate: /\{\{(.+?)\}\}/g,
 | 
					 | 
				
			||||||
      escape: /\{\{\=(.+?)\}\}/g,
 | 
					 | 
				
			||||||
      evaluate: /\{\%(.+?)\%\}/g,
 | 
					 | 
				
			||||||
      comment: /\{\#(.+?)\#\}/g
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    pdf: 'wkhtmltopdf'
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
  Regexes for linebreak preservation.
 | 
					  Module public interface. Used by FCV Desktop.
 | 
				
			||||||
  */
 | 
					 | 
				
			||||||
  var _reg = {
 | 
					 | 
				
			||||||
    regN: new RegExp( '\n', 'g' ),
 | 
					 | 
				
			||||||
    regR: new RegExp( '\r', 'g' ),
 | 
					 | 
				
			||||||
    regSymN: new RegExp( _opts.nSym, 'g' ),
 | 
					 | 
				
			||||||
    regSymR: new RegExp( _opts.rSym, 'g' )
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
  Module public interface.
 | 
					 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
  return {
 | 
					  return {
 | 
				
			||||||
    generate: hmr,
 | 
					    generate: gen,
 | 
				
			||||||
    options: _opts,
 | 
					    options: _opts,
 | 
				
			||||||
    formats: _fmts
 | 
					    formats: _fmts
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#! /usr/bin/env node
 | 
					#! /usr/bin/env node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
Command-line resume generation logic for FluentCMD.
 | 
					Command-line interface (CLI) for FluentCMD via Node.js.
 | 
				
			||||||
@license Copyright (c) 2015 by James M. Devlin. All rights reserved.
 | 
					@license Copyright (c) 2015 | James M. Devlin
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var ARGS = require( 'minimist' )
 | 
					var ARGS = require( 'minimist' )
 | 
				
			||||||
@@ -16,9 +16,8 @@ try {
 | 
				
			|||||||
  var args = ARGS( process.argv.slice(2) );
 | 
					  var args = ARGS( process.argv.slice(2) );
 | 
				
			||||||
  var src = args._.filter( function( a ) { return a.endsWith('.json'); });
 | 
					  var src = args._.filter( function( a ) { return a.endsWith('.json'); });
 | 
				
			||||||
  var dst = args._.filter( function( a ) { return !a.endsWith('.json'); });
 | 
					  var dst = args._.filter( function( a ) { return !a.endsWith('.json'); });
 | 
				
			||||||
  FCMD.generate( src, dst, args.t || 'default' );
 | 
					  FCMD.generate( src, dst, args.t || 'informatic' );
 | 
				
			||||||
 | 
					  process.platform !== 'win32' && console.log('\n');
 | 
				
			||||||
  console.log('\n');
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
catch( ex ) {
 | 
					catch( ex ) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
Plain JavaScript replacement of jQuery .extend based on jQuery sources.
 | 
					Plain JavaScript replacement of jQuery .extend based on jQuery sources.
 | 
				
			||||||
@license Copyright (c) 2015 by James M. Devlin. All rights reserved.
 | 
					@license Copyright (c) 2015 | James M. Devlin
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function _extend() {
 | 
					function _extend() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
String utility functions.
 | 
					String utility functions.
 | 
				
			||||||
@license Copyright (c) 2015 by James M. Devlin. All rights reserved.
 | 
					@license Copyright (c) 2015 | James M. Devlin
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user