Commit 68f62dd9 authored by Björn Bartels's avatar Björn Bartels 👩🏻
Browse files

PATLAB-8 update handlebars helpers

parent 22873c21
Loading
Loading
Loading
Loading
+64 −0
Original line number Diff line number Diff line
/**
 * simple text helper to provide consistent test-data over all patterns
 * 
 * usage:
 * {{#texthelper $mode}}
 * 
 * provides text samples for
 * - text
 * - date/time
 * - contact info
 * - product info
 * 
 * default mode: short (text)
 * 
 */
const TextHelper_Texts = {
	
// product
	'product-name' : 'An Awesome Product Name',
	'product-id'   : '98765-432109',
	'product-ean'  : '987-65432-109-8',
		

// contact
	'name'        : 'Marianne Mustermann',
	'name-rev'    : 'Mustermann, Marianne',
	'prename'     : 'Marianne',
	'lastname'    : 'Mustermann',
	'street'      : 'Musterstraße',
	'housenumber' : '12a',
	'streetnr'    : 'Musterstraße 12a',
	'zipcode'     : '12345',
	'city'        : 'Musterstadt',
	'zipcity'     : '12345 Musterstadt',
	'cityzip'     : 'Musterstadt, 12345',
	'country'     : 'Deutschland',
	'iso'         : 'DE',
	'phone'       : '+49 1234 5678-9012',
	'email'       : 'contact@example.com',
	'url'         : 'http://example.com',
	'social'      : '@twitter_user',
	

// date/time
	'time'      : '13:54h',
	'date'      : '12.06.2017',
	'date-long' : '12. Juni 2017',
	

// text
	'word'        : 'Loremipsum',
	'word-dashed' : 'Lorem-ipsum',
	'words'       : 'Lorem ipsum dolor sit amet',
	'normal'      : 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.',
	'long'        : 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.',
	'xlong'       : 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet,',
	'short'       : 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.',
	
	
	'default' : 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'
		
};

module.exports = TextHelper_Texts;
 No newline at end of file
+5 −1
Original line number Diff line number Diff line
@@ -11,7 +11,11 @@ var hljs = require('highlight.js');
 * @returns The HTML inside the helper, with highlight.js classes added.
 */
function formatCode (language, options) {
  if (typeof language === 'undefined') language = 'html';
  
  if (typeof options === 'undefined') {
	  var options = language;
	  language = 'html';
  }

  var code = hljs.highlight(language, options.fn(this)).value;

lib/handlebars/cond.js

deleted100644 → 0
+0 −24
Original line number Diff line number Diff line
var handlebars = require('handlebars');
/**
 * simple condition checker
 * 
 * USAGE:
 * 
 * {{#cond "this.myvar == 'hallo'"}}
 *     $myvar ist gleich '{{myvar}}'
 * {{else}}
 *     $myvar ist nicht gleich 'hallo'
 * {{/cond}}
 * 
 */
handlebars.registerHelper('cond', function() {

	var condition = `${arguments[0]}`;
	var options   = arguments[1];

	var result    = eval(condition.toString()); // .bind(this);
	
	if (result === true) return options.fn(this);
	else return options.inverse(this);
    
});
+6 −2
Original line number Diff line number Diff line
@@ -40,7 +40,9 @@ handlebars.registerHelper('escape', escape);
 * @returns {string} A capitalized string.
 */
handlebars.registerHelper('toUpper', function(str) {
  if (typeof str === 'undefined') str = '';
  if (typeof str !== 'string') {
	  return '';
  }
  return str[0].toUpperCase() + str.slice(1);
});

@@ -50,7 +52,9 @@ handlebars.registerHelper('toUpper', function(str) {
 * @returns {string} A lowercase string.
 */
handlebars.registerHelper('toLower', function(str) {
  if (typeof str === 'undefined') str = '';
  if (typeof str !== 'string') {
	  return '';
  }
  return str.toLowerCase();
});

+0 −11
Original line number Diff line number Diff line
var handlebars = require('handlebars');
var hljs = require('highlight.js');
var $markdown = require('../vendor/markdown-it');


function highlightCode(code, language) {
    if (typeof language === 'undefined') language = 'html';

    var renderedCode = hljs.highlight(language, code).value;
    var output = `<div class="code-example"><pre><code class="${language}">${renderedCode}</code></pre></div>`;

    return output;
};
  
function markdown(options) {

    return $markdown.render(options.fn(this));
Loading