ow.template
ow.template.addConditionalHelpers
ow.template.addConditionalHelpers()
Adds helper functions equivalent to assemble.io comparison helpers starting with "$" See more in http://assemble.io/helpers/helpers-comparison.html
ow.template.addFormatHelpers
ow.template.addFormatHelpers()
Adds all functions of ow.format as helpers with the prefix owFormat_.
ow.template.addHelper
ow.template.addHelper(aHelperName, aFunction)
Adds aFunction as aHelperName.
ow.template.addHelpers
ow.template.addHelpers(aPrefix, aObject)
Registers all aObject functions as helpers. These helpers identifier will be composed by aPrefix + Name of the each function.
(available after ow.loadTemplate())
ow.template.addInLineCSS2HTML
ow.template.addInLineCSS2HTML(aHTML, aCustomCSSMap) : String
Given aHTML (usually the result of parseMD2HTML) applies a custom inline css (aCustomCSSMap) usually useful to send HTML to email clients. This custom map should be composed of a html tag entity tag (e.g. "p") and, as value, the css style to apply (e.g. "color: red;"). The map will be applied to all html entities on aHTML. If aCustomCSSMap is not provided a default one (suited for markdown html) will be applied.
ow.template.addOpenAFHelpers
ow.template.addOpenAFHelpers()
Adds custom helpers:
- $debug -- calls sprint for the parameter
- $stringify -- stringify the parameter
- $stringifyInLine -- stringify in the same line the parameter
- $toYAML -- returns the YAML version of the parameter
- $toJSON -- returns the JSON version of the parameter
- $env -- returns the current environment variable identified by the parameter
- $escape -- returns an escaped version of the parameter
- $acolor -- returns an ansi color (first argument) escape sequence of the string parameter (second argument)
- $f -- uses the $f format function
- $ft -- uses the $ft format function
- $path -- uses the $path function to query objects
- $from -- uses the $from & fromNLinq to query objects
- $oafp -- uses the oafp function to parse the provided JSON/SLON string and return the results
- $toSLON -- returns the ow.format.toSLON version of an object
- $get -- returns the corresponding value for a key on $get
- $getObj -- equivalent to $get with the extra parameter for $$.get path
- $dateDiff -- returns a number of seconds for a provided date optionally (second argument) with minutes, hours, days, months, weeks or years and (third argument) a default value
- $switch -- equivalent to a javascript switch
- $case -- to be used with $switch for each case
- $default -- to be used with $switch for each case
- $ptable -- returns an ansi ascii printTable representation of an object
- $ptree -- returns an ansi ascii printTree representation of an object
- $pchart -- returns an ansi ascii line chart with an object and a format string: "unit path:color:legend... [-min:0] [-max:100] [-hsize:40] [-vsize:10]"
- $pbar -- returns an ansi ascii progress bar with a value and a max value, a min value, a size, an indicator and space char
- $pbars -- returns an ansi ascii tree of progress bars with a format string: "unit path:color:legend... [-min:0] [-max:100] [-hsize:40]"
- $output -- returns an $output representation of an object (aObj as 1st arg and options in slon as 2nd arg)
- $cjson -- returns an ansi ascii colority representation fo an object
- $cslon -- returns an ansi ascii colored SLON representation of an object
- $pmap -- returns an ansi ascii printMap representation of an object
- $jsmap -- returns a HTML representation of an object
- $t -- given a template and an object instance, as arguments, will process and return the template
- $date -- converts the argument provided to date
- $isoDate -- converts the argument provided to an ISO date string
- $number -- casts the argument provided to number
- $boolean -- casts the argument provided to boolean
- $string -- casts the argument provided to string
- $keys -- returns an array of keys of the provided map
- $values -- returns an array of values of the provided map
- $__ -- returns a undefined value
- $alen -- returns the ansi length of the argument provided
- $len -- returns the string length of the argument provided
- $repeat -- shortcut to the OpenAF's repeat function
- $range -- shortcut to the OpenAF's range function
- $a2m -- shortcut to the OpenAF's $a2m function
- $a4m -- shortcut to the OpenAF's $a4m function
- $m2a -- shortcut to the OpenAF's $m2a function
- $m4a -- shortcut to the OpenAF's $m4a function
- $pass -- returns an empty string
- $sline -- shortcut to the OpenAF's format withSideLine
- $set -- block set of a provided key
- $concat -- concatenates all arguments as a single value
ow.template.addPartial
ow.template.addPartial(aPartialName, aSource)
Registers aSource template as a reusable aPartialName in other templates.
ow.template.compile
ow.template.compile(aSource, anOptionsMap) : String
Tries to precompile aSource and returns a String that can be used with ow.template.execCompiled. Optionally you can provide anOptionsMap for the Handlebars precompiler (see more on ow.template.saveCompiledHBS).
ow.template.delHelper
ow.template.delHelper(aHelperName)
Unregister aHelperName that had been previously added with ow.template.addHelper.
ow.template.delPartial
ow.template.delPartial(aPartialName)
Unregisters aPartialName that had been previously added with ow.template.addPartial
ow.template.execCompiled
ow.template.execCompiled(aCompiledObject) : Function
Tries to execute a previously precompiled Handlebars template (for example, using ow.template.compile) and return it as a Handlebars template functions.
ow.template.getTemplate
ow.template.getTemplate(aSource) : Function
Returns a template function, given aSource, that accepts an object as argument and returns the correspoding template filled with the values provided.
ow.template.html.genStaticVersion
ow.template.html.genStaticVersion(anOriginalHTML) : String
Tries to convert anOriginalHTML with "src" based tags like img, script & stylesheet link tags into a single HTML embeeding all content.
ow.template.html.genStaticVersion4MD
ow.template.html.genStaticVersion4MD(anOriginalMD) : String
Tries to convert a markdown into a single HTML embeeding css and image contents.
ow.template.html.genStaticVersion4MDFile
ow.template.html.genStaticVersion4MDFile(anOriginalMDFile) : String
Tries to convert a markdown file into a single HTML embeeding css and image contents.
ow.template.html.inlineImageTag
ow.template.html.inlineImageTag(aImageFile, justPartial) : String
Returns a base64 representation of aImageFile to include in markdown/html content. If justPartial = true then only the src part of the html img tag is returned.
ow.template.html.inlineSrc
ow.template.html.inlineSrc(aFile, aPrefix, aSuffix) : String
Returns a base64 representation of aFile to include in markdown/html content. If aPrefix and/or aSuffix is provided it will be prefixed and suffixed to the output.
ow.template.html.inlineSrcURL
ow.template.html.inlineSrcURL(aURL, aPrefix, aSuffix) : String
Returns a base64 representation of aURL to include in markdown/html content. If aPrefix and/or aSuffix is provided it will be prefixed and suffixed to the output.
ow.template.html.parseMap
ow.template.html.parseMap(aMapOrArray, genParts) : Object
Returns a string with a HTML representation of the aMapOrArray provided or, if genParts = true, a map with the style css and the out string necessary.
ow.template.html.thinFontCSS
ow.template.html.thinFontCSS(aSize) : String
Returns a CSS string for a thin font with the provided aSize (in points).
ow.template.html.thinFontDiv
ow.template.html.thinFontDiv(aTxt, aSize, aExtra) : String
Returns a HTML div part to write aTxt with the provided aSize (in points). Optionally aExtra css can be added.
ow.template.html.thinFontSpan
ow.template.html.thinFontSpan(aTxt, aSize, aExtra) : String
Returns a HTML span part to write aTxt with the provided aSize (in points). Optionally aExtra css can be added.
ow.template.loadCompiledHBS
ow.template.loadCompiledHBS(aFilename) : Function
Tries to load a previously precompiled Handlebars template (for example, using ow.template.saveCompiledHBS) and return it as a Handlebars template functions.
ow.template.loadHBSs
ow.template.loadHBSs(aMapOfHBSs) : Function
Given a map where the key is a hbs template key and the value is the filepath of a HBS file, will pre-compile the HBS files and return a function(key, data). This function can be used to execute a the pre-compiled templates using the hbs template key and passing the corresponding data map to be used on that template returning the template parsed. Note: the filepath can indicate a file inside a zip file like 'some/path/a.zip::file'.
ow.template.loadPartialHBS
ow.template.loadPartialHBS(aMapOfParialHBSs)
Given a map where the key is a partial hbs template key and the value is the filepath of a HBS file, will load it and add it as a template partial. Note: the filepath can indicate a file inside a zip file like 'some/path/a.zip::file'.
ow.template.md.fromTable
ow.template.md.fromTable(aMarkdown) : Array
Tries to transform aMarkdown table text into an array.
ow.template.md.htmlArrayMap
ow.template.md.htmlArrayMap(anMapOrArray) : String
Converts anMapOrArray into a div html suitable to be added to a markdown.
ow.template.md.maxWidth
ow.template.md.maxWidth(aValue) : String
Generates the appropriate HTML to set the MD page width to aValue (e.g. 800px). If aValue not defined it will unset the default limit.
ow.template.md.table
ow.template.md.table(anArray) : String
Converts anArray into a markdown table string.
ow.template.parse
ow.template.parse(aSource, someData) : String
Returns the results of using someData to the template defined on the aSource provided. Note: for parallel processing you should use ow.template.compile since Handlebars might not be thread-safe.
ow.template.parseHBS
ow.template.parseHBS(aFilename, someData) : String
Returns the results of using someData with the template defined on aFilename (tip: use the extension hbs).
ow.template.parseMD2HTML
ow.template.parseMD2HTML(aMarkdownString, isFull, removeMaxWidth, extraDownOptions) : String
Given aMarkdownString will parse it with showdown (using the github flavor) and return the HTML in a string. If isFull = true it will produce a complete HTML with references for the highlight library+css and github markdown css included internally in OpenAF. Example:
ow.server.httpd.route(hs, ow.server.httpd.mapRoutesWithLibs(hs, {
"/md": (req) => { return hs.replyOKHTML(ow.template.parseMD2HTML(io.readFileString("README.md"), true)) }
}), (req) => { return hs.replyOKText("nothing here...");})
ow.template.saveCompiledHBS
ow.template.saveCompiledHBS(aFilename, aSource, anOptionsMap)
Tries to precompile aSource and save the result into aFilename (tip: use the extension hbsc). This can later be loaded again using ow.template.loadCompiledHBS, for example. Optionally you can provide anOptionsMap for the Handlebars precompiler (see more on the options for Handlebars.precompile). Example:
var source = "My name is . I'm a\n\t- \n";
ow.template.saveCompiledHBS("myroles.hbsc", source, {
{ "knowHelpers": ["each"], "knowHelpersOnly": true }
};
ow.template.saveHBS
ow.template.saveHBS(aFilename, aSource)
Saves aSource Handlebars template into aFilename (tip: use the extension hbs).
ow.template.unloadPartialHBSs
ow.template.unloadPartialHBSs(aMapOFPartialHBSs)
Given the same map provided to ow.template.loadPartialHBS will actually unload them as template partials.