In [1]:
list_of_workshops = pd.read_csv("")
In [2]:
wks_title = list_of_workshop['title']
In [3]:
num_people = list_of_workshops["presentors"]
In [4]:
In [5]:
In [6]:
def jumbo_wks(background_img, track_title)
background_img = '/assets/img/network.svg'
track_title='Track 3: Beyond'
wks_jumbotron = """
<div class="container">
<div class="jumbotron" style="background-image:url({background_img});background-position:right bottom;background-repeat: no-repeat;">
<h1>Workshops</h1>
<p>{track_title}</p>
</div>
</div>
""".format(track_title=track_title,background_img=background_img )
In [7]:
bio_id = '304_ajovellanos'
def presentor_block(presentor_name,short_50, bio_id, year):
return """
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img src="/assets/img/wks/{bio_id}.jpg" height="200" width="319" alt="{presentor_name}">
<div class="caption">
<h3>{presentor_name}</h3>
<p>{short_50}</p>
<p><a href="/wks/{year}/bios/{bio_id}.html" class="btn btn-primary" role="button">Read Full Bio</a></p>
</div>
</div>
</div>
""".format(presentor_name=presentor_name, short_50 = short_50, bio_id = bio_id, year=year)
In [8]:
def presentor_section(num_presentor, presentor_block):
presentor_chunk = """<div class="row">"""
for presentor in range(num_presentor):
if ((presentor % 3) == 0) & presentor !=0:
presentor_chunk += """</div> \n <div class="row">"""
presentor_chunk += str(presentor_block[presentor]) #future present_block(function)
else:
presentor_chunk += presentor_block[presentor]
presentor_chunk += """</div>"""
return presentor_chunk
#add end div
#def for taking first lower(initial), and lower(lastname) to construct different directores
#def for creating short bio
In [9]:
#presentor_block = ['A', 'B', 'C', 'D', 'E']
#presentor_block = ['A', 'B', 'C', 'D', 'E', 'F']
presentor_block = ['A', 'B']
num_presentor = len(presentor_block)
print presentor_section(num_presentor, presentor_block)
In [10]:
track_id = "1"
presentor_first = "Richard Brian"
presentor_last = "Lu"
def presentor_directory (track_id, presentor_first, presentor_last):
first_names = presentor_first.split(' ')
first_initials = ""
for name in first_names:
first_initials += name[0]
return track_id + first_initials + presentor_last
print presentor_directory(track_id, presentor_first, presentor_last)
In [11]:
def short_bio(bio):
charcount = 0
wordcount = 0
for char in bio:
charcount += 1
if wordcount < 20:
if char == ' ':
wordcount += 1
else:
return bio[:charcount-2] + "..." #return first 20 words of bio
return bio[:50] + "..." #return first 50 chars by default
In [12]:
def presentor_chunk(presentor_img_url, presentor_img_alt_txt, presentor_bio_prev):
return """
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img src="{presentor_img_url}" alt="{presentor_img_alt_txt}">
<div class="caption">
<h3>Thumbnail label</h3>
<p>{presentor_bio_prev}</p>
<p><a href="#" class="btn btn-primary" role="button">Read Full Bio</a></p>
</div>
</div>
</div>""".format(presentor_img_url=presentor_img_url, presentor_img_alt_txt=presentor_img_alt_txt, presentor_bio_prev=presentor_bio_prev)
In [13]:
def wks_info (wks_title, wks_descr, presentor_section):
return = """
<div class="container">
<h2>{wks_title}</h2>
<br>
<h4>Description</h4>
<p>{wks_descr}</p>
<br>
<h4>Presenters</h4>
{presentor_section}
</div> <!-- /container -->
""".format(wks_title=wks_title, wks_descr=wks_descr, presentor_section= presentor_section)
In [14]:
def create_wks_page(list_of_workshops, year):
# Loop through all lines in the file
year = year
for x in range(length_of_list):
background_img = list_of_workshops['background_img'][x]
track_title = list_of_workshops['track_title'][x]
wks_title = list_of_workshops['wks_title'][x]
wks_descr = list_of_workshops['wks_descr'][x]
presentor_img_url = list_of_workshops['presentor_img_url'][x]
presentor_img_alt_txt = list_of_workshops['presentor_img_alt_txt'][x]
presentor_bio_prev = list_of_workshops['presentor_bio_prev'][x]
presentor_section = presentor_section()
header = """
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="The Official Website of the New York City Asian American Student Conference">
<meta name="author" content="Amelia Chu">
<link rel="icon" href="/assets/favicon.ico">
<title>NYCAASC | {year} Workshops | {title}</title>
<!-- Bootstrap core CSS -->
<link href="/assets/css/bootstrap.min.css" rel="stylesheet">
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<link href="/assets/css/ie10-viewport-bug-workaround.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="/assets/css/navbar-fixed-top.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="/assets/css/nycaasc-custom.css" rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
<!--[if lt IE 9]><script src="..//assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script src="/assets/js/ie-emulation-modes-warning.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
""".format(year=year, title=title)
navigator = """
<!-- Fixed navbar -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/index.html">NYC<font color = "#cf3537">AA</font>SC</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="/index.html">Home</a></li>
<li class="dropdown">
<a href="/index.html#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Conference <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/theme.html">Theme</a></li>
<li><a href="/index.html#featuredperformances">Featured Performances + Keynote</a></li>
<li><a href="/index.html#schedule">Schedule</a></li>
<li><a href="https://www.eventbrite.com/e/10th-annual-nycaasc-registration-22417219507">Registration</a></li>
<li role="separator" class="divider"></li>
<li class="dropdown-header">Support the Conference</li>
<li><a href="/partners.html">Community Partnerships</a></li>
<li><a href="/sponsorship.html">Sponsorship Opportunities</a></li>
</ul>
</li>
<li><a href="/events.html">Satellite Events</a></li>
<li class="dropdown">
<a href="/index.html#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">About Us <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/mission.html">Mission + History</a></li>
<li><a href="/currentboard.html">Current Board</a></li>
<li role="separator" class="divider"></li>
<li class="dropdown-header">Join Us!</li>
<li><a href="/apply.html">Apply for Membership</a></li>
<li><a href="/hslprogram.html">High School Liason Program</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="social-menu--link"><a href="https://www.facebook.com/nycaascpage"><img src="/assets/img/fb.svg" height="16" width="16" alt="Facebook"></a></li>
<li class="social-menu--link"><a href="https://twitter.com/nycaasc"><img src="/assets/img/tw.svg" height="16" width="16" alt="Twitter"></a></li>
<li class="social-menu--link"><a href="https://www.instagram.com/nycaasc"><img src="/assets/img/in.svg" height="16" width="16" alt="Instagram"></a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav> <!--/navigation-->
"""
wks_page = header + navigator + jumbo_wks(background_img, track_title) + wks_info(wks_title, wks_descr, presentor_section) + wks_presentors(presentor_img_url, presentor_img_alt_txt, presentor_bio_prev)
#path_to_repo is the path where you are storing the NYCAASC website locally
directory ="{path_to_repo}/wks/{year}/{track_id}/{wks_num}.html".format("path_to_repo=path_to_repo, year=year, track_id=track_id wks_num=wks_num")
f = open(directory, 'w')
f.write(wks_page)
f.close()
In [15]: