0.0.5 • Published 9 years ago

strapp v0.0.5

Weekly downloads
3
License
ISC
Repository
github
Last release
9 years ago

strapp

Strapp diagram

Strapp is simple. Strapp takes a definition of an object (json) then applies templates (using underscore template) to generate production ready code.

Example definition.json

{
  "_name": "movie",
  "_key" : {
    "name" : "movie_id",
    "type": "int",
    "length": "11"
  },
  "properties" : [
      {
        "name" : "title",
        "placeholder": "Movie Title",
        "prettyname": "Title",
        "length": 32
      }
  ]
}

bootstrap.form.html

<form>
  <fieldset>
    <legend><%= _name %></legend>
    <% _.each( properties, function( property, i ){ %>
      <label for="<%=property.name%>"><%=property.name%></label>
      <input id="<%=property.name%>" name="<%=property.name%>" type="text"<% if ( property.placeholder ) { %> placeholder="<%= property.placeholder %>"<% } %> class="form-control input-md">
    <% }); %>
  </fieldset>
</form>

mysql.createtable.sql

CREATE TABLE <%= _name %>
(
  <%= _key.name %> <%= _key.type %>(<%= _key.length %>) NOT NULL,
<% _.each( properties, function( property, i ){ %>
  <%= property.name %> <% if(property.type) { %><%=property.type%><%}else{%>varchar<%}%>(<% if(property.length) { %><%=property.length%><%}else{%>32<%}%>),
<% }); %>
  PRIMARY KEY (<%= _key.name %>)
);

Usage:

var Strapp = require("strapp");

Strapp.apply("definition.json", [{ 
    src: "bootstrap.form.html",
    dest: "out/form.html"
  },{ 
    src: "mysql.createtable.sql",
    dest: "out/mysql.createtable.sql"
  }]);

Try it!

cd example/ node example.js

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