Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

techhead-hogan

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

techhead-hogan

A fork of Twitter's mustache compiler.

  • 0.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
37
increased by5.71%
Maintainers
1
Weekly downloads
 
Created
Source

Hogan.js

Hogan.js is a compiler for the Mustache templating language. For information on Mustache, see the manpage and the spec.

What's New

This is the TECHHEAD fork of Hogan.js. It adds helpers and a few more enhancements and bug fixes.

Here's what's inside: (see test/index.js for ...er, tests... and usage examples)

Fixes
  • fixed Hogan.cacheKey() to consider delimiters (and new options)
  • allow method call chaining using dot notation
  • fixed method calls to be called with the proper this (must use fixMethodCalls option)
  • partials have access to full context stack
Enhancements
  • shorthand section close tag
  • pass current context (top of context stack) to method calls
  • pass index and array to method calls made within a list iteration section
  • piped helpers
Examples

Method call chaining

var t = Hogan.compile("{{method1.method2.method3}}"),
    r = t.render({
      method1: function() {
        return {
          method2: function() {
            return {
              method3: function() {
                  return 'test';
              }
            };
          }
        };
      }
    });
// r === "test"

Shorthand close tag and index passed to method call

var t = Hogan.compile("{#names}{^first}, {/}{.}{/names}", { delimeters: '{ }' }),
    r = t.render({
      names: ['Larry', 'Moe', 'Curly'],
      first: function(val, index) {
        return (index === 0);
      }
    });
// r === "Larry, Moe, Curly"

Piped helpers

var t = Hogan.compile("{{ names | join | ucase }}", { fixMethodCalls:1, enableHelpers:1 }),
    r = t.render({
      names: ['Larry', 'Moe', 'Curly'],
      separator: ', ',
      join: function(arr) {
        return arr.join(this.separator);
      },
      ucase: function(val) {
        return (""+val).toUpperCase();
      }
    });
// r === "LARRY, MOE, CURLY"

Authors

Robert Sayre

Jacob Thornton

Jonathan Hawkes (this fork only)

License

Copyright 2012 Jonathan Hawkes

Copyright 2011 Twitter, Inc.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Keywords

FAQs

Package last updated on 19 Oct 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc