Skip to content

Commit

Permalink
#23 Refactoring, (Adding EJS filters...). Page Titles support, so this
Browse files Browse the repository at this point in the history
…closes #43
  • Loading branch information
marceloboeira committed Sep 17, 2014
1 parent 0a16297 commit f291574
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 17 deletions.
2 changes: 1 addition & 1 deletion api/controllers/IndexController.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module.exports = {

index: function (req, res) {
Paste.find().populate('owner').sort({ createdAt: 'desc' }).limit(10).exec(function(err, lp) {
return res.view({lastPastes: lp});
return res.view({title:'Index_1',lastPastes: lp});
});
}
};
Expand Down
3 changes: 2 additions & 1 deletion api/controllers/PasteController.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ module.exports = {
var id = req.param('id');
Paste.findOne(id).populate('owner').exec(function(err, paste){
if (err || !paste) return res.notFound();
return res.view({ paste: paste });
return res.view({title: paste.name,
paste: paste });
});
}
};
Expand Down
6 changes: 4 additions & 2 deletions api/controllers/UserController.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@ module.exports = {
if (err || !user) {
User.findOne({username:username}).populate('keys').populate('pastes').exec(function(err, user) {
if (err || !user) return res.notFound();
return res.view({user: user});
return res.view({user: user,
title: res.__('%s Profile', user.name)});
});
}
else {
return res.view({user: user});
return res.view({user: user,
title: res.__('%s Profile', user.name)});
}
});
},
Expand Down
37 changes: 25 additions & 12 deletions api/services/FilterService.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,31 @@
*
* @see https://github.com/vimia/blew/issues/23
*/
module.exports = {

/**
* Apply moment.js at server-side as a filter
*
* @param d - Dirty Date
* @return 'x days ago'
*/
dateFromNow: function(d) {
var moment = require('moment');
return moment(d).fromNow();
}
//TODO - Date Component creator..

var filters = require('ejs').filters;

/**
* Apply moment.js at server-side as a filter
*
* @param d - Dirty Date
* @return 'x days ago'
*/
filters.dateFromNow = function(d) {
var moment = require('moment');
return moment(d).fromNow();
},

/**
* Create default title
*
* @param t - to Append Title
* @return nice pageTitle
*/
filters.pageTitle = function(a, t) {
return ((t != undefined && t != null) ? (t + " | ") : " ") + a ;
}

// Make Global
module.exports = filters;

2 changes: 1 addition & 1 deletion views/layout/default.ejs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<title><%= __('projectName') %></title>
<title><%=: __('projectName') | pageTitle: title %></title>

<!-- Viewport mobile tag for sensible mobile support -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
Expand Down
1 change: 1 addition & 0 deletions views/layout/pjax.ejs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!-- pjax-content-->
<title><%=: __('projectName') | pageTitle: title %></title>
<%- body %>
<!-- pjax-end -->

0 comments on commit f291574

Please sign in to comment.