mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-07-27 04:58:24 +02:00
* More View updates
This commit is contained in:
parent
c7b4714c3d
commit
eab6da2b0a
11 changed files with 592 additions and 38 deletions
|
@ -1,7 +1,11 @@
|
|||
/* jslint node: true */
|
||||
'use strict';
|
||||
|
||||
var miscUtil = require('./misc_util.js');
|
||||
|
||||
|
||||
exports.stylizeString = stylizeString;
|
||||
exports.pad = pad;
|
||||
|
||||
// :TODO: create Unicode verison of this
|
||||
var VOWELS = [ 'a', 'e', 'i', 'o', 'u' ];
|
||||
|
@ -25,26 +29,31 @@ function stylizeString(s, style) {
|
|||
var i;
|
||||
var stylized = '';
|
||||
|
||||
switch(style) {
|
||||
switch(style) {
|
||||
// UPPERCASE
|
||||
case 'upper' :
|
||||
case 'U' : return s.toUpperCase();
|
||||
|
||||
// lowercase
|
||||
case 'lower' :
|
||||
case 'l' : return s.toLowerCase();
|
||||
|
||||
// Proper Case
|
||||
case 'proper' :
|
||||
case 'P' :
|
||||
return s.replace(/\w\S*/g, function onProperCaseChar(t) {
|
||||
return t.charAt(0).toUpperCase() + t.substr(1).toLowerCase();
|
||||
});
|
||||
|
||||
// fIRST lOWER
|
||||
case 'first lower' :
|
||||
case 'f' :
|
||||
return s.replace(/\w\S*/g, function onFirstLowerChar(t) {
|
||||
return t.charAt(0).toLowerCase() + t.substr(1).toUpperCase();
|
||||
});
|
||||
|
||||
// SMaLL VoWeLS
|
||||
case 'small vowels' :
|
||||
case 'v' :
|
||||
for(i = 0; i < len; ++i) {
|
||||
c = s[i];
|
||||
|
@ -57,6 +66,7 @@ function stylizeString(s, style) {
|
|||
return stylized;
|
||||
|
||||
// bIg vOwELS
|
||||
case 'big vowels' :
|
||||
case 'V' :
|
||||
for(i = 0; i < len; ++i) {
|
||||
c = s[i];
|
||||
|
@ -69,9 +79,11 @@ function stylizeString(s, style) {
|
|||
return stylized;
|
||||
|
||||
// Small i's: DEMENTiA
|
||||
case 'small i' :
|
||||
case 'i' : return s.toUpperCase().replace('I', 'i');
|
||||
|
||||
// mIxeD CaSE (random upper/lower)
|
||||
case 'mixed' :
|
||||
case 'M' :
|
||||
for(i = 0; i < len; i++) {
|
||||
if(Math.random() < 0.5) {
|
||||
|
@ -83,6 +95,7 @@ function stylizeString(s, style) {
|
|||
return stylized;
|
||||
|
||||
// l337 5p34k
|
||||
case 'l33t' :
|
||||
case '3' :
|
||||
for(i = 0; i < len; ++i) {
|
||||
c = SIMPLE_ELITE_MAP[s[i].toLowerCase()];
|
||||
|
@ -91,5 +104,34 @@ function stylizeString(s, style) {
|
|||
return stylized;
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
// Based on http://www.webtoolkit.info/
|
||||
function pad(s, len, padChar, dir) {
|
||||
len = miscUtil.valueWithDefault(len, 0);
|
||||
padChar = miscUtil.valueWithDefault(padChar, ' ');
|
||||
dir = miscUtil.valueWithDefault(dir, 'right');
|
||||
|
||||
var padlen = len - s.length;
|
||||
|
||||
switch(dir) {
|
||||
case 'left' :
|
||||
s = new Array(padlen).join(padChar) + s;
|
||||
break;
|
||||
|
||||
case 'both' :
|
||||
var right = Math.ceil(padlen) / 2;
|
||||
var left = padlen - right;
|
||||
s = new Array(left + 1).join(padChar) + s + new Array(right + 1).join(padChar);
|
||||
break;
|
||||
|
||||
case 'right' :
|
||||
s = s + new Array(padlen).join(padChar);
|
||||
break;
|
||||
|
||||
default : break;
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue