X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/9c40b4d36daed9e28e48a5fe9205c32557195a4b..c46e6dd20c438dddfea40c35935b877ac3e67daa:/wp-admin/js/word-count.js diff --git a/wp-admin/js/word-count.js b/wp-admin/js/word-count.js index 8c935d41..0c537ba1 100644 --- a/wp-admin/js/word-count.js +++ b/wp-admin/js/word-count.js @@ -1 +1,44 @@ -(function(a){wpWordCount={init:function(){var b=this,c=0,d=a("#content");a("#wp-word-count").html(wordCountL10n.count.replace(/%d/,'0'));b.block=0;b.wc(d.val());d.keyup(function(f){if(f.keyCode==c){return true}if(13==f.keyCode||8==c||46==c){b.wc(d.val())}c=f.keyCode;return true})},wc:function(d){var e=this,c=a("#word-count"),b=0;if(e.block){return}e.block=1;setTimeout(function(){if(d){d=d.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ");d=d.replace(/[0-9.(),;:!?%#$¿'"_+=\\/-]*/g,"");d.replace(/\S\s+/g,function(){b++})}c.html(b.toString());setTimeout(function(){e.block=0},2000)},1)}};a(document).ready(function(){wpWordCount.init()})}(jQuery)); \ No newline at end of file +/* global wordCountL10n */ +var wpWordCount; +(function($,undefined) { + wpWordCount = { + + settings : { + strip : /<[a-zA-Z\/][^<>]*>/g, // strip HTML tags + clean : /[0-9.(),;:!?%#$¿'"_+=\\/-]+/g, // regexp to remove punctuation, etc. + w : /\S\s+/g, // word-counting regexp + c : /\S/g // char-counting regexp for asian languages + }, + + block : 0, + + wc : function(tx, type) { + var t = this, w = $('.word-count'), tc = 0; + + if ( type === undefined ) + type = wordCountL10n.type; + if ( type !== 'w' && type !== 'c' ) + type = 'w'; + + if ( t.block ) + return; + + t.block = 1; + + setTimeout( function() { + if ( tx ) { + tx = tx.replace( t.settings.strip, ' ' ).replace( / | /gi, ' ' ); + tx = tx.replace( t.settings.clean, '' ); + tx.replace( t.settings[type], function(){tc++;} ); + } + w.html(tc.toString()); + + setTimeout( function() { t.block = 0; }, 2000 ); + }, 1 ); + } + }; + + $(document).bind( 'wpcountwords', function(e, txt) { + wpWordCount.wc(txt); + }); +}(jQuery));