Created
March 22, 2013 16:02
-
-
Save patrickkettner/5222469 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 + '&' + saveDateString + 'hp'; | |
} | |
var pushId = ''; | |
switch(i) { | |
case 1: | |
pushId = '&pushId=WOMENS' | |
break; | |
case 2: | |
pushId = '&pushId=MENS' | |
break; | |
case 3: | |
pushId = '&pushId=APARTMENT' | |
break; | |
case 5: | |
pushId = '&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 + '&' + 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 + '&' + 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\">•</span> <span>•</span> <span>•</span> <span>•</span> <span>•</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