Giter Club home page Giter Club logo

htmlbars's Introduction

Status Build Status Sauce Test Status

HTMLBars is a layer built on top of the Handlebars template compiler.

Goals

The goal of HTMLBars is to have a compiler for Handlebars that builds a DOM rather than a String.

This means that helpers can have special behavior based on their context (they know if they are inside an <a> tag, inside an attribute, etc.)

Ultimately, the goal is to have a good data binding setup for Handlebars that can work directly against DOM nodes and doesn't need special tags in the String for the data binding code to work (a major limitation in Ember).

There are also many performance gains in HTMLBars' approach to building DOM vs the HTML-unaware string building approach of Handlebars.

Usage

TODO: much change. This section will be updated shortly.

Until then, check out ARCHITECTURE.md for info on how HTMLBars is structured and its approach to efficiently building / emitting DOM.

Building HTMLBars

  1. Ensure that Node.js is installed.
  2. Run npm install to ensure the required dependencies are installed.
  3. Run npm run-script build to build HTMLBars. The builds will be placed in the dist/ directory.

How to Run Tests

Via Ember CLI

  1. Run: ember test --server

Ember CLI is a CI tool, so it will run tests as you change files.

On the console with PhantomJS

  1. Run npm test.

In a browser

  1. Run npm start.
  2. Visit http://localhost:4200/tests/.

htmlbars's People

Contributors

alisdair avatar amiller-gh avatar bantic avatar chadhietala avatar chancancode avatar ebryn avatar ef4 avatar eventualbuddha avatar git-richard avatar halorgium avatar jayphelps avatar jdjkelly avatar johanneswuerbach avatar kingpin2k avatar krisselden avatar machty avatar marcioj avatar mixonic avatar mmun avatar nopik avatar oneeman avatar rwjblue avatar samio avatar seanpdoyle avatar stefanpenner avatar tilde-engineering avatar tomdale avatar tricknotes avatar twokul avatar wycats avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.