silk.shop = xb.core.object.extend( silk.postings, { } ); silk.shop.resource = xb.core.object.extend( silk.postings.resource, { ctor: function( config ) { this.handlers = { "categories": silk.postings.categories.mount, "view": silk.shop.items.mount, "view-page": silk.postings.items.page.mount, "view-page-sections": silk.postings.items.page.mount }; this.selection = {}; silk.resource.prototype.ctor.call( this, config ); } } ); silk.shop.items = xb.core.object.extend( { } ); silk.shop.items.mount = xb.core.object.extend( silk.postings.items.mount, { filename: function( posting ) { var filename = null; var tmpNode = document.createElement( "span" ); var clean = function( name ) { var result = ""; tmpNode.innerHTML = name; result = ( "" + tmpNode.innerText ).toLowerCase(); result = removeDiacritics( result ); result = result.replace( /[^a-zA-Z0-9_]+/g, "-" ); return result.replace( /^[-]+/g, "" ).replace( /[-]+$/g, "" ); }; if ( typeof( posting[ "title" ] ) !== "undefined" ) { filename = clean( posting[ "title" ] ); if ( posting[ "sub-title" ] ) { var filename_ext = clean( posting[ "sub-title" ] ); if ( filename_ext ) { filename += "-" + filename_ext; } } if ( posting[ "tag-name" ] ) { var filename_ext = clean( posting[ "tag-name" ] ); if ( filename_ext ) { filename += "-" + filename_ext; } } } return filename; } } );