0.0.13 • Published 9 years ago

gulp-jshtml v0.0.13

Weekly downloads
1
License
-
Repository
github
Last release
9 years ago

gulp-jshtml

Build Status Dependency Status devDependency Status License Issues Release Status NPM

Gulp plugin to convert passed HTML streams to Javascript

$ npm install gulp-jshtml

Usage

jshtml = require('gulp-jshtml'),
gulp.task('jshtml', function() {
	return gulp.src('src/**/*.html')
        .pipe(jshtml({
        	invoke:"templates.add"
        }))        
        .pipe(gulp.dest('dist/'))		
});

####Considerations

The plugin escapes all relevant characters in the source HTML, collapses tabs / whitespace into a single space and trims the result.

####Options invoke

(Optional) Function to invoke, passed template location and compiled HTML. Defaults to jshtml. e.g. the content of C:\MyPath\MyDirectory\MyFile.html is passed to jshtml('C:\MyPath\MyDirectory\MyFile.html', compiledHTML)

####Example

######Gulp

gulp.src('myDirectory\myFile.html', {
  .pipe(jshtml({
      invoke:"templates.add"
  }))  

######HTML (of myDirectory\myFile.html)

<div id='myDiv' class='myDiv-css'>
       Some content "here"...can be {anything}	   
</div>

######Output JS

templates.add("myDirectory/myFile.html", "<div id='myDiv' class='myDiv-css'>Some content \"here\"...can be {anything}</div>");

####Sample Use Case

The compiled index.html file when viewed will show a random number between 0-1

######index.html Includes references to main.js and templates.js

<div id='example'></div>

######main.js

Creates a central template store, and defines a method to add new templates to it. This method is used by templates.js having been defined in the gulp-jshtml task. Also applies this template to an element in index.html

var templates={};
templates.add=function(html, location){
	location = location.substr(0,location.indexOf("."));
	templates[location]=html;
}
document.getElementById('example').innerHTML=templates.template.replace("{{randomNumber}}", Math.random());

######template.html

A simple HTML template fragment

<span>{{randomNumber}}</span>

######gulp task

gulp.src('template.html', {
  .pipe(jshtml({
      invoke:"templates.add"
  }))  

######templates.js (automatically generated by gulp-jshtml):

For each template, calls the templates.add method, passing the template HTML and location

templates.add("template.html", "<span>{{randomNumber}}</span>");

gulp-jshtml, written by SW4 for use in the OpenUI project, www.ouijs.org.

0.0.13

9 years ago

0.0.12

9 years ago

0.0.11

9 years ago

0.0.10

9 years ago

0.0.9

9 years ago

0.0.8

9 years ago

0.0.7

9 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago