Fixed mobile styles

This commit is contained in:
William Brawner 2016-03-27 11:52:05 -07:00
parent 1a7376cdb2
commit ae69ee60bf
10 changed files with 161 additions and 176 deletions

View file

@ -6,6 +6,7 @@ from flask_debugtoolbar import DebugToolbarExtension
from admin import admin
from flask.ext.mail import Mail, Message
from wtforms import Form, TextField, TextAreaField, validators
from datetime import datetime
app = Flask(__name__)
app.config.from_pyfile('config.py')
@ -34,6 +35,10 @@ class ContactForm(Form):
email = TextField('Email Address', [validators.Length(min=6, max=35)])
message = TextAreaField('Message', [validators.Length(min=6, max=5000)])
@app.context_processor
def get_current_year():
return dict(current_year=datetime.now().year)
@app.route('/')
def home():
g.db.execute('SELECT * FROM blog_posts ORDER BY updated_on DESC LIMIT 3')

View file

@ -4,14 +4,14 @@ body {
padding:0;
background-color:#fff;
overflow-x: hidden;
text-shadow: 0.5px 0 0 #000, -0.5px 0 0 #000, 0 0.5px 0 #000, 0 -0.5px 0 #000, 0.5px 0.5px #000, -0.5px -0.5px 0 #000, 0.5px -0.5px 0 #000, -0.5px 0.5px 0 #000;
}
h1, h2, h3, h4, h5, h6 {
h1, h2, h3, h4, h5, h6, #menu-icon {
font-family: 'Ubuntu', sans-serif;
text-shadow: 1px 0 0 #000, -1px 0 0 #000, 0 1px 0 #000, 0 -1px 0 #000, 1px 1px #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000;
}
a {
* {
-webkit-transition: all 0.5s; /* Safari */
transition: all 0.5s;
}
@ -57,10 +57,11 @@ input[type='submit'] {
position:fixed;
top:0;
margin:0;
background-color:#002900;
background: linear-gradient(#F5F5F5, #CCCCCC);
height:60px;
width:100vw;
z-index: 999;
box-shadow: 0 1px 10px #000;
}
.main-nav {
@ -120,7 +121,7 @@ input[type='submit'] {
.main-nav li a:link, .main-nav li a:visited {
text-decoration:none;
text-align:center;
color:white;
color: #000;
padding:5px;
margin:0 auto;
font-size:16px;
@ -131,7 +132,8 @@ input[type='submit'] {
}
.main-nav li a:hover, .main-nav li a:active {
background-color: #5C995C;
/*background-color: #5C995C;*/
background: linear-gradient(#CCCCCC, #F5F5F5);
}
.main-nav p {
@ -219,6 +221,9 @@ input[type='submit'] {
.section:first-of-type {
margin-top: 30px;
}
.section p {
text-shadow: 0 0 30px #000;
}
.blog-entry {
margin: 5px 20px 15px;
padding: 0 20px;
@ -306,20 +311,6 @@ div#instafeed {
overflow: hidden;
}
#home img {
border-radius:50%;
height:auto;
width:150px;
display:inline-block;
float:none;
margin:10px;
}
#about {
background-color:white;
padding:1px 15px 15px 15px;
}
.desktop {
display:inline-block;
width:70%;
@ -340,17 +331,11 @@ div#instafeed {
}
#projects {
background-color:#002900;
color:white;
margin:50px auto;
overflow: hidden;
}
#projects h2 {
color: #ffffff;
border-bottom: 1px solid white;
}
#projects h3 {
margin: 10px auto;
}
@ -426,13 +411,14 @@ div#instafeed {
margin-right: 20px;
}
footer {
display: block;
width: 100%;
background-color: #002900;
text-align: center;
overflow: hidden;
color: #fff;
#contact p {
width: 50%;
display: inline-block;
}
p.contact-btns {
float: right;
text-align: right;
}
a#menu-icon {
@ -445,7 +431,7 @@ a.social-link {
}
a.social-link:link, a.social-link:visited {
color: #fff;
color: #000;
}
a.social-link:hover, a.social-link:active {
@ -499,17 +485,12 @@ a.social-link:hover, a.social-link:active {
.admin-table th:first-child, .admin-table td:first-child {
width: 50%;
}
}
@media screen and (max-width:1024px) {
* {
z-index: 99;
position: relative;
}
.main-nav, #nav {
position: absolute;
}
#menu {
max-height: 0;
overflow: hidden;
@ -518,12 +499,11 @@ a.social-link:hover, a.social-link:active {
top: 60px;
left: 0;
padding:0;
background-color:#002900;
background-color:#CCCCCC;
float:none;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
#menu-icon {
position:absolute;
right:30px;
@ -532,35 +512,33 @@ a.social-link:hover, a.social-link:active {
margin: 2px 10px;
font-size: 24px;
}
.main-nav li {
display:block;
margin:0 auto;
padding:0;
background-color:#002900;
background-color:#CCCCCC;
width:100%;
}
.main-nav li a {
width:90%;
margin: 0 auto;
}
.desktop {
display:none;
}
.content {
position: relative;
z-index: 9;
}
.glance {
width:95%;
margin:auto;
}
.project {
display:block;
width:95%;
margin:auto;
}
.project-logo {
display: block;
float:none;
@ -572,10 +550,12 @@ a.social-link:hover, a.social-link:active {
.container, .section {
background-image: none;
}
.section {
background: rgba(0, 41, 0, 0.75);
}
.mobile-bg {
display: block;
position: fixed;
z-index: 0;
height: 100%;
top: 0;
width: 100%;
@ -588,26 +568,6 @@ a.social-link:hover, a.social-link:active {
right: 0;
bottom: 0;
}
.section-bg {
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 40px;
}
.section-wrapper {
overflow: hidden;
position: relative;
}
.section-bg img {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
}
@media all and (max-width: 768px) {
@ -640,4 +600,15 @@ a.social-link:hover, a.social-link:active {
width: 90%;
margin: 5px 5% 40px;
}
}
@media all and (max-width: 440px) {
.blog-entry {
padding: 0 5px;
}
#contact p {
float: none !important;
width: 100%;
text-align: center;
}
}

View file

@ -1,8 +1,10 @@
{% extends 'master.html' %}
{% block body %}
<div class="section" id="bio">
<h2>about me</h2>
<p>I have work experience using HTML, CSS, JavaScript, jQuery, AngularJS, NodeJS, PHP, Laravel, WordPress, Magento. Shopify, Ruby on Rails, Python, Linux, Ubuntu Server 14.04, and I have the Certified System Administrator certification from the Linux Foundation. As far as software goes, I'm proficient in git, GIMP, and vim. All of my learning so far has been from self-study, so I am very independent and self-motivated; little to no direction isnt a problem for me. Im also a very quick learner and Im detail-oriented. I tend to stay up late at night working and wake up early the next day to continue working when I have a big project. I love Open Source software, and I use Arch Linux as my primary operating system. I have made a few minor contributions to open source software, as seen on my GitHub profile. </p>
<p>When I was 16 years old I decided to go on a foreign exchange trip, and I wanted to go to Europe. I wasnt too particular about where exactly though and I ended up going to Finland. Finnish is a very difficult language to learn and the people there are more reserved than most Americans. Add to that mix a nearly 6 month winter with temperatures as low as -24 F (-31 C) and you can see how this was quite a life-changing experience. I left Finland fluent in Spanish and conversational in Finnish. The Finns were rather shy, at least with me, so I spent most of my time with Latin American exchange students and actually met my current fiancée there. When I returned to the US, I finished my last year of high school and then moved to Mexico, precisely for my fiancée, who was only my girlfriend at the time. When I got to Mexico, I had a couple thousand dollars saved up, I had no visas or permissions to work, but I at least spoke Spanish. Within 2 weeks of being there I was able to find work teaching English, and I later found a better teaching position and got my visa situation taken care of. Prior to teaching I had only gained experience in sales and retail, so teaching was a completely new experience for me. It wasnt my favorite thing to do, however, so I decided that I needed to get some more education in order to get into a field that I actually would enjoy. I began to teach myself HTML/CSS, JavaScript, and Python in my free time since Ive always been a tech junkie. At 20 years old, I began my first job in web development, only 4 months after I began studying programming. In the 6 months that I've been there, I've learned PHP, Laravel, WordPress, some Magento, some Ruby on Rails, and Shopify development. I am also conversational in German, since German is a pretty popular language around the tech world from what Ive seen. Im currently 21 years old, I speak English, Spanish, Finnish, and German, and can code in HTML, CSS, JavaScript, PHP, Ruby and Python, am a certified Linux System Administrator, and Id like to think that Ive overcome more difficulties and had more life experiences than most people twice my age have.</p>
<div class="section-wrapper">
<div class="section" id="bio">
<h2>about me</h2>
<p>I have work experience using HTML, CSS, JavaScript, jQuery, AngularJS, NodeJS, PHP, Laravel, WordPress, Magento. Shopify, Ruby on Rails, Python, Linux, Ubuntu Server 14.04, and I have the Certified System Administrator certification from the Linux Foundation. As far as software goes, I'm proficient in git, GIMP, and vim. All of my learning so far has been from self-study, so I am very independent and self-motivated; little to no direction isnt a problem for me. Im also a very quick learner and Im detail-oriented. I tend to stay up late at night working and wake up early the next day to continue working when I have a big project. I love Open Source software, and I use Arch Linux as my primary operating system. I have made a few minor contributions to open source software, as seen on my GitHub profile. </p>
<p>When I was 16 years old I decided to go on a foreign exchange trip, and I wanted to go to Europe. I wasnt too particular about where exactly though and I ended up going to Finland. Finnish is a very difficult language to learn and the people there are more reserved than most Americans. Add to that mix a nearly 6 month winter with temperatures as low as -24 F (-31 C) and you can see how this was quite a life-changing experience. I left Finland fluent in Spanish and conversational in Finnish. The Finns were rather shy, at least with me, so I spent most of my time with Latin American exchange students and actually met my current fiancée there. When I returned to the US, I finished my last year of high school and then moved to Mexico, precisely for my fiancée, who was only my girlfriend at the time. When I got to Mexico, I had a couple thousand dollars saved up, I had no visas or permissions to work, but I at least spoke Spanish. Within 2 weeks of being there I was able to find work teaching English, and I later found a better teaching position and got my visa situation taken care of. Prior to teaching I had only gained experience in sales and retail, so teaching was a completely new experience for me. It wasnt my favorite thing to do, however, so I decided that I needed to get some more education in order to get into a field that I actually would enjoy. I began to teach myself HTML/CSS, JavaScript, and Python in my free time since Ive always been a tech junkie. At 20 years old, I began my first job in web development, only 4 months after I began studying programming. In the 6 months that I've been there, I've learned PHP, Laravel, WordPress, some Magento, some Ruby on Rails, and Shopify development. I am also conversational in German, since German is a pretty popular language around the tech world from what Ive seen. Im currently 21 years old, I speak English, Spanish, Finnish, and German, and can code in HTML, CSS, JavaScript, PHP, Ruby and Python, am a certified Linux System Administrator, and Id like to think that Ive overcome more difficulties and had more life experiences than most people twice my age have.</p>
</div>
</div>
{% endblock %}

View file

@ -1,10 +1,12 @@
{% extends 'master.html' %}
{% block body %}
{% for data in post %}
<div class="section">
<h2>{{ data.title }}</h2>
<em>{{ data.updated }}</em>
{{ data.text | safe }}
<div class="section-wrapper">
<div class="section">
<h2>{{ data.title }}</h2>
<em>{{ data.updated }}</em>
{{ data.text | safe }}
</div>
</div>
{% endfor %}
{% endblock %}

View file

@ -1,15 +1,17 @@
{% extends "master.html" %}
{% block body %}
<div class="section">
<h2>blog</h2>
{% for entry in entries %}
<div class="section-wrapper">
<div class="section">
<h2>blog</h2>
{% for entry in entries %}
<div class="blog-entry">
<h3><a href="{{ url_for('blog') }}/{{ entry.url }}">{{ entry.title }}</a></h3>
<h5>{{ entry.updated }}</h5>
{{ entry.text|safe }}
</div>
{% else %}
{% else %}
<em>Sorry, I still haven't gotten around to moving my blog posts over!</em>
{% endfor %}
</div>
{% endfor %}
</div>
</div>
{% endblock %}

View file

@ -1,36 +1,38 @@
{% extends 'master.html' %}
{% block body %}
<div class="section" id="contact">
<h2>contact</h2>
{% from "_formhelper.html" import render_field %}
<form method="post" action="{{ url_for('contact') }}">
<dl>
{{ render_field(form.name) }}
{{ render_field(form.email) }}
{{ render_field(form.message) }}
</dl>
<p style="margin-left: 40px;"><input type="submit" value="Send">
</form>
<div class="one-half">
<a class="twitter-timeline" href="https://twitter.com/BillyBrawner1" data-widget-id="706308392311136256">Tweets by @BillyBrawner1</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
<div class="one-half">
<!-- Facebook Badge START --><a href="https://www.facebook.com/wpbrawner" title="Billy Brawner" style="font-family: &quot;lucida grande&quot;,tahoma,verdana,arial,sans-serif; font-size: 11px; font-variant: normal; font-style: normal; font-weight: normal; color: #3B5998; text-decoration: none;" target="_TOP">Billy Brawner</a><span style="font-family: &#039;lucida grande&#039;,tahoma,verdana,arial,sans-serif;font-size: 11px;line-height: 16px;font-variant: normal;font-style: normal;font-weight: normal;color: #555555;text-decoration: none;">&nbsp;|&nbsp;</span><a href="https://www.facebook.com/badges/" title="Make your own badge!" style="font-family: &quot;lucida grande&quot;,tahoma,verdana,arial,sans-serif; font-size: 11px; font-variant: normal; font-style: normal; font-weight: normal; color: #3B5998; text-decoration: none;" target="_TOP">Create Your Badge</a><br /><a href="https://www.facebook.com/wpbrawner" title="Billy Brawner" target="_TOP"><img class="img" src="https://badge.facebook.com/badge/1058965332.287.1992111354.png" style="border: 0px;" alt="" /></a><!-- Facebook Badge END -->
<div id="instafeed">
<script type="text/javascript">
{% raw %}
var feed = new Instafeed({
get: 'user',
userId: 2113424423,
limit: 6,
accessToken: '2113424423.467ede5.2a622e2c959943169a932f91a1972302',
template: '<a class="insta-link" href="{{link}}" target="_blank"><span class="insta-caption-bg"></span><span class="insta-caption">{{caption}}</span><img class="insta-foto" src="{{image}}" /></a>'
});
feed.run();
{% endraw %}
</script>
<div class="section-wrapper">
<div class="section" id="contact">
<h2>contact</h2>
{% from "_formhelper.html" import render_field %}
<form method="post" action="{{ url_for('contact') }}">
<dl>
{{ render_field(form.name) }}
{{ render_field(form.email) }}
{{ render_field(form.message) }}
</dl>
<p style="margin-left: 40px;"><input type="submit" value="Send">
</form>
<div class="one-half">
<a class="twitter-timeline" href="https://twitter.com/BillyBrawner1" data-widget-id="706308392311136256">Tweets by @BillyBrawner1</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
</div>
<div class="one-half">
<!-- Facebook Badge START --><a href="https://www.facebook.com/wpbrawner" title="Billy Brawner" style="font-family: &quot;lucida grande&quot;,tahoma,verdana,arial,sans-serif; font-size: 11px; font-variant: normal; font-style: normal; font-weight: normal; color: #3B5998; text-decoration: none;" target="_TOP">Billy Brawner</a><span style="font-family: &#039;lucida grande&#039;,tahoma,verdana,arial,sans-serif;font-size: 11px;line-height: 16px;font-variant: normal;font-style: normal;font-weight: normal;color: #555555;text-decoration: none;">&nbsp;|&nbsp;</span><a href="https://www.facebook.com/badges/" title="Make your own badge!" style="font-family: &quot;lucida grande&quot;,tahoma,verdana,arial,sans-serif; font-size: 11px; font-variant: normal; font-style: normal; font-weight: normal; color: #3B5998; text-decoration: none;" target="_TOP">Create Your Badge</a><br /><a href="https://www.facebook.com/wpbrawner" title="Billy Brawner" target="_TOP"><img class="img" src="https://badge.facebook.com/badge/1058965332.287.1992111354.png" style="border: 0px;" alt="" /></a><!-- Facebook Badge END -->
<div id="instafeed">
<script type="text/javascript">
{% raw %}
var feed = new Instafeed({
get: 'user',
userId: 2113424423,
limit: 6,
accessToken: '2113424423.467ede5.2a622e2c959943169a932f91a1972302',
template: '<a class="insta-link" href="{{link}}" target="_blank"><span class="insta-caption-bg"></span><span class="insta-caption">{{caption}}</span><img class="insta-foto" src="{{image}}" /></a>'
});
feed.run();
{% endraw %}
</script>
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -5,9 +5,6 @@
</h1>
<div class="section-wrapper">
<div class="section" id="blog">
<div class="section-bg">
<img src="{{ url_for('static', filename='img/bg-blur.jpg') }}">
</div>
<h2 style="margin-top: 0;">from my blog</h2>
{% for entry in entries %}
<div class="blog-entry">
@ -23,9 +20,6 @@
</div>
<div class="section-wrapper">
<div class="section" id="projects">
<div class="section-bg">
<img src="{{ url_for('static', filename='img/bg-blur.jpg') }}">
</div>
<h2>projects</h2>
<div class="one-third">
<a href="http://wbrawner.com/interval-timer" target="_blank"><img class="project-logo" style="max-width: 102px; border-radius: 50%;" src="{{ url_for('static', filename='img/interval-timer.png') }}"></a>
@ -76,9 +70,6 @@
</div>
<div class="section-wrapper">
<div class="section" id="bio">
<div class="section-bg">
<img src="{{ url_for('static', filename='img/bg-blur.jpg') }}">
</div>
<h2>quick facts</h2>
<table>
<tbody>

View file

@ -1,10 +1,14 @@
{% extends "master.html" %}
{% block body %}
<h2>Login</h2>
{% if error %}<p class=error><strong>Error:</strong> {{ error }}{% endif %}
<form action="{{ url_for('login') }}" method=post id="login-form">
<input type="text" name="username" placeholder="username">
<input type="password" name="password" placeholder="password">
<input type="submit" value="login">
</form>
<div class="section-wrapper">
<div class="section" id="contact">
<h2>Login</h2>
{% if error %}<p class=error><strong>Error:</strong> {{ error }}{% endif %}
<form action="{{ url_for('login') }}" method=post id="login-form">
<input type="text" name="username" placeholder="username">
<input type="password" name="password" placeholder="password">
<input type="submit" value="login">
</form>
</div>
</div>
{% endblock %}

View file

@ -12,7 +12,7 @@
<script type="text/javascript" src="{{ url_for('static', filename='js/highlight.pack.js') }}"></script>
<link rel="shortcut icon" href="{{ url_for('static', filename='img/favicon.ico') }}">
<link rel="shortcut icon" href="{{ url_for('static', filename='css/styles/zenburn.css') }}">
<link rel="apple-touch-icon" href="{{ url_for('static', filename='img/favicon.png') }}">
<link rel="apple-touch-icon" href="{{ url_for('static', filename='img/apple-favicon.png') }}">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)
@ -66,47 +66,51 @@
<div class=flash>{{ message }}</div>
{% endfor %}
{% block body %}{% endblock %}
<div class="section-wrapper">
<div class="section" id="footer">
<div class="section-content" id="contact">
<p>William Brawner {{ current_year }}</p>
<p class="contact-btns">
<a class="social-link" href="mailto:contact@wbrawner.com?subject=Let's Work Together"><i class="fa fa-envelope-o"></i></a>
<a target="_blank" class="social-link" href="https://www.facebook.com/wpbrawner"><i class="fa fa-facebook"></i></a>
<a target="_blank" class="social-link" href="https://twitter.com/BillyBrawner1"><i class="fa fa-twitter"></i></a>
<a target="_blank" class="social-link" href="https://www.linkedin.com/profile/view?id=AAIAABAr3PgB2QY4LrVuT2tCxni4S7Rdi2FC3MY&trk=nav_responsive_tab_profile"><i class="fa fa-linkedin"></i></a>
<a target="_blank" class="social-link" href='http://stackexchange.com/users/6090478/billy-brawner'><i class="fa fa-stack-overflow"></i></a>
<a target="_blank" class="social-link" href='https://github.com/wbrawner'><i class="fa fa-github"></i></a>
</p>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="one-third" id="contact">
<p>contact</p>
<p class="contact-btns"><a class="social-link" href="mailto:contact@wbrawner.com?subject=Let's Work Together"><i class="fa fa-envelope-o"></i></a>
<a target="_blank" class="social-link" href="https://www.facebook.com/wpbrawner"><i class="fa fa-facebook"></i></a>
<a target="_blank" class="social-link" href="https://twitter.com/BillyBrawner1"><i class="fa fa-twitter"></i></a>
<a target="_blank" class="social-link" href="https://www.linkedin.com/profile/view?id=AAIAABAr3PgB2QY4LrVuT2tCxni4S7Rdi2FC3MY&trk=nav_responsive_tab_profile"><i class="fa fa-linkedin"></i></a>
<a target="_blank" class="social-link" href='http://stackexchange.com/users/6090478/billy-brawner'><i class="fa fa-stack-overflow"></i></a>
<a target="_blank" class="social-link" href='https://github.com/wbrawner'><i class="fa fa-github"></i></a></p>
</div>
</footer>
<script>
$(document).ready(function() {
changeText()
var minHeight = window.innerHeight - 60 - $('body > footer').height();
$('.container').css('min-height', minHeight);
})
$(function() {
var menuVisible = false;
$('#menu-icon').click(function() {
if (menuVisible) {
$('#menu').css({'max-height':'0'});
menuVisible = false;
return;
}
$('#menu').css({'max-height':'200px'});
menuVisible = true;
});
});
var titles = ["certified linux system administrator.","web developer.", "linguist.", "traveller."];
function changeText() {
var current = $("#changing-text").data("title") || 0;
$("#changing-text").data("title", current == titles.length -1 ? 0 : current + 1).text(titles[current])
.fadeIn().delay(2000).fadeOut(500, changeText);
}
$(window).resize(function() {
var minHeight = window.innerHeight - 60 - $('body > footer').height();
$('.container').css('min-height', minHeight);
})
</script>
<script>
$(document).ready(function() {
changeText()
var minHeight = window.innerHeight - 60 - $('body > footer').height();
$('.container').css('min-height', minHeight);
})
$(function() {
var menuVisible = false;
$('#menu-icon').click(function() {
if (menuVisible) {
$('#menu').css({'max-height':'0'});
menuVisible = false;
return;
}
$('#menu').css({'max-height':'200px'});
menuVisible = true;
});
});
var titles = ["certified linux system administrator.","web developer.", "linguist.", "traveller."];
function changeText() {
var current = $("#changing-text").data("title") || 0;
$("#changing-text").data("title", current == titles.length -1 ? 0 : current + 1).text(titles[current])
.fadeIn().delay(2000).fadeOut(500, changeText);
}
$(window).resize(function() {
var minHeight = window.innerHeight - 60 - $('body > footer').height();
$('.container').css('min-height', minHeight);
})
</script>
</body>
</html>
</html>

View file

@ -1,8 +1,9 @@
{% extends 'master.html' %}
{% block body %}
<div class="section">
<h2>projects</h2>
<div class="project-description">
<div class="section-wrapper">
<div class="section">
<h2>projects</h2>
<div class="project-description">
<h3>interval timer app</h3>
<p><a href="http://wbrawner.com/interval-timer" target="_blank" class="logo-link"><img class="project-logo" style="max-width: 102px; border-radius: 50%;" src="{{ url_for('static', filename='img/interval-timer.png') }}"></a>The interval timer app was a little experiment of mine to learn AngularJS and try something new. When I wrote it, I was using FirefoxOS on my phone, and working out from my apartment. While there were apps that ran an interval timer, there was no app that allowed you to customize the intervals for the timer. All of them basically gave you the times and cycles, and you had to comply. I decided that that wasn't good enough for me, so I threw together this app and published it to the Firefox Marketplace. Later, once FirefoxOS was discontinued, I migrated back to Android, and published the app in the Google Chrome Webstore. </p>
<p>The interval timer app is completely open source, but as of this moment, I'm the only contributor. If you're interested, you can find the code on <a href="https://github.com/wbrawner/interval-timer">GitHub</a></p>
@ -23,5 +24,6 @@
<p><a href="http://wbrawner.com/" target="_blank" class="logo-link"><img class="project-logo" style="max-width: 102px; border: 0;" src="{{ url_for('static', filename='img/favicon.png') }}"></a>This site that you're looking at right now was also built by yours truly. It began as a basic HTML/CSS single-page website, then I decided to charge it up with WordPress and move a few things to their own pages. The motivation behind this move was that I had been using WordPress quite a bit in my work at the time, so I wanted to learn the ins and outs in order to do my job better. Some time later, I stopped getting so many WordPress tasks and so my desire to learn it faded a bit. I have nothing against WordPress, but I wanted to get back to my Python roots, and have a bit more control over everything running. Thus, I rewrote my website in Python using Flask, not for work or any other professional necessity, but simply for the joy of writing code in a language I'm more familiar with.</p>
<p>I decided to make my personal website open source as well. If you're interested, you can find the code on <a href="https://github.com/wbrawner/flask-site">GitHub</a></p>
</div>
</div>
</div>
{% endblock %}