appStyles.setBasicStyles = function () { // Handlebars helper for logo hbs.registerHelper('logo', function (uri) { if (config.logo_uri != "") { uri = config.logo_uri } else { uri = config.base_path + uri; } return new hbs.SafeString( "<img class='img-responsive' src=" + uri + ">" ); }); hbs.registerHelper('siteStyles', function () { var styles = ""; if (config.styles.header_background_color != "") { styles += ".header, .grass-header-nav{background-color: " + config.styles.header_background_color + "}" } return new hbs.SafeString( "<style>" + styles + "</style>" ); }); hbs.registerHelper('basePath', function () { return new hbs.SafeString(config.base_path); }); hbs.registerHelper('buildJSON', function (obj) { return JSON.stringify(obj); }); }
export default (app) => { app.set('views', path.resolve(__dirname, '../views')) // 使用的是hbs模版引擎 app.set('view engine', 'hbs') app.locals.layout = 'shared/layout.hbs' hbs.localsAsTemplateData(app) hbs.registerPartials(path.resolve(__dirname, '../views/shared')) const blocks = {} hbs.registerHelper('block', (name) => { const result = (blocks[name] || []).join('\n') // clear the block blocks[name] = [] return result }) hbs.registerHelper('extend', (name, context) => { var block = blocks[name] if (!block) { block = blocks[name] = [] } // for older versions of handlebars, use block.push(context(this)) block.push(context.fn(this)) }) hbs.registerHelper('asset', (path) => { return `/assets/${path}` }) }
const hbsHelper = () => { const $staticify = staticify(path.join(__dirname, 'public')); hbs.registerHelper('getVersionedPath', ($path) => { return $staticify.getVersionedPath($path); }); hbs.registerHelper('toUpperCase', (str) => { return str.toUpperCase(); }); };
var registerHelpers = module.exports = function () { // Converts unix time to formatted date hbs.registerHelper('unix_to_date', function (unixDate) { return moment.unix(unixDate).format('DD/MM/YYYY HH:mm:ss'); }); hbs.registerHelper('authorQuery', function (authorString) { return qs.stringify({author: authorString}); }); };
table.getMetaData(req.params.id, function(err, data) { if ( err ) { console.log( err ); res.render( 'table', { title: "Ain't no table here" }); } else { // Send up handelbars helper hbs.registerHelper('ifIsProduction', function( options ) { return process.env.NODE_ENV === 'production' ? options.fn(this) : options.inverse(this); }); // Set up share message generator var shareMessage = new ShareMessage( data ); console.log( data ); res.render( 'table', { title: data.title || 'Untitled', embed_host: config.embed.host, embed_id: req.params.id || 1, embed_uri: encodeURIComponent( config.embed.host + '/' + req.params.id || 1 ), tweet_body: encodeURIComponent( shareMessage.twitterMessage() ), email_subject: shareMessage.emailMessage().subject, email_body: shareMessage.emailMessage().body, home_host: config.app.host }); } });
exports.register = function () { hbs.registerHelper('cmp', function (_l, _op, _r, _options) { if (arguments.length < 3) { throw new Error('The `cmp` helper requires exactly three parameters'); } var operators = { '==': function (l,r) { return (l == r); }, '!=': function (l,r) { return (l != r); }, '===': function (l,r) { return (l === r); }, '<': function (l,r) { return (l < r); }, '<=': function (l,r) { return (l <= r); }, '>': function (l,r) { return (l > r); }, '>=': function (l,r) { return (l >= r); }, 'typeof': function (l,r) { return ((typeof l) == r); } }; if (!operators[_op]) { throw new Error('Unrecognized operator `' + _op + '`'); } var rv = operators[_op](_l, _r); if (rv) { return _options.fn(this); } else { return _options.inverse(this); } }); };
define(function(require, exports, module){ var Handlebars = require('hbs'); var S = require('string'); Handlebars.registerHelper({ string : function() { var ctn = arguments[0]; var method = arguments[1]; var args = [].slice.call(arguments, 2, arguments.length-1); var opts = arguments[arguments.length -1]; var sObj = S(ctn || ""); var sFn = sObj[method]; var ret; if(typeof sFn === 'function') { ret = sFn.apply(sObj, args); if(ret && ret.s) { return ret.s; } } return null; } }); return Handlebars; });
module.exports = function expressAppSetup (app) { // // Configure Express App // app.set('port', (process.env.PORT || port)); app.set('view engine', 'hbs'); app.set('views', root + '/assets/templates'); app.set('view options', { layout: 'layouts/default.hbs' }); app.use(express.static(root + '/public')); // // Handlebars Setup // // Register Template Partials hbs.registerPartials(root + '/assets/templates/partials'); // Handlebars Helpers var blocks = {}; hbs.registerHelper('extend', function(name, context) { var block = blocks[name]; if (!block) { block = blocks[name] = []; } block.push(context.fn(this)); // for older versions of handlebars, use block.push(context(this)); }); hbs.registerHelper('block', function(name) { var val = (blocks[name] || []).join('\n'); // clear the block blocks[name] = []; return val; }); hbs.registerHelper('json', function(context) { return JSON.stringify(context); }); return app; };
db.collection(req.params.name, function(err, collection) { hbs.registerHelper('collection', req.params.name); collection.find({}).toArray(function(err, items) { res.render(__dirname + '/../views/collection.hbs', { title: req.params.name, items:items }); }); });
helpers.prototype.init = function(){ var hbs = require('hbs'); hbs.registerPartials(appRoot + '/views/partials'); // Initialize helpers hbs.registerHelper('formatMoney', function(what) { return new hbs.SafeString(accounting.formatMoney(what)); }); hbs.registerHelper('stringify', function(what) { if(what) return new hbs.SafeString(JSON.stringify(what)); }); }
module.exports = function(app){ //Templating app.set('view engine', 'hbs'); app.set('views', __dirname + '/views'); var blocks = {}; hbs.registerHelper('extend', function(name, context) { var block = blocks[name]; if (!block) { block = blocks[name] = []; } block.push(context.fn(this)); // for older versions of handlebars, use block.push(context(this)); }); hbs.registerHelper('block', function(name) { var val = (blocks[name] || []).join('\n'); // clear the block blocks[name] = []; return val; }); };
db.on('open', function(callback) { console.log('数据库连接成功'); // 读取博客站点配置 var Config = require('../models/config').Config; var meta_dynamic = '', meta_static = ''; Config.findOne() .exec(function(err, config) { if (err) { _global.blog_title = '博客标题'; meta_static += '<meta name="author" content="作者">' + '<meta name="email" content="邮箱">'; meta_dynamic += '<meta name="description" content="描述">' + '<meta name="keywords" content="关键词">'; return console.error(err.message); } _global.blog_title = config.blog_title; _global.list_count = config.blog_list_count; meta_static += '<meta name="author" content="' + config.profile_author + '">' + '<meta name="email" content="' + config.profile_email + '">'; meta_dynamic += '<meta name="description" content="' + config.blog_description + '">' + '<meta name="keywords" content="' + config.blog_keywords + '">'; }); hbs.registerHelper('meta_static', function() { return meta_static; }); hbs.registerHelper('meta_dynamic', function(meta) { if (meta) { return '<meta name="description" content="' + meta.description + '">' + '<meta name="keywords" content="' + meta.keywords + '">'; } return meta_dynamic; }); });
Server.views.autoload = function(app) { var hbs = require('hbs') , blocks = {}; hbs.registerHelper('extend', function(name, context) { var block = blocks[name]; if (!block) { block = blocks[name] = []; } block.push(context.fn(this)); // for older versions of handlebars, use block.push(context(this)); }); hbs.registerHelper('block', function(name) { var val = (blocks[name] || []).join('\n'); // clear the block blocks[name] = []; return val; }); hbs.registerHelper('jslib', function (name) { if (app.settings.env == 'development') { return "/js"; } else { return "/js-min" } }); hbs.registerHelper('minlib', function (name) { if (app.settings.env == 'development') { return name; } else { var sname = name.split('.'); return sname.slice(0, sname.length-1).join('.') + '.min.' + sname.slice(sname.length-1); } }); hbs.registerHelper('json', JSON.stringify); };
}, function(err, includes) { var partials = {}; _.each(includes, function(value, key) { partials[path.basename(key, '.html')] = handlebars.compile(value); }); hbs.registerHelper('renderPartial', function(partialName, data) { var tpl = partials[partialName]; return (tpl ? tpl(data) : ''); }); hbs.registerHelper('enable', function(partialName, data) { var tpl = partials['enable_' + partialName]; return (tpl ? tpl(data) : ''); }); hbs.registerHelper('input', function(partialName, data) { var tpl = partials['input_' + partialName]; return (tpl ? tpl((data && data.hash ? data.hash : data)) : ''); }); });
router.get('/upcoming', function (req, res) { hbs.registerHelper('classRowHelper', function(index) { if (index === 0) { return 'row'; } else { return 'row inner-top-md'; } }); hbs.registerHelper('class1helper', function(index) { if (index === 0) { return 'col-sm-6 inner-right-xs text-right'; } else if (index === 1 || index === 3) { return 'col-sm-6 col-sm-push-6 inner-left-xs'; } else if (index === 2 || index ===4) { return 'col-sm-6 inner-right-xs text-right'; } }); hbs.registerHelper('class2helper', function(index) { if (index === 0) { return 'col-sm-6 inner-top-xs inner-left-xs'; } else if (index === 1 || index === 3) { return 'col-sm-6 col-sm-pull-6 inner-top-xs inner-right-xs'; } else if (index === 2 || index ===4){ return 'col-sm-6 inner-top-xs inner-left-xs'; } }); Event.find({}, null, {sort: {startDate: 1}}, function (err, events) { if (err) res.status(500).json(err); res.render('upcoming', { events: events }); }); });
module.exports = function(app) { // Configure i18n var i18nConfiguration = config.i18n || { locales: ['en'], cookie: 'locale', }; i18nConfiguration.objectNotation = true; i18nConfiguration.directory = _root + '/config/i18n'; i18n.configure(i18nConfiguration); // // Register helper functions to hbs // hbs.registerHelper('__', function() { var args = Array.prototype.slice.call(arguments, 0, -1), result = i18n.__.apply(this, args); debug('i18n - ' + i18n.getLocale() + ':\r\n' + args, result); return result; }); hbs.registerHelper('__n', function() { var args = Array.prototype.slice.call(arguments, 0, -1), result = i18n.__n.apply(this, args); debug('i18n - ' + i18n.getLocale() + ':\r\n' + args, i18n.__n.apply(this, args)); return result; }); app.use(i18n.init); };
db.collection(req.params.name, function(err, collection) { hbs.registerHelper('collection', req.params.name); if(req.params.id) { var mongo = require('mongodb'); var BSON = mongo.BSONPure; var o_id = new BSON.ObjectID(req.params.id); collection.update({_id:o_id}, {$set:req.body}, function(err, document) { res.render(__dirname + '/../views/document.hbs', { document:JSON.stringify(document), _id:document._id }); }); } });
define(function(require, exports, module) { var Handlebars = require('hbs'); Handlebars.registerHelper({ 'abbreviate' : function(v1, v2, options) { v2 = v2 - 0; var ellipsis = '...'; if (v1.length > v2) { return v1.slice(0, v2 - ellipsis.length) + ellipsis; } else { return v1; } }, // 功能同StringHelpers里的stripTags,处理HTML标签 'stripTags' : function(v1, options) { return v1.replace(/<(?:.|\s)*?>/g, ""); }, // 功能同StringHelpers里的replace_,用于替换 'replace_' : function(v1, v2, v3, options) { return v1.replace(new RegExp(v2, 'g'), v3); }, 'byteSub' : function(str, len){ var strlen = 0; var s = ""; for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 128) { strlen += 2; } else { strlen++; } s += str.charAt(i); if (strlen >= len) { if(i+1 != str.length) { str += '...'; } break; } } return s; } }); return Handlebars; });
router.get('/chat', isAuthenticated, function(req, res){ // dbManager.removeAllMessages(function(err){ // console.log(err); // throw err; // }); hbs.registerHelper('getAuthor', function(context) { return JSON.stringify(context); }); dbManager.getLastMessages(function(err){ console.log(err); throw err; }, function(data) { res.render('index', { user: req.user, messages: data}); }); });
const Handlebars = require('hbs'); Handlebars.registerHelper("selectif", require('handlebars-helper-selectif'));
daemon.use(cors({ origin: true, credentials: true })); daemon.options('*', cors()); /* * Save static content */ daemon.use(serveStatic('.')); // set view engine to handlebars daemon.set('view engine', 'hbs'); hbs.registerHelper('j', function(val){ if(val && val.join){ return val.join(" "); } else { return val; } }); /* * returns JSON representation of a profile document stored in config.profilesDir * parameters * slug - path partial to profile data * */ function getProfile(slug){ return new Promise(function(resolve, reject){ fs.readFile(config.profilesDir + '/' + slug + '/index.json', function(err, file){ if(err){ reject(err);
}); passport.deserializeUser(function(user, done) { done(null, JSON.parse(user)); }); app.use(cookieParser()); app.use(session({ secret: config.secret })); app.use(passport.initialize()); app.use(passport.session()); app.set('view engine', 'html'); app.engine('html', require('hbs').__express); app.set('views', Path.resolve(__dirname, 'views')); hbs.registerHelper('indent_pixels', function(level) { return level * 20 + 'px'; }); hbs.registerHelper('debug', function(obj) { return JSON.stringify(obj, null, 2); }); hbs.registerHelper('format_date', function(date, format) { return moment(date).format(format); }); /*app.post('/login', passport.authenticate('provider'), function(req, res) { // If this function gets called, authentication was successful. // `req.user` contains the authenticated user.
var levelup = require('levelup'), db = levelup('./db'); var config = fs.readFileSync('config.json'); config = JSON.parse(config); var spd = config.ShadowplayDirectory; app.set('view engine', 'hbs'); app.set('json spaces', 4); app.use(logger()); app.use(compression()); app.use(express.static('public')); hbs.registerHelper('string', function(object) { return JSON.stringify(object); }); var apikey = '7e5b358f8f531fc376f3f8ee3b42b2092b67a6b2'; function fetchGame(game, cb) { db.get(game, function(err, res) { if (!err) { return cb(JSON.parse(res)); } else { var root = 'http://www.giantbomb.com/api/'; var list = root + 'search?api_key=' + apikey + '&format=json&query=' + game + '&resources=game'; request.get(list, function(e, r, b) { var single = JSON.parse(b); single = single.results[0].api_detail_url; request.get(single + '?format=json&api_key=' + apikey, function(e, r, b) {
var feedback = require('./routes/feedback'); var thisYear = require('./routes/thisYear'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'hbs'); // create the custom ifCond comparator // Thx Peter Bratton for this helper // Source: http://stackoverflow.com/questions/8853396/logical-operator-in-a-handlebars-js-if-conditional Handlebars.registerHelper('ifCond', function(v1, v2, options) { if(v1 === v2) { return options.fn(this); } return options.inverse(this); }); // Middleware - Sessions app.set('trust proxy', 1); app.use(session({ resave: true, saveUninitialized: true, secret: 'E=MC2' })) // uncomment after placing your favicon in /public //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json());
Object.keys(helpers).forEach(function(key) { hbs.registerHelper(key, helpers[key]); });
appStyles.setBasicStyles = function () { // Handlebars helper for logo hbs.registerHelper('logo', function (uri) { if (config.logo_uri != "") { uri = config.logo_uri } else { uri = config.base_path + uri; } return new hbs.SafeString( "<img class='img-responsive' src=" + uri + ">" ); }); hbs.registerHelper('siteStyles', function () { var styles = ""; if (config.styles.header_background_color != "") { styles += ".header, .grass-header-nav{background-color: " + config.styles.header_background_color + "}" } return new hbs.SafeString( "<style>" + styles + "</style>" ); }); hbs.registerHelper('basePath', function () { return new hbs.SafeString(config.base_path); }); hbs.registerHelper('buildJSON', function (obj) { return JSON.stringify(obj); }); hbs.registerHelper('formatPermission', function (permissionArray) { var permissionTypes = []; var permissionStrings = {}; for (var i in permissionArray) { var permission = permissionArray[i].replace(/([A-Z]{1})/g, function myFunction(x) { return ',' + x; }); permission = permission.split(","); permission = permission.splice(1); if (permissionTypes.indexOf(permission[0]) === -1) { var perm = permission[0]; permissionTypes.push(perm); permissionStrings[perm] = "<strong>" + perm + "</strong>" + " permission for "; permission = permission.splice(1); permissionStrings[perm] += "<strong>" + permission.join(" ") + "</strong>"; //permissionStrings.push(permission[0] +" permission for"+permission[1]+permission[2]); } else { var perm = permission[0]; permission = permission.splice(1); permissionStrings[perm] += ", <strong>" + permission.join(" ") + "</strong>"; } } var res = ""; for (var str in permissionStrings) { res += permissionStrings[str] + "\n"; } return new hbs.SafeString(res); }); hbs.registerHelper('formatDate', function (dateTime) { var date = dateTime.split('T')[0]; return date; }); }
var FILE_ENCODING = 'utf-8', EOL = '\n'; // Dependencies var _cli = require('commander'), _uglify = require("uglify-js"), _jshint = require('jshint'), _handlebars = require('hbs'), _fs = require('fs'), zlib = require('zlib'); // will generate a CSV if package.json contains multiple licenses _handlebars.registerHelper('license', function(items){ items = items.map(function(val){ return val.type; }); return items.join(', '); }); // Logic // - concatinate all files concat({ src : [ 'lib/params.js', 'lib/state.js', 'lib/view.js', 'lib/helpers.js' ], dest : 'build/backbone.input.mouse.js' });
app.use(app.router); }); app.configure('development', function(){ app.use(express.errorHandler()); }); //////////////////////////////////////////////// // Handlebars //////////////////////////////////////////////// var blocks = {}; hbs.registerHelper('extend', function(name, context) { var block = blocks[name]; if (!block) { block = blocks[name] = []; } block.push(context(this)); }); hbs.registerHelper('block', function(name) { var val = (blocks[name] || []).join('\n'); blocks[name] = []; return val; }); hbs.registerHelper('unescape', function (post) { var html; html = unescape(post); return html;
app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); app.configure('development', function(){ app.use(express.errorHandler()); }); var blocks = {}; hbs.registerHelper('extend', function(name, context) { var block = blocks[name]; if (!block) { block = blocks[name] = []; } block.push(context(this)); }); hbs.registerHelper('block', function(name) { var val = (blocks[name] || []).join('\n'); // clear the block blocks[name] = []; return val; }); app.get('/', routes.index); app.get('/users', user.list);
var express=require("express"),path=require("path"),favicon=require("serve-favicon"),logger=require("morgan"),cookieParser=require("cookie-parser"),hbs=require("hbs"),bodyParser=require("body-parser"),fs=require("fs"),app=express();app.set("views",path.join(__dirname,"views")),app.set("view engine","hbs"),app.use(favicon(path.join(__dirname,"public","images","favicon.ico"))),app.use(express["static"](path.join(__dirname,"public"))),app.use(logger("dev")),app.use(bodyParser.json()),app.use(bodyParser.urlencoded({extended:!1})),app.use(cookieParser()),hbs.registerPartials(__dirname+"/views/partials"),hbs.registerHelper("debug",function(e){console.log("Current Context"),console.log("===================="),console.log(this),optionalValue&&(console.log("Value"),console.log("===================="),console.log(optionalValue))});var home=require("./routes/min/home-min");app.use("/",home),app.use(function(e,r,o){var s=new Error("Not Found");s.status=404,o(s)}),"development"===app.get("env")&&app.use(function(e,r,o,s){var i="./private/js/server/helpers/min/",a=require(i+"utils-min.js"),n=[],p=[];modConf=a.buildModConf("404",null,n,p,null),o.render("404",modConf)}),app.use(function(e,r,o,s){o.status(e.status||500);var i="./private/js/server/helpers/min/",a=require(i+"utils-min.js"),n=[],p=[];modConf=a.buildModConf("404",null,n,p,null),o.render("404",modConf)}),module.exports=app;