Skip to content

Instantly share code, notes, and snippets.

@patrickkettner
Created March 22, 2013 16:02
Show Gist options
  • Save patrickkettner/5222469 to your computer and use it in GitHub Desktop.
Save patrickkettner/5222469 to your computer and use it in GitHub Desktop.
var D = app.activeDocument;
var links = {};
var saveDateString = '';
var calendarData = {};
var calendar = new Window( 'dialog', 'calendar' );
calendar.MonthAndYear = calendar.add('group');
var MonthAndYear = calendar.MonthAndYear;
var allMonths = ["January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var month = MonthAndYear.add('dropdownlist', undefined, allMonths);
var thisMonth = new Date().getMonth();
month.selection = month.items[thisMonth];
var years = (function(){
var yearArray = [];
var startYear = new Date().getFullYear() - 2;
for (var i = 0; i < 5; i++) {
yearArray.push(startYear + i);
}
return yearArray;
})();
var year = MonthAndYear.add('dropdownlist', undefined, years);
year.selection = year.items[2];
function daysInMonth(month,year) {
return new Date(year, month + 1, 0).getDate();
}
function firstDayOfMonth(month, year) {
var requestedMonth = new Date(year, month, 1);
requestedMonth.setDate(1);
return requestedMonth.getDay();
}
calendar.dayLabels = calendar.add('group', [0, 25, 300, 40]);
var days = calendar.dayLabels;
days.day1 = days.add('statictext', [0,0,8,0], 'S')
days.day2 = days.add('statictext', [45, 0, 60, 0], 'M')
days.day3 = days.add('statictext', [90, 0, 98, 0], 'T')
days.day4 = days.add('statictext', [135, 0, 148, 0], 'W')
days.day5 = days.add('statictext', [185, 0, 193, 0], 'T')
days.day6 = days.add('statictext', [230, 0, 238, 0], 'F')
days.day7 = days.add('statictext', [275, 0, 283, 0], 'S')
function cleanUpMonth() {
var thisWeek = 1;
while (typeof calendar['week' + thisWeek] === "object") {
delete calendar['week' + thisWeek];
thisWeek = thisWeek + 1;
}
}
function disableOthers(checked) {
calendarData.selectedDay = checked;
for (var i = 0; i <= calendarData.days.length; i++) {
if (calendarData.days[i].text !== checked) {
calendarData.days[i].value = false;
}
}
}
function updateDays() {
var thisMonth = month.selection;
var thisYear = parseInt(year.selection.toString(), 10);
var startPadding = originalPadding = firstDayOfMonth(thisMonth, thisYear);
var totalDays = daysInMonth(thisMonth, thisYear) + startPadding;
var endPadding = ((Math.ceil(totalDays/7) * 7) - totalDays);
var extraDays = (calendarData.days.length - totalDays - endPadding > 0 ? calendarData.days.length - totalDays - endPadding : 0);
if ((totalDays + endPadding) < calendarData.days.length) {
calendarData.days = calendarData.days.slice(0, (totalDays + endPadding));
}
for (var i = 1; i <= (totalDays + endPadding + extraDays); i++) {
var thisDay = calendarData.days[i - 1];
if (!thisDay) {
var thisWeek = calendar['week' + Math.floor(i/7)];
if (typeof thisWeek !== 'object') {
thisWeek = calendar.add('group');
}
thisDay = calendarData.days[i] = thisWeek.add('radiobutton', undefined, i);
}
if (startPadding > 0) {
thisDay.enabled = false;
thisDat.text = '00';
startPadding = startPadding - 1;
}
else if (i <= totalDays) {
thisDay.enabled = true;
thisDay.text = (i.toString().length === 2 ? i : '0' + (i - originalPadding).toString());
}
else {
thisDay.enabled = false;
thisDat.text = 00;
}
}
}
function setUpMonth() {
var thisMonth = month.selection;
var thisYear = parseInt(year.selection.toString(), 10);
var startPadding = originalPadding = firstDayOfMonth(thisMonth, thisYear);
var totalDays = daysInMonth(thisMonth, thisYear) + startPadding;
var endPadding = ((Math.ceil(totalDays/7) * 7) - totalDays);
var today = new Date().getDate() + startPadding;
calendarData.days = [];
for (var i = 1; i <= (totalDays + endPadding); i++) {
var thisLine = (Math.floor((i - 1)/7));
var shouldDisable = false;
if (typeof calendar['week' + thisLine] !== 'object') {
calendar['week' + thisLine] = calendar.add('group');
}
var thisWeek = calendar['week' + thisLine];
var dayLabel;
if (startPadding > 0) {
dayLabel = '00'
startPadding = startPadding - 1
shouldDisable = true;
}
else if (i <= totalDays) {
var day = (i - originalPadding);
dayLabel = (day.toString().length === 2 ? day : '0' + day);
}
else {
dayLabel = '00'
shouldDisable = true;
}
thisWeek[dayLabel] = thisWeek.add('radiobutton', undefined, dayLabel);
if (shouldDisable) {
thisWeek[dayLabel].enabled = false;
}
else if (i === today) {
calendarData.selectedDay = thisWeek[dayLabel].text;
thisWeek[dayLabel].value = true;
}
thisWeek[dayLabel].onClick = function() {
if (this.enabled) {
disableOthers(this.text);
}
}
calendarData.days.push(thisWeek[dayLabel]);
}
}
function ensureLengthOfTwo(input) {
if (input.length === 1) {
input = '0' + input
}
return input
}
setUpMonth();
calendar.buttons = calendar.add('group');
var button = calendar.buttons.add('button', undefined, 'select');
month.onChange = function() {
updateDays()
};
year.onChange = function() {
updateDays();
};
button.onClick = function() {
var selectedYear = year.selection.text;
var selectedMonth = ensureLengthOfTwo(month.selection.index + 1);
var selectedDay = ensureLengthOfTwo(parseInt(calendarData.selectedDay, 10));
saveDateString += selectedYear.slice(2, 4);
saveDateString += selectedMonth;
saveDateString += selectedDay;
calendar.close();
}
calendar.show();
undo();
app.displayDialogs = DialogModes.NO
D.layers['slide small'].layers['ROLLOVER'].visible = false;
D.crop([115, 707, 1069, 938],0, 960, 230);
D.layers['Background Pattern'].visible = false;
D.layers['Background'].visible = false;
save('buckets');
undo();
D.layers['blog modules'].layers['ROLLOVER BLOG'].visible = false;
D.crop([115, 1020, 1069, 1332],0, 960, 313);
save('blog');
undo();
//D.layers['arrows'].visibile = false;
D.layers['Background Pattern'].visible = false;
D.layers['Background'].visible = false;
D.crop([115, 115, 1070, 650],0, 960, 540);
app.displayDialogs = DialogModes.ALL
startHTML();
saveBanners();
undo();
bucketText();
D.layers['blog modules'].layers['ROLLOVER BLOG'].visible = true;
blogText();
endHTML();
undo();
function startHTML() {
system(" echo '<!--\
\
\
//////////////////////////////\
// //\
// BEGIN: GATEWAY CONTENT //\
// //\
//////////////////////////////\
\
-->\
\
<link rel='stylesheet' type='text/css' href='/urban/css/catalog/snapshot.css'>\
<script src='/urban/js/catalog/snapshot.js'></script>\
\
<style>\
\
body {\
background-image: url(http://www.urbanoutfitters.com/urban/emails/121029/background.jpg);\
}\
\
.social {\
list-style: none;\
}\
\
#category-snapshot {\
position: absolute;\
width: 960px;\
height: 540px;\
z-index: 11;\
display: none;\
}\
*:first-child+html #category-snapshot {\
margin-left: 0 !important;\
}\
\
#snapshot {\
top: 50px !important;\
left: 180px !important;\
z-index: 10000;\
}\
\
#category-snapshot {\
top: 124px;\
}\
\
a:active {\
outline: none;\
}\
\
a {\
outline: none;\
}\
\
#header {\
border: none;\
z-index: 1001;\
}\
\
#header-nav {\
border: none !important;\
}\
\
/* Gateway Blog Section */\
#slideshow {\
width: 960px;\
height: 540px;\
position: relative;\
overflow: hidden;\
margin: auto;\
cursor: pointer;\
}\
\
#slideshow ul {\
height: 100%;\
white-space: nowrap;\
font-size: 0;\
position: relative;\
width: 4700px;\
padding: 0;\
}\
\
#slideshow li {\
display: block;\
float: left;\
position: relative;\
height: 540px;\
width: 960px;\
}\
\
.slide {\
background-position: center;\
background-repeat: no-repeat;\
display: block;\
float: none;\
height: 540px;\
max-width: 100%;\
padding: 0;\
width: 960px;\
}\
\
#controls {\
position: absolute;\
top: 0;\
left: 0;\
width: 100%;\
height: 0;\
cursor: pointer;\
z-index: 3\
}\
\
#controls span {\
max-width: 960px;\
height: 0;\
width: 100%;\
margin: auto;\
display: block\
}\
\
.control {\
background-image: url(http://www.urbanoutfitters.com/urban/emails/120624/navarrows.png);\
background-repeat: no-repeat;\
float: left;\
}\
\
#controls a {\
width: 55px;\
height: 480px;\
display: inline-block;\
background-position: left 225px;\
margin: 0 15px;\
opacity: 0;\
}\
\
*+html #controls a {\
opacity: auto;\
}\
\
.control#forward {\
background-position: right 260px;\
float: right\
}\
#ss0 {\
background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/bg0.jpg)\
}\
\
#ss1 {\
background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/bg1.jpg)\
}\
#ss2 {\
background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/bg2.jpg)\
}\
#ss3 {\
background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/bg3.jpg)\
}\
#ss4 {\
background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/bg4.jpg)\
}\
#ss5 {\
background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/bg5.jpg)\
}\
\
#gateway-bucket-container {\
width: 960px;\
padding: 28px 0;\
height: 230px;\
}\
\
.gb {\
float: left;\
width: 232px;\
height: 232px;\
margin-right: 10px;\
background: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/buckets.jpg) no-repeat;\
display: table;\
}\
\
div.last-elm {\
margin-right: 0;\
padding-right: 0;\
}\
\
#gb2 {background-position: -242px 0;}\
#gb3 {background-position: -484px 0;}\
#gb4 {background-position: -726px 0;}\
\
.gb a {\
width: 100%;\
height: 100%;\
font-weight: bold;\
text-align: center;\
display: table-cell;\
vertical-align: middle;\
font-size: 0;\
line-height: 0;\
color: transparent;\
}\
\
.gb a:hover, .gb a:active, .gb.selected a, .bb a:hover, .bb a:active {\
background: url(http://www.urbanoutfitters.com/urban/emails/blackpixel.png);\
color: white;\
text-decoration: none;\
font-size: 12px;\
line-height: 16px;\
}\
\
.gb a span {\
text-decoration: underline;\
font-weight: normal;\
}\
\
/* ie7 hacks */\
*+html .gb a {\
display: block;\
width: 100%;\
height: 60%;\
padding-top: 40%;\
}\
\
#gateway-blog-container {\
width: 960px;\
height: 385px;\
}\
\
.bb {\
width: 312px;\
margin-right: 11px;\
float: left;\
height: 100%;\
background-image: url(http://us.urbanoutfitters.com/urban/emails/" + saveDateString + "/blog.jpg);\
background-repeat: no-repeat;\
position: relative;\
font-size: 0;\
line-height: 0;\
text-transform: uppercase;\
}\
\
.bb a {\
width: 100%;\
height: 312px;\
display: block;\
color: transparent;\
}\
\
.bb a:hover span {\
font-size: 15px;\
line-height: 20px;\
display: block;\
}\
\
.bb span {\
padding: 20px;\
font-size: 0;\
line-height: 0;\
display: none;\
}\
\
.bb .caption {\
font: normal 12px 'GRD Medium', 'Helvetica Neue', sans-serif;\
position: absolute;\
bottom: 0;\
text-align: center;\
color: black;\
width: 100%;\
padding: 0 0 30px;\
letter-spacing: 2px;\
}\
\
#bb2 {\
background-position: -323px 0;\
}\
\
#bb3 {\
background-position: -646px 0;\
}\
\
.bb a:hover u {\
font-size: 12px;\
}\
\
.bb u {\
text-transform: uppercase;\
margin: 5px 0;\
display: block;\
}\
\
#gateway-blog-header {\
display: block;\
width: 100%;\
text-align: center;\
margin: 35px 0;\
}\
#gateway-blog-header img { \
width: 109px; \
height: 38px; \
} \
.hp_quickview {\
width: 50px;\
height: 50px;\
position: absolute;\
display: block;\
z-index: 10;\
background-position: center center;\
background-repeat: no-repeat;\
background-image: url('http://www.urbanoutfitters.com/urban/emails/121028/quickview.png');\
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAkFBMVEUAAACVlpWWlpaWl5aVlpWWlpaWl5aVlpaWlpaVlpWWl5aWlpaVlpWVlpaWl5aWlpaWl5YAAACWlpb///+trKv19PM3NTRNS0pOS0s2NDSsq6s2NTTMysnR0M/S0M/S0NARERE3NTWmo6MSEhFOTEutrKzLyslbWFdbWFiVlpUSERH08/P18/OnpKT19PSmpKPSizIxAAAAEXRSTlMAMDAwYGBgYL+/v9/f39/v70WsMAIAAACZSURBVHhePY+JDoMwCIbRqeummwPaep+77/d/u4nN/BLy5yMpBRDWiohUCA4vOTeGTVsmvqif1sw8TlUfpLEXzTGXxg4g0DxR4SChQ1CNuMVColNAL87s8MBjYXP+3IH4jX9GJiDDV1v12NsiY0Owad17K9EoiLT44OaVEUBymfyEN/k/Xvb7iqbzwl6suyebTscrcATb5b4fDaYPHKbl6ZAAAAAASUVORK5CYII=)\
}\
</style>\
<!-- Gateway Main Section -->\
<div>\
<div id=\"category-snapshot\"></div>\
<div id=\"slideshow\">\
<ul>\
' > ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
system(" echo '<!-- Home page gateway content -->\
<script src=\"http://us.urbanoutfitters.com/mobile/js/swipe.min.js\"></script>\
<div class=\"gateway wrapper bottomborder\">\
<style>\
\
.gateway-hero li {\
background-repeat: no-repeat;\
background-size: 100%;\
width: 100%;\
overflow: hidden;\
position: relative;\
display: none;\
}\
\
.slideLink {\
display: block;\
width: 100%;\
}\
.gateway-hero li:first-child {\
display: block;\
}\
\
.gateway-hero nav span {\
color: rgb(221, 221, 221);\
}\
\
nav {\
text-align: center;\
}\
\
nav span.selected {\
color: rgb(0, 0, 0);\
}\
\
@media screen and (min-width: 768px) {\
.slideLink {\
height: 420px;\
}\
\
.gateway-hero {\
width: 752px;\
margin: 0 auto;\
}\
\
.gateway-hero li {\
height: 420px;\
}\
\
.gateway-hero nav span {\
font-size: 36px;\
}\
#slide-0 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-medium-hero-0.jpg)}\
#slide-1 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-medium-hero-1.jpg)}\
#slide-2 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-medium-hero-2.jpg)}\
#slide-3 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-medium-hero-3.jpg)}\
#slide-4 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-medium-hero-4.jpg)}\
#slide-5 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-medium-hero-5.jpg)}\
}\
@media screen and (max-width: 767px) {\
.slideLink {\
height: 175px;\
}\
\
.gateway-hero {\
width: 308px;\
margin: 12px auto;\
}\
\
.gateway-hero li {\
height: 160px;\
}\
\
.gateway-hero nav {\
margin-top: 8px;\
}\
\
.gateway-hero nav span {\
font-size: 24px;\
line-height: 1em;\
}\
\
#slide-0 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-small-hero-0.jpg)}\
#slide-1 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-small-hero-1.jpg)}\
#slide-2 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-small-hero-2.jpg)}\
#slide-3 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-small-hero-3.jpg)}\
#slide-4 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-small-hero-4.jpg)}\
#slide-5 {background-image: url(http://www.urbanoutfitters.com/urban/emails/" + saveDateString + "/home-small-hero-5.jpg)}\
}\
</style>\
<div class=\"gateway-hero\">\
<ul>' > ~/Dropbox/work/UO/homepage/mobile/home.html");
}
function saveBanners() {
var D = app.activeDocument;
var banners = D.layers['MAIN SLIDE'].layers
if (banners.length > 6) {
var bannerNames = [];
for (var i = 0; i < banners.length; i++) {
bannerNames.push(banners[i].name);
}
var dlg = new Window ('dialog', 'too many slides');
dlg.pnl1 = dlg.add('panel', undefined, 'pick 6', {borderStyle:"black"});
dlg.pnl1.alignChildren='left';
var Checkbox = [];
for (var i = 0; i <bannerNames.length; i++) {
var newCheckbox = dlg.pnl1.add("checkbox", undefined, bannerNames[i]);
if (i === 0 || i > bannerNames.length - 6) {
newCheckbox.value = true;
}
Checkbox[i]= newCheckbox;
}
dlg.OK = dlg.add("button", undefined, "OK");
dlg.add("button", undefined, "Cancel");
dlg.alignChildren='fill';
dlg.OK.onClick=function() {
dlg.close(1);
for(var a in Checkbox){
var thisCheckbox = Checkbox[a];
if (!thisCheckbox.value) {
banners[thisCheckbox.text].remove();
}
}
}
dlg.center();
dlg.show();
}
if (banners.length > 6) {
throw Error('too many slides. You should only have 6');
}
for (var i = 0; i < banners.length; i++) {
for (var j = 0; j < banners.length; j++) {
banners[j].visible = false;
}
banners[i].visible = true;
$.sleep(1500);
link = links['banner' + i] = prompt('What should banner ' + i + ' link to? ');
if (link.indexOf('http') !== 0) {
link = './catalog/category.jsp?id=' + link + '&amp;' + saveDateString + 'hp';
}
var pushId = '';
switch(i) {
case 1:
pushId = '&amp;pushId=WOMENS'
break;
case 2:
pushId = '&amp;pushId=MENS'
break;
case 3:
pushId = '&amp;pushId=APARTMENT'
break;
case 5:
pushId = '&amp;pushId=GENERAL_CATEGORY'
break;
default:
pushId = ''
break;
}
//desktop slide
system("echo '<li><a class=\"slide\" id=\"ss" + i + "\" href=\""+link+"\"></a>' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
//mobile slide
system("echo '<li id=\"slide-" + i + "\"><a class=\"slideLink\" href=\"" + link + pushId + "\"></a></li>' >> ~/Dropbox/work/UO/homepage/mobile/home.html");
var k = 0,
thisBanner = banners[i];
for (var l = thisBanner.layers.length - 1; l > -1; l--) {
if (thisBanner.layers[l].name.toLowerCase().indexOf('quickview') === 0 && thisBanner.layers[l].visible) {
system("echo '<span id=\"ss" + i + String.fromCharCode('a'.charCodeAt() + k) + "\" class=\"hp_quickview\" style=\"left:" + (thisBanner.layers[l].bounds[0] - 17).toString().replace(' ','') + ";top:" + (thisBanner.layers[l].bounds[1] - 17).toString().replace(' ','') + "\" data-prod=\"\"></span>' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
k++;
thisBanner.layers[l].visible = false;
}
}
system("echo '</li>' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
app.displayDialogs = DialogModes.NO
var filetype = shouldSaveAsPng();
save('bg' + i, filetype);
var initialState = D.activeHistoryState;
D.resizeImage(null,UnitValue(630,"px"),null,ResampleMethod.BICUBIC);
save('home-medium-hero-' + i, filetype);
D.activeHistoryState = initialState;
D.resizeImage(null,UnitValue(350,"px"),null,ResampleMethod.BICUBIC);
save('home-small-hero-' + i, filetype);
D.activeHistoryState = initialState;
app.displayDialogs = DialogModes.ALL
}
system("echo ' </ul>\
<span id=\"controls\">\
<span>\
<a class=\"control\" id=\"back\"></a>\
<a class=\"control\" id=\"forward\"></a>\
</span>\
</span>\
</div>\
</div>\
\
<!-- Gateway Main Buckets -->\
\
<div id=\"gateway-bucket-container\">\
'>> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
}
function bucketText() {
var r = app.activeDocument.layers['slide small'].layers['ROLLOVER'].layers;
var l = 0;
for (var i = r.length - 1; i > -1; i--) {
if (r[i].kind === LayerKind.TEXT) {
l++;
if (links['banner' + l]) {
link = links['banner' + l];
}
else {
alert('something is wrong - bucket text');
break;
}
if (link.indexOf('http') !== 0) {
link = 'http://www.urbanoutfitters.com/urban/catalog/category.jsp?id=' + link + '&amp;' + saveDateString + 'hp';
}
if(l===4) {classes=" last-elm";} else {classes="";}
system("echo '<div id=\"gb" + l + "\" class=\"gb" + classes + "\">\
<a href=\""+link+"\">' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
system('echo "' + r[i].textItem.contents.replace(/^[\s]+|[\s]+$/g, '') + '###" | perl -pe "s/\r/\n/g" | sed "s/###/<\\\/span>###/g\" | sed "/.*###/{x;p;x;}\" | sed "s/^$/<span>/g\" | sed "s/$/<br>/g" | sed "s/###<br>//" | sed "s/<span><br>/<span>/" >> ~/Dropbox/work/UO/homepage/' + saveDateString + '/' + saveDateString + '.html');
system("echo '</a></div>' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
}
}
system("echo '</div>' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
}
function blogText() {
var q = app.activeDocument.layers['blog modules'];
var r = q.layers['ROLLOVER BLOG'].layers;
var l = 0;
var t = [];
for (var j = q.layers.length - 1; j > -1; j--) {
if (q.layers[j].kind === LayerKind.TEXT) {
t.push(q.layers[j]);
}
}
system("echo '<!-- Gateway Blog Section -->\
<div id=\"gateway-blog-wrapper\">\
<a id=\"gateway-blog-header\" href=\"http://blog.urbanoutfitters.com\"><img src=\"http://us.urbanoutfitters.com/urban/emails/120618/blog.png\" alt=\"From the Blog\"/></a>\
<!-- Blog Bucket -->\
<div id=\"gateway-blog-container\">\
' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
blog1 = prompt('What should the first blog link to?');
blog2 = prompt('What should the second blog link to?');
blog3 = prompt('What should the third blog link to?');
for (var i = 0; i < r.length; i++) {
var R = r[i].layers;
l++;
if(l===3) {classes=" last-elm";} else {classes="";}
switch(l) {
case 1:
link = blog1;
break;
case 2:
link = blog2;
break;
case 3:
link = blog3;
break;
default:
alert('somethings wrong - blog text');
break;
}
if (link.indexOf('http') !== 0) {
link = 'http://blog.urbanoutfitters.com/features/' + link + '&amp;' + saveDateString + 'hp';
}
system("echo '<div id=\"bb"+l+"\" class=\"bb" + classes + "\">\
<a href=\""+link+"\"><span>" + cleanText(R[1].textItem.contents) + "<u>" + cleanText(R[0].textItem.contents) + "</u></span></a><div class=\"caption\">' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
system("echo '" + t[l-1].textItem.contents + "' |sed 's/—/-/g'| perl -pe 's/\r/<br>\n/g' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
system("echo '</div></div>' >> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
}
}
function cleanText(dirtyText) {
var cleanedText = dirtyText.replace(/“/,'"');
cleanedText = cleanedText.replace(/”/,'"');
cleanedText = cleanedText.replace('—','-');
return cleanedText;
}
function endHTML() {
system("echo '<script>\
var URBN = {\
homepage: {\
bucketHighlight: function() {\
var currentBucket = jQuery(\"#\" + jQuery(\"#slideshow ul\").children().first().children()[0].id.replace(\"ss\",\"gb\"));\
if (currentBucket[0]) {\
currentBucket.siblings().removeClass(\"selected\");\
currentBucket.addClass(\"selected\");\
}\
else {\
jQuery(\".gb\").removeClass(\"selected\");\
}\
},\
updatePosition: function(dir) {\
var h = URBN.homepage\
if (dir === \"back\") {\
jQuery(\"#slideshow ul\").stop(true, true).children().last().prependTo(jQuery(\"#slideshow ul\")).parent().css(\"left\", \"-960px\").animate({left: 0}, 700, function(){h.bucketHighlight();})\
}\
else {\
jQuery(\"#slideshow ul\").animate({left: \"-960px\"}, 700, function(){\
jQuery(this).append(jQuery(this).children().first()).css(\"left\", 0);\
h.bucketHighlight();\
})\
}\
},\
snapShot: function(productID, coremetricsTag, color) {\
jQuery.snapshot({selectedProduct: productID, selectedColor: color, qvCatId: coremetricsTag})\
}\
}\
}\
\
if (!jQuery.browser.msie) {\
jQuery(\"a.control\").hover(\
function () {\
jQuery(this).animate({opacity: 1}, 200)\
},\
function () {\
jQuery(this).animate({opacity: 0}, 200)\
}\
);\
}\
\
jQuery(document).ready(function(){\
var s = jQuery(\"#slideshow ul\"),\
h = URBN.homepage;\
\
h.intervalTimer = setInterval(\"URBN.homepage.updatePosition()\", 7000)\
\
jQuery(\".control\").on(\"click\", function(){\
clearInterval(h.intervalTimer)\
h.updatePosition(this.id);\
})\
\
jQuery(\".hp_quickview\").on(\"click\", function(){\
clearInterval(h.intervalTimer)\
var slideIndex;\
try { slideIndex = parseInt(jQuery(this).siblings(\".slide\").attr(\"id\").split(\"ss\")[1]) + 1 } catch (e){}\
URBN.homepage.snapShot(jQuery(this).attr(\"data-prod\"), \"HOMEPAGE_SLIDE\"+ slideIndex +\"_GW_QUICKVIEW\", jQuery(this).attr(\"data-color\"));\
})\
})\
\
</script>\
<!--\
\
/////////////////////////////\
// //\
// END: GATEWAY CONTENT //\
// //\
/////////////////////////////\
\
-->'>> ~/Dropbox/work/UO/homepage/" + saveDateString + "/" + saveDateString + ".html");
system("open -a ImageOptim.app ~/Dropbox/work/UO/homepage/" + saveDateString + "/");
system("echo '</ul>\
<nav><span class=\"selected\">&bull;</span> <span>&bull;</span> <span>&bull;</span> <span>&bull;</span> <span>&bull;</span></nav>\
</div>\
<script>\
\
var gatewayMediumHero;\
\
$(document).ready(function() {\
gatewayHero = new Swipe(document.querySelector(\".gateway-hero\"), {\
callback: function(e, i) {\
$(\".gateway-hero nav span\").removeClass(\"selected\").eq(i).addClass(\"selected\");\
}\
});\
\
$(\".gateway-hero nav span\").click(function() {\
gatewayHero.slide($(this).index());\
});\
});\
\
</script>\
</div>'>> ~/Dropbox/work/UO/homepage/mobile/home.html");
}
function hide(elm) {
var desc2 = new ActionDescriptor();
var list1 = new ActionList();
var ref1 = new ActionReference();
var id5 = charIDToTypeID( "Lyr " );
ref1.putName( id5, elm);
list1.putReference( ref1 );
desc2.putList( charIDToTypeID( "null" ), list1 );
executeAction( charIDToTypeID( "Hd " ), desc2, DialogModes.NO );
}
function undo() {
activeDocument.activeHistoryState = activeDocument.historyStates[0];
}
function hideText(selectedLayer) {
var varLayers = selectedLayer.layers.length;
for (var i = varLayers.length -1 ; i < -1 ; i--) {
var currentLayer = selectedLayer.layers[i];
var currentLayerName = currentLayer.name;
var currentLayerVis = currentLayer.visible;
if (currentLayer.typename != 'LayerSet') {
hide(currentLayerName);
}
}
}
function shouldSaveAsPng() {
try {
var initialState = D.activeHistoryState;
D.trim();
var h = activeDocument.height;
var w = activeDocument.width;
var corners = [
[1, 1],
[w/2, 1],
[w, 1],
[w, h/2],
[w, h],
[w/2, h],
[1, h],
[1, h/2]
];
var isTransparent = 3;
D.mergeVisibleLayers();
for(var i = corners.length - 1; i > -1; i--) {
try {
D.colorSamplers.removeAll();
thisColor = D.colorSamplers.add(corners[i]).color;
isTransparent--;
} catch(e) {}
}
D.activeHistoryState = initialState;
if (isTransparent > 0) {
return true;
}
else {
return false;
}
}
catch (e) {
return false
}
}
function save(filename, shouldSaveAsPng) {
var i;
var filetype;
if (shouldSaveAsPng) {
i = new PNGSaveOptions();
filetype = "png";
i.interlaced = false;
}
else {
i = new JPEGSaveOptions();
filetype = "jpg";
i.embedColorProfiles = true;
i.formatOptions = FormatOptions.STANDARDBASELINE;
i.matte = MatteType.NONE;
i.quality = 8;
}
system("mkdir -p ~/Dropbox/work/UO/homepage/" + saveDateString);
D.saveAs(File("~/Dropbox/work/UO/homepage/" + saveDateString + "/" + filename + "." + filetype), i, true, Extension.LOWERCASE);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment