Skip to content

Instantly share code, notes, and snippets.

@innermond
Last active May 31, 2017 09:26
Show Gist options
  • Select an option

  • Save innermond/d7d5cdf705d0214dab4c9f9f8aaefd56 to your computer and use it in GitHub Desktop.

Select an option

Save innermond/d7d5cdf705d0214dab4c9f9f8aaefd56 to your computer and use it in GitHub Desktop.
change text found in text layers of psd files with lorem
var dir = new Folder('/c/temp')
var files = dir.getFiles("*.psd");
for (var i = 0; i < files.length; i++) {
var doc = app.open(files[i]);
mutate(doc)
doc.close(SaveOptions.SAVECHANGES)
}
function mutate(el)
{
var layers = el.layers;
for (var layerIndex = layers.length; layerIndex > 0; layerIndex--)
{
var currentLayer = layers[layerIndex-1];
if (currentLayer.typename == "LayerSet") {
mutate(currentLayer);
} else {
if ( (currentLayer.visible) && (currentLayer.kind == LayerKind.TEXT) )
{
currentLayer.textItem.contents = loremize(lyr.textItem.contents);
}
}
}
}
function loremize(c){
var out = "";
for(var i=0;i<c.length;i++){
var ch=c[i];
var punctuation = (ch.match(/[_\.,!"'*%\[\]\$\\\-]/) != null)
var unlorem = ( punctuation || ch.trim() == "" || ! isNaN(ch) );
if (unlorem) {
out += ch
continue
}
var uppercased = (ch == ch.toUpperCase());
out += rnd(uppercased)
}
return out;
}
function rnd(big) {
var RandomCharsToUse = "abcdefghijkmnpqrstuvwxyz";
if (big) {
RandomCharsToUse = "ABCDEFGHJKLMNPQRSTUVWXYZ";
}
var MinimumNumberOfCharacters = 1;
var MaximumNumberOfCharacters = 1;
RandomCharsToUse = RandomCharsToUse.replace(/\s/g,"");
MinimumNumberOfCharacters = parseInt(MinimumNumberOfCharacters);
MaximumNumberOfCharacters = parseInt(MaximumNumberOfCharacters);
if( MaximumNumberOfCharacters < MinimumNumberOfCharacters ) { MaximumNumberOfCharacters = MinimumNumberOfCharacters; }
var CharactersLength = RandomCharsToUse.length;
var StringLength = 0;
if( MaximumNumberOfCharacters == MinimumNumberOfCharacters ) { StringLength = MinimumNumberOfCharacters; }
else { StringLength = Math.floor(Math.random()*(MaximumNumberOfCharacters-MinimumNumberOfCharacters+1)) + MinimumNumberOfCharacters; }
var ReturnString = new String();
while( ReturnString.length < StringLength ) { ReturnString += RandomCharsToUse.charAt(Math.floor(Math.random()*CharactersLength)); }
return ReturnString;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment