Skip to content

Commit

Permalink
Improve example server view helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
ixti committed Sep 17, 2012
1 parent 3f56d64 commit fcb554c
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions examples/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@


var fs = require('fs');
var path = require('path');
var jade = require('jade');
var connect = require('connect');
var Mincer = require('..');
Expand Down Expand Up @@ -61,8 +62,15 @@ try {
var viewHelpers = {};


// dummy helper that injects extension
function rewrite_extension(source, ext) {
var source_ext = path.extname(source);
return (source_ext === ext) ? source : (source + ext);
}


// returns a list of asset paths
function find_asset_paths(logicalPath) {
function find_asset_paths(logicalPath, ext) {
var asset = environment.findAsset(logicalPath),
paths = [];

Expand All @@ -72,18 +80,18 @@ function find_asset_paths(logicalPath) {

if ('production' !== process.env.NODE_ENV && asset.isCompiled) {
asset.toArray().forEach(function (dep) {
paths.push('/assets/' + dep.logicalPath + '?body=1');
paths.push('/assets/' + rewrite_extension(dep.logicalPath) + '?body=1');
});
} else {
paths.push('/assets/' + asset.digestPath);
paths.push('/assets/' + rewrite_extension(asset.digestPath));
}

return paths;
}


viewHelpers.javascript = function javascript(logicalPath) {
var paths = find_asset_paths(logicalPath);
var paths = find_asset_paths(logicalPath, '.js');

if (!paths) {
// this will help us notify that given logicalPath is not found
Expand All @@ -100,7 +108,7 @@ viewHelpers.javascript = function javascript(logicalPath) {


viewHelpers.stylesheet = function stylesheet(logicalPath) {
var paths = find_asset_paths(logicalPath);
var paths = find_asset_paths(logicalPath, '.css');

if (!paths) {
// this will help us notify that given logicalPath is not found
Expand Down

0 comments on commit fcb554c

Please sign in to comment.