mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 20:16:04 +01:00
moved slugify to utils
This commit is contained in:
@@ -4,17 +4,6 @@ var RDB = require('./redis.js'),
|
||||
user = require('./user.js');
|
||||
|
||||
(function(Topics) {
|
||||
//data structure
|
||||
|
||||
//*global:next_topic_id
|
||||
// *tid:1:title
|
||||
// *tid:1:uid
|
||||
// *tid:1:posts (array of pid)
|
||||
// *tid:1:timestamp
|
||||
// *uid:1:tozpics
|
||||
// *topic:slug:how-to-eat-chicken:tid
|
||||
|
||||
|
||||
|
||||
Topics.get_by_category = function(callback, category, start, end) {
|
||||
|
||||
@@ -136,7 +125,7 @@ var RDB = require('./redis.js'),
|
||||
RDB.lpush('topics:' + category + ':tid', tid);
|
||||
}
|
||||
|
||||
var slug = tid + '/' + slugify(title);
|
||||
var slug = tid + '/' + utils.slugify(title);
|
||||
|
||||
// Topic Info
|
||||
RDB.set('tid:' + tid + ':title', title);
|
||||
@@ -167,24 +156,4 @@ var RDB = require('./redis.js'),
|
||||
|
||||
};
|
||||
|
||||
}(exports));
|
||||
|
||||
|
||||
//http://dense13.com/blog/2009/05/03/converting-string-to-slug-javascript/
|
||||
function slugify(str) {
|
||||
str = str.replace(/^\s+|\s+$/g, ''); // trim
|
||||
str = str.toLowerCase();
|
||||
|
||||
// remove accents, swap ñ for n, etc
|
||||
var from = "àáäâèéëêìíïîòóöôùúüûñç·/_,:;";
|
||||
var to = "aaaaeeeeiiiioooouuuunc------";
|
||||
for (var i=0, l=from.length ; i<l ; i++) {
|
||||
str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
|
||||
}
|
||||
|
||||
str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
|
||||
.replace(/\s+/g, '-') // collapse whitespace and replace by -
|
||||
.replace(/-+/g, '-'); // collapse dashes
|
||||
|
||||
return str;
|
||||
}
|
||||
}(exports));
|
||||
Reference in New Issue
Block a user