text: // # Asset helper
  // Usage: `{{asset "css/screen.css"}}`, `{{asset "css/screen.css" ghost="true"}}`
  //
  // Returns the path to the specified asset. The ghost flag outputs the asset path for the Ghost admin
  
  var hbs             = require('express-hbs'),
      config          = require('../config'),
      utils           = require('./utils'),
      asset;
  
  asset = function (context, options) {
      var output = '',
          isAdmin = options && options.hash && options.hash.ghost;
  
      output += config.paths.subdir + '/';
  
      if (!context.match(/^favicon\.ico$/) && !context.match(/^shared/) && !context.match(/^asset/)) {
          if (isAdmin) {
              output += 'ghost/';
          } else if (config.bgConfig.cdn.isProduction) {  // cdn asset
              output = config.bgConfig.cdn.staticAssetsUrl;
          }else{
              output += 'assets/';
          }
      }
  
      // Get rid of any leading slash on the context
      context = context.replace(/^\//, '');
      output += context;
  
      if (!context.match(/^favicon\.ico$/)) {
          output = utils.assetTemplate({
              source: output,
              version: config.assetHash
          });
      }
  
      return new hbs.handlebars.SafeString(output);
  };
  
  module.exports = asset;
  