Migrated site to Slim v4 and supporting libraries; removed some old band info (namely removed Andrew and Zakk from the about page); added Grunt.js config for compiling SASS/CoffeeScript

This commit is contained in:
2023-05-12 23:34:43 -04:00
parent d071bdeba6
commit e34ec3b947
29 changed files with 3078 additions and 644 deletions

13
views/errors/404.twig Normal file
View File

@ -0,0 +1,13 @@
{% extends 'templates/default.twig' %}
{% block title %}404 Error{% endblock %}
{% block content %}
<!-- Error information section -->
<section id="error-section" class="row">
<div class="col-xs-12 card hover-box shadow-1">
<h4>404 Error</h4>
<p>The URL you were looking for doesn't exist. Perhaps you'd like to start over at the <a href="{{ urlFor('home') }}">home page</a>?</p>
</div>
</section>
{% endblock %}

65
views/pages/about.twig Executable file
View File

@ -0,0 +1,65 @@
{% extends 'templates/default.twig' %}
{% block title %}About Us{% endblock %}
{% block content %}
<header id="about-header" class="row shadow-1">
<div class="col-xs-12">
<img class="img-responsive" src="/img/about/halftone.jpg" alt="halftone">
</div>
<div class="about-band col-xs-12">
<h2>About the Band</h2><br/>
<p>
When one thinks of pioneers in rock music, Beethoven might not be the first name to roll off the tongue. However, as a 12 year old Wyatt Hamilton (Lead Vocals/Guitar) jammed out “Ode to Joy” in his middle school guitar class, he set the course for the inception of Halftone. Joining up with Andrew Hall (Bass/Vocals), Greg Ballantine (Drums/Vocals) and Zakk Vigneri (Guitar/Vocals), this alternative and punk rock influenced quartet has already made an impact in the Maryland music scene.
</p><br />
<p>
While the members of this Glen Burnie based band are influenced by some of the pioneers in punk and alternative music, they were not afraid to step out of their comfort zone to craft a their own sound, featuring thoughtful lyrics and an infectious energy. The band sets out to remain true to themselves, and this honesty has resulted in a uniquely personal connection with their ever-growing fanbase.
</p><br />
<p>
Halftone has already played to large crowds at venues such as Rams Head Live, Ottobar and Fish Head Cantina. They also participated in the 16th annual Anne Arundel County High School Battle of the Bands at Maryland Hall, and returned the following year to perform as the showcase act.
</p><br />
<p>
Their debut EP, “Opting Out”, was produced by Jerome Maffeo (Jimmies Chicken Shack) and singer/songwriter, Eric James (formerly of vs. The Earth) and is available now on iTunes. Their single “Elsewhere” has received radio airplay on WIYY (98 Rock, Baltimore).
</p><br />
<p>
“Its refreshing to find a young band that strikes such a perfect balance between showmanship and musicianship and that understands what it means to work hard to build a following”, remarks co-producer Eric James.
</p><br />
<p>
Poised for the future, the members of Halftone look forward to bringing their unapologetic energy to the masses.
</p>
</div>
</header>
<div id="about-content" class="row">
<section class="col-md-6 col-xs-12">
<div class="thumbnail shadow-1">
<img src="img/about/wyatt.jpg" alt="Wyatt Hamilton">
<div class="caption">
<h3>Wyatt Hamilton</h3>
<hr />
<h4>Lead vocals/Guitar</h4>
<p>World's "okay-est" guitarist... and we're using "okay" loosely.</p>
</div>
<a href="#"></a>
</div>
</section>
<section class="col-md-6 col-xs-12">
<div class="thumbnail shadow-1">
<img src="img/about/greg.jpg" alt="Gregory Ballantine">
<div class="caption">
<h3>Gregory Ballantine</h3>
<hr />
<h4>Drums/Screaming</h4>
<p>If only wailing on things was this easy...</p>
</div>
<a href="#"></a>
</div>
</section>
</div>
{% endblock %}

18
views/pages/contact.twig Executable file
View File

@ -0,0 +1,18 @@
{% extends 'templates/default.twig' %}
{% block title %}Contact Us{% endblock %}
{% block content %}
<section id="contact-header" class="row">
<h1>Contact Us</h1>
</section>
<section id="contact-info" class="row">
<div class="card shadow-1 container">
<p>For booking, press, promotion, or just to say "what's up?", you can shoot us an email at:</p>
<h3><a href="mailto:halftonetheband@gmail.com">halftonetheband@gmail.com</a></h3>
<hr />
<p>We accept many types of inquiries, and we're always glad to work with anyone if it means putting on a great show!</p>
</div>
</section>
{% endblock %}

21
views/pages/home.twig Executable file
View File

@ -0,0 +1,21 @@
{% extends 'templates/default.twig' %}
{% block title %}Home{% endblock %}
{% block content %}
<!-- featured section -->
<section id="featured" class="row">
<!-- Featured news block -->
<div class="col-sm-6 col-xs-12">
<a href="https://itunes.apple.com/us/album/opting-out-ep/id884330910">
<img class="hover-box shadow-1" src="/img/banner/oo-banner.jpg" alt="Opting Out EP - Now available on iTunes!" />
</a>
</div>
<!-- Donation plea -->
<div class="col-sm-6 col-xs-12 card hover-box shadow-1">
<p>Since we are a local band, we do not exactly have lots of cash to throw at recording our stuff, taking ourselves to gigs, and whatever other expenses come up. We run off of the support from our fans, friends and family, and would greatly appreciate any help you guys can give us!</p>
<!--<p>You can support us <a href="">at kickstarter</a> today!</p>-->
</div>
</section>
{% endblock %}

84
views/pages/music.twig Normal file
View File

@ -0,0 +1,84 @@
{% extends 'templates/default.twig' %}
{% block javascripts %}
<script type="text/javascript" src="/js/music.js"></script>
{% endblock %}
{% block title %}Music{% endblock %}
{% block content %}
<header id="music-header" class="row">
<h1>Music</h1>
</header>
<!-- music player -->
<section class="row">
<!-- no javascript warning -->
<noscript class="card">Woah there, lassy! You will need to enable Javascript to use this page!</noscript>
<!-- left album stuff -->
<article class="col-sm-5 col-xs-12">
<div class="thumbnail shadow-1">
<img id="album-artwork" class="image-responsive album-art" src="{{ albums[0].album_art }}" alt="{{ albums[0].title }}">
<div class="caption">
<h3 id="album-title">{{ albums[0].title }}</h3>
<h5 id="album-release">Released on <span>{{ albums[0].releaseDate }}</span></h5>
{% if albums[0].description %}
<hr />
<p id="album-description">{{ albums[0].description }}</p>
{% endif %}
{% if links %}
<hr />
<ul style="padding-left:20px">
{% for link in links %}
<li>Buy on <a href="{{ link.link_ref }}">{{ link.link_name }}</a></li>
{% endfor %}
</ul>
{% endif %}
</div>
</div>
</article>
<!-- right album stuff -->
<div class="col-sm-7 col-xs-12">
<article id="music-player-card" class="card">
<h4 id="track-title">{{ songs[0].title }}</h4>
<audio id="music-player" controls>
<source src="{{ songs[0].audio_file }}.ogg" type="audio/ogg" />
<source src="{{ songs[0].audio_file }}.mp3" type="audio/mpeg" />
</audio>
</article>
<article class="card">
<ul class="now-playing-list">
{% for song in songs %}
<li class="music-track {% if loop.index0 == 0 %}selected{% endif %}" data-trackid="{{ song.id }}" data-title="{{ song.title }}" data-album="{{ song.album_id }}" data-order="{{ song.track_order }}" data-path="{{ song.audio_file }}">
<span>{{ song.track_order }}. {{ song.title }}</span>
</li>
{% endfor %}
</ul>
</article>
</div>
</section>
<!-- available albums -->
<section class="row">
{% for album in albums %}
<!-- album details -->
<div class="music-album {% if loop.index0 == 0 %}selected{% endif %} col-sm-3 col-xs-6" data-albumid="{{ album.id }}">
<div class="thumbnail shadow-1">
<img class="album-art" src="{{ album.album_art }}" alt="{{ album.title }}">
<div class="caption">
<h5>{{ album.title }} ({{ album.releaseYear }})</h5>
{% if album.description %}
<hr />
<p id="album-description">{{ album.description|length > 50 ? album.description[:50] ~ '...' : album.description }}</p>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</section>
{% endblock %}

55
views/pages/shows.twig Executable file
View File

@ -0,0 +1,55 @@
{% extends 'templates/default.twig' %}
{% block title %}Show Schedule{% endblock %}
{% block content %}
<header class="shows-header row">
<h3>Upcoming Tour Dates</h3>
</header>
<div class="table-responsive">
<table id="shows-table" class="table">
<tbody>
{% for show in shows %}
<tr>
<td>
<p>{{ show.date }}</p>
<p>{{ show.day }}</p>
</td>
<td>
<p>{{ show.time }}</p>
</td>
<td>
<p><a href="{{ show.facebook_rsvp_url }}" class="change-on-hover">{{ show.venue.name }}</a></p>
<p>
{% if shows.artists.length > 1 %}
w/
{% for artist in show.artists %}
{% if not artist.name == 'HALFtone' %}
<a href="" class="change-on-hover">{{ artist.name }}</a>
{% endif %}
{% endfor %}
{% else %}
{{ show.description[:60] }}
{% endif %}
</p>
</td>
<td>
<p><a href="https://bandsintown.com/cities/{{show.venue.city}}-{{ show.venue.region }}" class="change-on-hover">{{ show.venue.city }}, {{ show.venue.region }}</a></p>
</td>
<td>
{% if show.ticket_url %}
<p><a href="{{ show.ticket_url }}" class="change-on-hover">Tickets</a></p>
{% endif %}
</td>
<td>
<p><a href="{{ show.facebook_rsvp_url }}" class="change-on-hover">RSVP</a></p>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<!--<script type="text/javascript" src="/js/bit.js"></script>-->
{% endblock %}

30
views/templates/default.twig Executable file
View File

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>{% block title %}{% endblock %} | Halftone</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mediaelement/2.23.4/mediaelementplayer.min.css">
<link rel="stylesheet" href="/css/main.css" media="screen,projection"/>
{% block stylesheets %}{% endblock %}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mediaelement/2.23.4/mediaelement-and-player.min.js"></script>
<script type="text/javascript" src="/js/main.js"></script>
{% block javascripts %}{% endblock %}
</head>
<body>
<div id="wrapper">
<div class="container">
{% include 'templates/partials/header.twig' %}
{% block content %}{% endblock %}
</div>
</div>
{% include 'templates/partials/footer.twig' %}
</body>
</html>

View File

@ -0,0 +1,27 @@
<footer id="footer" class="row">
<div class="col-sm-3 column-info">
<p>FIND US ON</p>
<ul>
<li><a href="https://twitter.com/HalftoneBand">Twitter</a></li>
<li><a href="https://www.facebook.com/HalftoneBand">Facebook</a></li>
<li><a href="https://instagram.com/halftoneband/">Instagram</a></li>
<li><a href="https://plus.google.com/+HalftoneBand">Google+</a></li>
<li><a href="https://www.youtube.com/c/HalftoneBand">Youtube</a></li>
<li><a href="https://soundcloud.com/halftoneband">SoundCloud</a></li>
</ul>
</div>
<div class="col-sm-6 copyright">
<p>© 2015 Halftone</p>
<p>Glen Burnie Maryland's unapologetic, high energy rock band</p>
<hr />
<p>Brought to you by our lovely Greg Ballantine</p>
</div>
<div class="col-sm-3 column-info">
<p>ENDORSED BY</p>
<ul>
<li><a href="http://www.drstrings.com/">DR Strings</a></li>
</ul>
</div>
</footer>

View File

@ -0,0 +1,40 @@
<!-- header -->
<header id="header" class="row">
<div class="col-sm-2"></div>
<div class="col-sm-8 col-xs-12">
<img class="band-logo" src="/img/logo-white.png" />
</div>
<div class="col-sm-2"></div>
</header>
<!-- nav bar -->
<nav id="nav" class="navbar" class="row">
<div class="container-fluid">
<div class="navbar-header">
<button id="navbar-collapse-button" type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<i class="fa fa-bars" aria-hidden="true"></i>
</button>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">
<li class="nav_item">
<a href="{{ url_for('home') }}">Home</a>
</li>
<li class="nav_item">
<a href="{{ url_for('about') }}">About</a>
</li>
<li class="nav_item">
<a href="{{ url_for('shows.index') }}">Shows</a>
</li>
<li class="nav_item">
<a href="{{ url_for('music.index') }}">Music</a>
</li>
<li class="nav_item">
<a href="{{ url_for('contact') }}">Contact</a>
</li>
</ul>
</div>
</div>
</nav>