template/html/jquery-tablesorter.js
function( header, configHeader, key ) {
         var meta, cl4ss,
          val = '',
          $header = $( header );
         if ( !$header.length ) { return ''; }
         meta = $.metadata ? $header.metadata() : false;
         cl4ss = ' ' + ( $header.attr( 'class' ) || '' );
         if ( typeof $header.data( key ) !== 'undefined' ||
          typeof $header.data( key.toLowerCase() ) !== 'undefined' ) {
            // 'data-lockedOrder' is assigned to 'lockedorder'; but 'data-locked-order' is assigned to 'lockedOrder'
            // 'data-sort-initial-order' is assigned to 'sortInitialOrder'
            val += $header.data( key ) || $header.data( key.toLowerCase() );
         } else if ( meta && typeof meta[ key ] !== 'undefined' ) {
            val += meta[ key ];
         } else if ( configHeader && typeof configHeader[ key ] !== 'undefined' ) {
            val += configHeader[ key ];
         } else if ( cl4ss !== ' ' && cl4ss.match( ' ' + key + '-' ) ) {
            // include sorter class name 'sorter-text', etc; now works with 'sorter-my-custom-parser'
            val = cl4ss.match( new RegExp( '\\s' + key + '-([\\w-]+)' ) )[ 1 ] || '';
         }
         return $.trim( val );
      }
function( header, configHeader, key ) {
         var meta, cl4ss,
          val = '',
          $header = $( header );
         if ( !$header.length ) { return ''; }
         meta = $.metadata ? $header.metadata() : false;
         cl4ss = ' ' + ( $header.attr( 'class' ) || '' );
         if ( typeof $header.data( key ) !== 'undefined' ||
          typeof $header.data( key.toLowerCase() ) !== 'undefined' ) {
            // 'data-lockedOrder' is assigned to 'lockedorder'; but 'data-locked-order' is assigned to 'lockedOrder'
            // 'data-sort-initial-order' is assigned to 'sortInitialOrder'
            val += $header.data( key ) || $header.data( key.toLowerCase() );
         } else if ( meta && typeof meta[ key ] !== 'undefined' ) {
            val += meta[ key ];
         } else if ( configHeader && typeof configHeader[ key ] !== 'undefined' ) {
            val += configHeader[ key ];
         } else if ( cl4ss !== ' ' && cl4ss.match( ' ' + key + '-' ) ) {
            // include sorter class name 'sorter-text', etc; now works with 'sorter-my-custom-parser'
            val = cl4ss.match( new RegExp( '\\s' + key + '-([\\w-]+)' ) )[ 1 ] || '';
         }
         return $.trim( val );
      }
get sorter, string, empty, etc options for each column from jQuery data, metadata, header option or header class name ('sorter-false') priority = jQuery data > meta > headers option > header class name