mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2024-11-22 08:20:11 +00:00
Aerate.
This commit is contained in:
parent
d894f62607
commit
7c0a9bcc02
@ -17,11 +17,15 @@ LO = require 'lodash'
|
|||||||
PATH = require 'path'
|
PATH = require 'path'
|
||||||
printf = require 'printf'
|
printf = require 'printf'
|
||||||
_ = require 'underscore'
|
_ = require 'underscore'
|
||||||
unused = require '../utils/string';
|
unused = require '../utils/string'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###* Generic template helper function definitions. ###
|
###* Generic template helper function definitions. ###
|
||||||
GenericHelpers = module.exports =
|
GenericHelpers = module.exports =
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Convert the input date to a specified format through Moment.js.
|
Convert the input date to a specified format through Moment.js.
|
||||||
If date is invalid, will return the time provided by the user,
|
If date is invalid, will return the time provided by the user,
|
||||||
@ -35,6 +39,8 @@ GenericHelpers = module.exports =
|
|||||||
|
|
||||||
datetime || (typeof fallback == 'string' ? fallback : (fallback == true ? 'Present' : null));
|
datetime || (typeof fallback == 'string' ? fallback : (fallback == true ? 'Present' : null));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Given a resume sub-object with a start/end date, format a representation of
|
Given a resume sub-object with a start/end date, format a representation of
|
||||||
the date range.
|
the date range.
|
||||||
@ -44,12 +50,16 @@ GenericHelpers = module.exports =
|
|||||||
return '' if !obj
|
return '' if !obj
|
||||||
_fromTo obj.start, obj.end, fmt, sep, fallback, options
|
_fromTo obj.start, obj.end, fmt, sep, fallback, options
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Format a from/to date range for display.
|
Format a from/to date range for display.
|
||||||
@method toFrom
|
@method toFrom
|
||||||
###
|
###
|
||||||
fromTo: () -> _fromTo.apply this, arguments
|
fromTo: () -> _fromTo.apply this, arguments
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Return a named color value as an RRGGBB string.
|
Return a named color value as an RRGGBB string.
|
||||||
@method toFrom
|
@method toFrom
|
||||||
@ -66,6 +76,8 @@ GenericHelpers = module.exports =
|
|||||||
return colorDefault
|
return colorDefault
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Return true if the section is present on the resume and has at least one
|
Return true if the section is present on the resume and has at least one
|
||||||
element.
|
element.
|
||||||
@ -84,6 +96,8 @@ GenericHelpers = module.exports =
|
|||||||
ret = options.fn @
|
ret = options.fn @
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Emit the size of the specified named font.
|
Emit the size of the specified named font.
|
||||||
@param key {String} A named style from the "fonts" section of the theme's
|
@param key {String} A named style from the "fonts" section of the theme's
|
||||||
@ -133,6 +147,7 @@ GenericHelpers = module.exports =
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Emit the font face (such as 'Helvetica' or 'Calibri') associated with the
|
Emit the font face (such as 'Helvetica' or 'Calibri') associated with the
|
||||||
provided key.
|
provided key.
|
||||||
@ -185,6 +200,8 @@ GenericHelpers = module.exports =
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Emit a comma-delimited list of font names suitable associated with the
|
Emit a comma-delimited list of font names suitable associated with the
|
||||||
provided key.
|
provided key.
|
||||||
@ -240,6 +257,8 @@ GenericHelpers = module.exports =
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Capitalize the first letter of the word.
|
Capitalize the first letter of the word.
|
||||||
@method section
|
@method section
|
||||||
@ -248,6 +267,8 @@ GenericHelpers = module.exports =
|
|||||||
val = (val && val.trim()) || ''
|
val = (val && val.trim()) || ''
|
||||||
return if val then (val.charAt(0).toUpperCase() + val.slice(1)) else val
|
return if val then (val.charAt(0).toUpperCase() + val.slice(1)) else val
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Return true if the context has the property or subpropery.
|
Return true if the context has the property or subpropery.
|
||||||
@method has
|
@method has
|
||||||
@ -258,6 +279,8 @@ GenericHelpers = module.exports =
|
|||||||
return options.fn this
|
return options.fn this
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Generic template helper function to display a user-overridable section
|
Generic template helper function to display a user-overridable section
|
||||||
title for a FRESH resume theme. Use this in lieue of hard-coding section
|
title for a FRESH resume theme. Use this in lieue of hard-coding section
|
||||||
@ -291,6 +314,8 @@ GenericHelpers = module.exports =
|
|||||||
this.opts.stitles[ sname.toLowerCase().trim() ] ) ||
|
this.opts.stitles[ sname.toLowerCase().trim() ] ) ||
|
||||||
stitle;
|
stitle;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Convert inline Markdown to inline WordProcessingML.
|
Convert inline Markdown to inline WordProcessingML.
|
||||||
@method wpml
|
@method wpml
|
||||||
@ -304,6 +329,7 @@ GenericHelpers = module.exports =
|
|||||||
return txt
|
return txt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Emit a conditional link.
|
Emit a conditional link.
|
||||||
@method link
|
@method link
|
||||||
@ -311,6 +337,8 @@ GenericHelpers = module.exports =
|
|||||||
link: ( text, url ) ->
|
link: ( text, url ) ->
|
||||||
return if url && url.trim() then ('<a href="' + url + '">' + text + '</a>') else text
|
return if url && url.trim() then ('<a href="' + url + '">' + text + '</a>') else text
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Return the last word of the specified text.
|
Return the last word of the specified text.
|
||||||
@method lastWord
|
@method lastWord
|
||||||
@ -318,6 +346,8 @@ GenericHelpers = module.exports =
|
|||||||
lastWord: ( txt ) ->
|
lastWord: ( txt ) ->
|
||||||
return if txt && txt.trim() then _.last( txt.split(' ') ) else ''
|
return if txt && txt.trim() then _.last( txt.split(' ') ) else ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Convert a skill level to an RGB color triplet. TODO: refactor
|
Convert a skill level to an RGB color triplet. TODO: refactor
|
||||||
@method skillColor
|
@method skillColor
|
||||||
@ -333,6 +363,8 @@ GenericHelpers = module.exports =
|
|||||||
[ '#FFFFFF', '#5CB85C', '#F1C40F', '#428BCA', '#C00000' ]
|
[ '#FFFFFF', '#5CB85C', '#F1C40F', '#428BCA', '#C00000' ]
|
||||||
return skillColors[idx]
|
return skillColors[idx]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Return an appropriate height. TODO: refactor
|
Return an appropriate height. TODO: refactor
|
||||||
@method lastWord
|
@method lastWord
|
||||||
@ -341,6 +373,8 @@ GenericHelpers = module.exports =
|
|||||||
idx = skillLevelToIndex lvl
|
idx = skillLevelToIndex lvl
|
||||||
['38.25', '30', '16', '8', '0'][idx]
|
['38.25', '30', '16', '8', '0'][idx]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Return all but the last word of the input text.
|
Return all but the last word of the input text.
|
||||||
@method initialWords
|
@method initialWords
|
||||||
@ -348,6 +382,8 @@ GenericHelpers = module.exports =
|
|||||||
initialWords: ( txt ) ->
|
initialWords: ( txt ) ->
|
||||||
if txt && txt.trim() then _.initial( txt.split(' ') ).join(' ') else ''
|
if txt && txt.trim() then _.initial( txt.split(' ') ).join(' ') else ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Trim the protocol (http or https) from a URL/
|
Trim the protocol (http or https) from a URL/
|
||||||
@method trimURL
|
@method trimURL
|
||||||
@ -355,6 +391,8 @@ GenericHelpers = module.exports =
|
|||||||
trimURL: ( url ) ->
|
trimURL: ( url ) ->
|
||||||
if url && url.trim() then url.trim().replace(/^https?:\/\//i, '') else ''
|
if url && url.trim() then url.trim().replace(/^https?:\/\//i, '') else ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Convert text to lowercase.
|
Convert text to lowercase.
|
||||||
@method toLower
|
@method toLower
|
||||||
@ -362,6 +400,8 @@ GenericHelpers = module.exports =
|
|||||||
toLower: ( txt ) ->
|
toLower: ( txt ) ->
|
||||||
if txt && txt.trim() then txt.toLowerCase() else ''
|
if txt && txt.trim() then txt.toLowerCase() else ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Convert text to lowercase.
|
Convert text to lowercase.
|
||||||
@method toLower
|
@method toLower
|
||||||
@ -369,6 +409,8 @@ GenericHelpers = module.exports =
|
|||||||
toUpper: ( txt ) ->
|
toUpper: ( txt ) ->
|
||||||
if txt && txt.trim() then txt.toUpperCase() else ''
|
if txt && txt.trim() then txt.toUpperCase() else ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Return true if either value is truthy.
|
Return true if either value is truthy.
|
||||||
@method either
|
@method either
|
||||||
@ -377,6 +419,8 @@ GenericHelpers = module.exports =
|
|||||||
if lhs || rhs
|
if lhs || rhs
|
||||||
return options.fn this
|
return options.fn this
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Conditional stylesheet link. Creates a link to the specified stylesheet with
|
Conditional stylesheet link. Creates a link to the specified stylesheet with
|
||||||
<link> or embeds the styles inline with <style></style>, depending on the
|
<link> or embeds the styles inline with <style></style>, depending on the
|
||||||
@ -413,6 +457,8 @@ GenericHelpers = module.exports =
|
|||||||
# it when Handlebars is the chosen engine, which is most of the time.
|
# it when Handlebars is the chosen engine, which is most of the time.
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Perform a generic comparison.
|
Perform a generic comparison.
|
||||||
See: http://doginthehat.com.au/2012/02/comparison-block-helper-for-handlebars-templates
|
See: http://doginthehat.com.au/2012/02/comparison-block-helper-for-handlebars-templates
|
||||||
@ -445,6 +491,8 @@ relies on kludging the running verb into. opts.
|
|||||||
_reportError = ( code, params ) ->
|
_reportError = ( code, params ) ->
|
||||||
GenericHelpers.opts.errHandler.err( code, params )
|
GenericHelpers.opts.errHandler.err( code, params )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###*
|
###*
|
||||||
Format a from/to date range for display.
|
Format a from/to date range for display.
|
||||||
###
|
###
|
||||||
@ -487,6 +535,8 @@ _fromTo = ( dateA, dateB, fmt, sep, fallback ) ->
|
|||||||
return dateFrom || dateTo
|
return dateFrom || dateTo
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
skillLevelToIndex = ( lvl ) ->
|
skillLevelToIndex = ( lvl ) ->
|
||||||
idx = 0
|
idx = 0
|
||||||
if String.is( lvl )
|
if String.is( lvl )
|
||||||
@ -507,6 +557,7 @@ skillLevelToIndex = ( lvl ) ->
|
|||||||
idx
|
idx
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Note [1] --------------------------------------------------------------------
|
# Note [1] --------------------------------------------------------------------
|
||||||
# Make sure it's precisely a string or array since some template engines jam
|
# Make sure it's precisely a string or array since some template engines jam
|
||||||
# their options/context object into the last parameter and we are allowing the
|
# their options/context object into the last parameter and we are allowing the
|
||||||
|
Loading…
Reference in New Issue
Block a user