Still working on the Makefile.

This commit is contained in:
Elf M. Sternberg 2016-04-15 15:22:16 -07:00
parent 02828b2bae
commit 2b09593ec7
4 changed files with 57 additions and 161 deletions

View File

@ -1,47 +1,47 @@
.SUFFIXES: .nw .js .pdf .html .tex .haml .css .stylus .PHONY: setup store
.PHONY: setup
NOTANGLE= notangle NOTANGLE= notangle
NOWEAVE= noweave NOWEAVE= noweave
ECHO= /bin/echo ECHO= echo
STYLUS= stylus STYLUS= ./node_modules/stylus/bin/stylus
HAML= haml HAML= haml
COFFEE= coffee COFFEE= ./node_modules/coffee-script/bin/coffee
all: htdocs htdocs/index.html htdocs/store.js htdocs/jsonstore.css htdocs/lib/underscore.js htdocs/lib/jquery.js htdocs/lib/backbone.js htdocs/data/items.json LIBS:= htdocs/lib/underscore.js htdocs/lib/jquery.js htdocs/lib/backbone.js
setup: all: htdocs/index.html htdocs/store.js htdocs/jsonstore.css htdocs/data/items.json
npm install @if [ ! -e "./htdocs/lib" ]; then echo "Please do 'make setup' before continuing"; fi
bower install jquery underscore backbone
htdocs/lib:
mkdir -p htdocs/lib mkdir -p htdocs/lib
htdocs/lib/underscore.js: htdocs/lib/underscore.js: htdocs/lib
mkdir -p htdocs/lib
cp bower_components/underscore/underscore.js htdocs/lib cp bower_components/underscore/underscore.js htdocs/lib
htdocs/lib/jquery.js: htdocs/lib/jquery.js: htdocs/lib
mkdir -p htdocs/lib
cp bower_components/jquery/dist/jquery.js htdocs/lib cp bower_components/jquery/dist/jquery.js htdocs/lib
htdocs/lib/backbone.js: htdocs/lib/backbone.js:
cp bower_components/backbone/backbone.js htdocs/lib cp bower_components/backbone/backbone.js htdocs/lib
install:
npm install
bower install jquery underscore backbone
setup: install $(LIBS)
work: work:
mkdir -p work mkdir -p work
docs: docs:
mkdir -p docs mkdir -p docs
htdocs: work/index.haml: work src/backbonestore.nw
mkdir -p htdocs $(NOTANGLE) -c -Rindex.haml src/backbonestore.nw > work/index.haml
htdocs/index.html: htdocs work/index.haml htdocs/index.html: htdocs work/index.haml
$(HAML) --unix-newlines --no-escape-attrs --double-quote-attribute work/index.haml > htdocs/index.html $(HAML) --unix-newlines --no-escape-attrs --double-quote-attribute work/index.haml > htdocs/index.html
work/index.haml: work src/backbonestore.nw
$(NOTANGLE) -c -Rindex.haml src/backbonestore.nw > work/index.haml
htdocs/jsonstore.css: htdocs work/jsonstore.styl htdocs/jsonstore.css: htdocs work/jsonstore.styl
$(STYLUS) -o htdocs work/jsonstore.styl $(STYLUS) -o htdocs work/jsonstore.styl
@ -51,13 +51,9 @@ work/jsonstore.styl: work src/backbonestore.nw
htdocs/store.js: htdocs work/store.coffee htdocs/store.js: htdocs work/store.coffee
$(COFFEE) -o htdocs --compile work/store.coffee $(COFFEE) -o htdocs --compile work/store.coffee
work/store.coffee: work src/backbonestore.nw src/items.json work/store.coffee: work src/backbonestore.nw
$(NOTANGLE) -c -Rstore.coffee src/backbonestore.nw > work/store.coffee $(NOTANGLE) -c -Rstore.coffee src/backbonestore.nw > work/store.coffee
htdocs/data/items.json: src/items.json
mkdir -p htdocs/data
cp src/items.json htdocs/data/items.json
.nw.tex: .nw.tex:
$(NOWEAVE) -x -delay $*.nw > $*.tex $(NOWEAVE) -x -delay $*.nw > $*.tex

View File

@ -1,53 +0,0 @@
!!! 5
%html{:xmlns => "http://www.w3.org/1999/xhtml"}
%head
%title The Backbone Store
%link{:charset => "utf-8", :href => "jsonstore.css", :rel => "stylesheet", :type => "text/css"}/
%script#store_index_template(type="text/x-underscore-tmplate")
%h1 Product Catalog
%ul
<% for(i=0,l=products.length;i<l;++i) { p = products[i]; %>
%li.item
.item-image
%a{:href => "#item/<%= p.id %>"}
%img{:src => "<%= p.image %>", :alt => "<%= p.title %>"}/
.item-artist <%= p.artist %>
.item-title <%= p.title %>
.item-price $<%= p.price %>
<% } %>
%script#store_item_template(type= "text/x-underscore-template")
.item-detail
.item-image
%img(src="<%= large_image %>" alt="<%= title %>")/
.item-info
.item-artist <%= artist %>
.item-title <%= title %>
.item-price $<%= price %>
.item-form
%form(action="#/cart" method="post")
%p
%label Quantity:
%input(type="text" size="2" name="quantity" value="1" class="uqf")/
%p
%input(type="submit" value="Add to Cart" class="uq")/
.item-link
%a(href="<%= url %>") Buy this item on Amazon
.back-link
%a(href="#") &laquo; Back to Items
%script#store_cart_template(type="text/x-underscore-template")
%p Items: <%= count %> ($<%= cost %>)
</head>
%body
#container
#header
%h1
The Backbone Store
.cart-info
#main
%script{:src => "jquery-1.6.2.min.js", :type => "text/javascript"}
%script{:src => "underscore.js", :type => "text/javascript"}
%script{:src => "backbone.js", :type => "text/javascript"}
%script{:src => "store.js", :type => "text/javascript"}

View File

@ -1,84 +0,0 @@
rounded(radius)
-moz-border-radius-topleft: radius
-moz-border-radius-topright: radius
-moz-border-radius-bottomleft: radius
-moz-border-radius-bottomright: radius
-webkit-border-bottom-right-radius: radius
-webkit-border-top-left-radius: radius
-webkit-border-top-right-radius: radius
-webkit-border-bottom-left-radius: radius
border-bottom-right-radius: radius
border-top-left-radius: radius
border-top-right-radius: radius
border-bottom-left-radius: radius
background_gradient(base)
background: base
background: -webkit-gradient(linear, left top, left bottom, from(lighten(base, 20%)), to(darken(base, 20%)))
background: -moz-linear-gradient(top, lighten(base, 20%), darken(base, 20%))
body
font-family: "Lucida Grande", Lucida, Helvetica, Arial, sans-serif
background: #FFF
color: #333
margin: 0px
padding: 0px
#header
background_gradient(#999)
margin: 0px
padding: 20px
border-bottom: 1px solid #ccc
h1
font-family: Inconsolata, Monaco, Courier, mono
color: #FFF
margin: 0px
.cart-info
position: absolute
top: 0px
right: 0px
text-align: right
padding: 10px
background_gradient(#555)
color: #FFF
font-size: 12px
font-weight: bold
img
border: 0
#productlistview
ul
list-style: none
.item
float:left
width: 250px
margin-right: 10px
margin-bottom: 10px
padding: 5px
rounded(5px)
border: 1px solid #ccc
text-align:center
font-size: 12px
.item-title
font-weight: bold
.item-artist
font-weight: bold
font-size: 14px
.item-detail
margin: 10px 0 0 10px
.item-image
float:left
margin-right: 10px
.item-info
padding: 100px 10px 0px 10px

37
package.json Normal file
View File

@ -0,0 +1,37 @@
{
"name": "the-backbone-store",
"version": "3.0.1",
"description": "A comprehensive (one hopes) tutorial on a simple development platform for Backbone.",
"main": "htdocs/index.html",
"dependencies": {
"http-server": "^0.9.0",
"coffee-script": "^1.10.0",
"stylus": "^0.54.0"
},
"devDependencies": {
"inotify": "^1.4.0"
},
"scripts": {
"test": "make serve"
},
"repository": {
"type": "git",
"url": "git+https://github.com/elfsternberg/The-Backbone-Store.git"
},
"keywords": [
"backbone",
"javascript",
"makefiles",
"node",
"coffee",
"haml",
"stylus",
"tutorial"
],
"author": "Kenneth M. \"Elf\" Sternberg <elf.sternberg@gmail.com>",
"license": "BSD-2-Clause",
"bugs": {
"url": "https://github.com/elfsternberg/The-Backbone-Store/issues"
},
"homepage": "https://github.com/elfsternberg/The-Backbone-Store#readme"
}