| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- 'use strict';
 
- exports.type = 'perItem';
 
- exports.active = true;
 
- exports.description = 'cleanups attributes from newlines, trailing and repeating spaces';
 
- exports.params = {
 
-     newlines: true,
 
-     trim: true,
 
-     spaces: true
 
- };
 
- var regNewlinesNeedSpace = /(\S)\r?\n(\S)/g,
 
-     regNewlines = /\r?\n/g,
 
-     regSpaces = /\s{2,}/g;
 
- /**
 
-  * Cleanup attributes values from newlines, trailing and repeating spaces.
 
-  *
 
-  * @param {Object} item current iteration item
 
-  * @param {Object} params plugin params
 
-  * @return {Boolean} if false, item will be filtered out
 
-  *
 
-  * @author Kir Belevich
 
-  */
 
- exports.fn = function(item, params) {
 
-     if (item.isElem()) {
 
-         item.eachAttr(function(attr) {
 
-             if (params.newlines) {
 
-                 // new line which requires a space instead of themselve
 
-                 attr.value = attr.value.replace(regNewlinesNeedSpace, function(match, p1, p2) {
 
-                     return p1 + ' ' + p2;
 
-                 });
 
-                 // simple new line
 
-                 attr.value = attr.value.replace(regNewlines, '');
 
-             }
 
-             if (params.trim) {
 
-                 attr.value = attr.value.trim();
 
-             }
 
-             if (params.spaces) {
 
-                 attr.value = attr.value.replace(regSpaces, ' ');
 
-             }
 
-         });
 
-     }
 
- };
 
 
  |