diff options
author | luxagraf <sng@luxagraf.net> | 2015-11-15 08:27:16 -0500 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2015-11-15 08:27:16 -0500 |
commit | 10402b86a75c83a02945b5528010dcefab41fc37 (patch) | |
tree | 7a6f7f22f44d15757b805b45d0649b867c3c2ccb | |
parent | 623974bd1b0a130be71f5db7b41c38c43b0bf613 (diff) |
added resume and income apps
-rw-r--r-- | app/income/__init__.py | 0 | ||||
-rw-r--r-- | app/income/admin.py | 27 | ||||
-rw-r--r-- | app/income/models.py | 36 | ||||
-rw-r--r-- | app/resume/admin.py | 14 | ||||
-rw-r--r-- | app/resume/build.py | 34 | ||||
-rw-r--r-- | app/resume/models.py | 40 | ||||
-rw-r--r-- | app/resume/urls.py | 32 | ||||
-rw-r--r-- | app/resume/views.py | 31 | ||||
-rw-r--r-- | config/base_urls.py | 4 | ||||
-rw-r--r-- | design/sass/_resume.scss | 103 | ||||
-rw-r--r-- | design/sass/screenv8.scss | 1 | ||||
-rw-r--r-- | design/templates/archives/resume-pubs.html | 26 | ||||
-rw-r--r-- | design/templates/archives/resume.html | 30 | ||||
-rw-r--r-- | design/templates/details/cv.html | 140 |
14 files changed, 518 insertions, 0 deletions
diff --git a/app/income/__init__.py b/app/income/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/app/income/__init__.py diff --git a/app/income/admin.py b/app/income/admin.py new file mode 100644 index 0000000..4ca6aba --- /dev/null +++ b/app/income/admin.py @@ -0,0 +1,27 @@ +from django.contrib import admin + +from .models import Gig + + +class GigAdmin(admin.ModelAdmin): + list_display = ('title', 'status', 'payment_status', 'publisher', 'pub_date', 'created') + list_filter = ('publisher', 'status', 'payment_status') + fieldsets = ( + ('Gig', { + 'fields': ( + 'title', + 'pitch', + ('payment', 'pay_type'), + ('status', 'pub_date', 'payment_status'), + 'publisher', + 'pub_item' + ), + 'classes': ( + 'show', + 'extrapretty', + 'wide' + ) + } + ), + ) +admin.site.register(Gig, GigAdmin) diff --git a/app/income/models.py b/app/income/models.py new file mode 100644 index 0000000..9cace38 --- /dev/null +++ b/app/income/models.py @@ -0,0 +1,36 @@ +from django.db import models +from django.utils import timezone + +from resume.models import PubItem, Publisher + + +class Gig(models.Model): + title = models.CharField(max_length=200) + pitch = models.TextField(null=True, blank=True) + created = models.DateTimeField(auto_now_add=True) + pub_date = models.DateTimeField(default=timezone.now) + STATUS = ( + (0, "Pitched"), + (1, "Accepted"), + (2, "Rejected"), + (3, "Published"), + ) + status = models.IntegerField(choices=STATUS, default=1) + payment = models.DecimalField(max_digits=10, decimal_places=2) + PAY_STATUS = ( + (0, "NOT SUBMITTED"), + (1, "Invoiced"), + (2, "Paid"), + ) + payment_status = models.IntegerField(choices=PAY_STATUS, default=1) + PAY_TYPE = ( + (0, "Flat Rate"), + (1, "Per Word"), + (2, "Hourly"), + ) + pay_type = models.IntegerField(choices=PAY_TYPE, default=1) + publisher = models.ForeignKey(Publisher, blank=True, null=True) + pub_item = models.ForeignKey(PubItem, blank=True, null=True) + + def __str__(self): + return self.title diff --git a/app/resume/admin.py b/app/resume/admin.py new file mode 100644 index 0000000..0f8b71a --- /dev/null +++ b/app/resume/admin.py @@ -0,0 +1,14 @@ +from django.contrib import admin + +from .models import Publisher, PubItem + + +class PublisherAdmin(admin.ModelAdmin): + pass + + +class PubItemAdmin(admin.ModelAdmin): + pass + +admin.site.register(Publisher, PublisherAdmin) +admin.site.register(PubItem, PubItemAdmin) diff --git a/app/resume/build.py b/app/resume/build.py new file mode 100644 index 0000000..7241a70 --- /dev/null +++ b/app/resume/build.py @@ -0,0 +1,34 @@ +import os +from django.core.urlresolvers import reverse +from builder.base import BuildNew + + +class BuildExpenses(BuildNew): + + def build(self): + self.build_detail_view() + self.build_list_view( + base_path=reverse("expenses:list_trip"), + paginate_by=24 + ) + + def get_model_queryset(self): + return self.model.objects.all() + + def build_detail_view(self): + ''' + write out all the expenses for each trip + ''' + for obj in self.get_model_queryset(): + url = obj.get_absolute_url() + path, slug = os.path.split(url) + path = '%s/' % path + # write html + response = self.client.get(url) + print(path, slug) + self.write_file(path, response.content, filename=slug) + + +def builder(): + j = BuildExpenses("expenses", "trip") + j.build() diff --git a/app/resume/models.py b/app/resume/models.py new file mode 100644 index 0000000..4df639e --- /dev/null +++ b/app/resume/models.py @@ -0,0 +1,40 @@ +from django.db import models +from django.core.urlresolvers import reverse + +# http://freewisdom.org/projects/python-markdown/ +import markdown + + +class Publisher(models.Model): + name = models.CharField(max_length=200) + slug = models.SlugField(max_length=50) + body_markdown = models.TextField(null=True, blank=True) + body_html = models.TextField(null=True, blank=True) + url = models.CharField(max_length=200, blank=True, null=True) + + def __str__(self): + return self.name + + +class PubItem(models.Model): + title = models.CharField(max_length=200) + slug = models.CharField(max_length=50) + body_markdown = models.TextField(null=True, blank=True) + body_html = models.TextField(null=True, blank=True) + url = models.CharField(max_length=200, blank=True, null=True) + pub_date = models.CharField(max_length=40, blank=True, null=True) + publisher = models.ForeignKey(Publisher) + + class Meta: + ordering = ('-pub_date',) + + def __str__(self): + return self.title + + def get_absolute_url(self): + return reverse("resume:detail", kwargs={"publisher": self.publisher.slug, "slug": self.slug}) + + def save(self, *args, **kwargs): + if self.body_markdown: + self.body_html = markdown.markdown(self.body_markdown, extensions=['extra'], safe_mode=False) + super(PubItem, self).save() diff --git a/app/resume/urls.py b/app/resume/urls.py new file mode 100644 index 0000000..15b2371 --- /dev/null +++ b/app/resume/urls.py @@ -0,0 +1,32 @@ +from django.conf.urls import url +from django.views.generic.base import RedirectView + +from . import views + +urlpatterns = [ + url( + regex=r'pubs/(?P<page>\d+)/$', + view=views.PublisherListView.as_view(), + name='list', + ), + url( + regex=r'pubs/(?P<publisher>[-\w]+)/(?P<slug>[-\w]+)$', + view=views.PubItemDetailView.as_view(), + name='detail', + ), + url( + regex=r'pubs/$', + view=RedirectView.as_view(url="/resume/pubs/1/", permanent=False), + name="live-redirect" + ), + url( + regex=r'^(?P<slug>[-\w]+)$', + view=views.PageView.as_view(), + name="intro" + ), + url( + regex=r'^$', + view=views.BaseView.as_view(), + name="cv" + ), +] diff --git a/app/resume/views.py b/app/resume/views.py new file mode 100644 index 0000000..bdfd01b --- /dev/null +++ b/app/resume/views.py @@ -0,0 +1,31 @@ +from django.views.generic.detail import DetailView +from django.views.generic.base import TemplateView +from utils.views import PaginatedListView + +from .models import PubItem +from pages.models import Page + + +class PublisherListView(PaginatedListView): + template_name = 'archives/resume-pubs.html' + + def get_queryset(self): + return PubItem.objects.all() + + +class PubItemDetailView(DetailView): + model = PubItem + template_name = "details/resume.html" + slug_field = "slug" + + +class PageView(DetailView): + model = Page + slug_field = "slug" + + def get_template_names(self): + return ["details/%s.html" % self.object.slug, 'details/page.html'] + + +class BaseView(TemplateView): + template_name = "archives/resume.html" diff --git a/config/base_urls.py b/config/base_urls.py index 99e9929..4cb56ab 100644 --- a/config/base_urls.py +++ b/config/base_urls.py @@ -83,6 +83,10 @@ urlpatterns += patterns('', regex=r'^figments/', view=include('figments.urls', namespace='figments') ), + url( + regex=r'^resume/', + view=include('resume.urls', namespace='resume') + ), (r'^map/', include('locations.urls')), url( regex=r'^$', diff --git a/design/sass/_resume.scss b/design/sass/_resume.scss new file mode 100644 index 0000000..6ae2ef4 --- /dev/null +++ b/design/sass/_resume.scss @@ -0,0 +1,103 @@ +.head { + @extend %clearfix; + @include constrain(780px); + margin-top: 4em; +} +main header { + width: 100%; + h1 { + @include fontsize(36); + text-transform: uppercase; + letter-spacing: 3px; + font-weight: 600; + line-height: 1; + margin-bottom: 0; + color: #444; + } + h2 { + margin-top: .5em !important; + @include fontsize(14); + text-transform: uppercase; + letter-spacing: 1px; + font-style: italic; + color: #333; + } + @include breakpoint(gamma) { + width: 60%; + float: left; + text-align: left; + margin-top: .5em; + } +} +.h-resume { + h3,h2 { + @include constrain_narrow; + text-align: left; + } + h3 { + font-family: sans-serif; + text-transform: uppercase; + letter-spacing: 1px; + font-size: 0.75rem; + margin-top: 4em; + margin-bottom: 3em; + border-bottom: 1px dotted #333; + } + h2 { + margin-top: 2.5em; + margin-bottom: .25em; + text-transform: uppercase; + letter-spacing: 1px; + font-size: 1rem; + } + h2 a, h2 a:visited { + text-decoration: none; + color: #444; + } +} +.meta { + @include constrain_narrow; + text-align: left; + margin-bottom: 1em; + time{ + display: inline; + } +} +.contact { + margin: 2em 0 1.5em; + @include constrain_narrow; + li { + display: block; + @extend %clearfix; + } + @include breakpoint(gamma) { + width: 160px; + float: right; + margin: 1.9em 0 1.5em; + li { + display: block; + } + } + h6, a { + font-size: 13px; + font-size: 0.8125rem; + line-height: 1.8; + margin: 0; + display: block; + float: left; + } + h6 { + font-size: 11px; + font-size: 0.6875rem; + line-height: 2.1; + text-transform: uppercase; + letter-spacing: 1px; + &:after { + content: ":"; + margin-right: 5px; + } + } + a { + font-family: sans-serif; + } +} diff --git a/design/sass/screenv8.scss b/design/sass/screenv8.scss index 3f5c9b4..74ea603 100644 --- a/design/sass/screenv8.scss +++ b/design/sass/screenv8.scss @@ -20,6 +20,7 @@ @import "_books.scss"; @import "_src.scss"; @import "_figments.scss"; +@import "_resume.scss"; @import "_inbox.scss"; //@import _large.sass diff --git a/design/templates/archives/resume-pubs.html b/design/templates/archives/resume-pubs.html new file mode 100644 index 0000000..7569a8f --- /dev/null +++ b/design/templates/archives/resume-pubs.html @@ -0,0 +1,26 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load html5_datetime %} +{% load pagination_tags %} +{% block pagetitle %} Publications | Resume{% endblock %} +{% block metadescription %} {% endblock %} +{%block bodyid%}class="resume" id="publications-archive"{%endblock%} + +{% block primary %} + <ul class="bl" id="breadcrumbs" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> + <li><a href="/" title="luxagraf homepage" itemprop="url"><span itemprop="title">Home</span></a> → </li> + <li><a href="/resume/">Resume</a> → </li> + <li>Publications</li> + </ul> + <main role="main"> + <h1 class="hide">Publications</h1> +{% regroup object_list by publisher.name as pub_list %}{% for pub in pub_list %} + <ul class="publications-list"> + <li><h2>{{ pub.grouper }}</h2></li> + <ul>{% for object in pub.list %} + <li class=""><h3><a href="{{object.get_absolute_url}}">{{object.title|amp|smartypants|widont|safe}}</a></h3> + </li>{% endfor %} + </ul>{% endfor %} + </ul> + </main> +{% endblock %} diff --git a/design/templates/archives/resume.html b/design/templates/archives/resume.html new file mode 100644 index 0000000..40ede8c --- /dev/null +++ b/design/templates/archives/resume.html @@ -0,0 +1,30 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} + +{% block pagetitle %}{% endblock %} +{% block metadescription %}{% endblock %} + + +{% block primary %}<ul class="bl" id="breadcrumbs" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> + <li><a href="/" title="luxagraf homepage" itemprop="url"><span itemprop="title">Home</span></a> → </li> + <li>Resume</li> + </ul> + <main role="main"> +<p class="intro">Hello</p> + +<p>This is the website of Scott Gilbertson. I am a writer and publisher living in Athens, Georgia.</p> + +<p>I used to work for Wired.com, where I wrote for and later edited/produced <a href="http://www.webmonkey.com/">Webmonkey.com</a> among other sites. I still <a href="http://www.wired.com/reviews/author/scott-gilbertson/">freelance</a> for Wired (also, <a href="http://www.wired.com/author/luxagraf/">here</a>) and I write about open source software and related topics for publications like <a href="http://arstechnica.com/">Ars Technica</a>, <a href="theregister.co.uk/Author/1785">The Register</a> and elsewhere.</p> + +<p>I’ve also been published in some dead tree magazines like Consumer Digest and Budget Travel. I once appeared on National Public Radio.</p> + +<p>Perpetually out of date <a href="/resume/cv">curriculum vitæ</a> available for those who like such things.</p> + +<p>The personal section of my site, which is primarily about my travels can be found at <a href="https://luxagraf.net/">the root of this URL</a>.</p> + +<p>If you’d like me to write, edit, develop or consult on a website, you can contact me at sng @ luxagraf.net. </p> + + +<p>Thank you for visiting.</p> + </main> + {%endblock%} diff --git a/design/templates/details/cv.html b/design/templates/details/cv.html new file mode 100644 index 0000000..a669b18 --- /dev/null +++ b/design/templates/details/cv.html @@ -0,0 +1,140 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% block pagetitle %}Scott Gilbertson - Curriculum Vitæ{%endblock%} +{% block extrahead%} + <meta name="twitter:card" content="summary"> + <meta name="twitter:title" content="Curriculum Vitæ"> + <meta name="twitter:description" content="luxagraf.net is the personal web site of Scott gilbertson."> + <meta name="twitter:site:id" content="9469062"> + <meta name="twitter:creator:id" content="9469062"> + <meta property="og:type" content="article"/> + <meta property="og:title" content="Scott Gilbertson - Curriculum Vitæ"/> + <meta property="og:url" content="http://luxagraf.net/resume/cv"/> + <meta property="og:description" content="luxagraf.net is the personal web site of Scott gilbertson."> + <meta property="article:author" content="Scott Gilbertson"/> + <meta property="og:site_name" content="luxagraf.net"/> + <meta property="og:locale" content="en_US"/> +<style> +</style>{%endblock%} + +{% block primary %} +<main role="main" id="content"> +<article class="h-resume"> + <div class="h-card head"> + <header> + <h1 class="p-name"> + <span class="p-given-name">Scott</span> + <span class="p-additional-name hide">Nathan</span> + <span class="p-family-name">Gilbertson</span> + </h1> + <h2>Writer, Photographer, Web Developer</h2> + </header> + <ul class="contact"> + <li> + <h6>Phone</h6> + <span><a class="u-tel" href="tel:706-438-4297">706-438-4297</a></span> + </li> + <li> + <h6>Email</h6> + <a class="u-email" href="mailto:sng@luxagraf.net">sng@luxagraf.net</a> + </li> + <li> + <h6>Web</h6> + <span><a class="u-url" href="https://luxagraf.net/" rel="me">https://luxagraf.net/</a></span> + </li> + </ul> + </div> + <div class="profile"> + <h3>Profile</h3> + <p class="p-summary">I am a writer, producer and web developer based in Athens, GA. Clients include Wired, Webmonkey, Ars Technica, Pioneer and Boost Mobile, among others. I wrote for Wired.com’s Webmonkey.com for 13 years and served as head editor for three. I’ve been developing on the web and writing about web development for nearly two decades. For an up-to-date list of recent articles, please browse <a href="/resume/pubs/">the publications list</a>.</p> + </div> + + <div id="skills"> + <h3>Skills</h3> + + <h2><a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Writing">Writing</a></h2> + <p>Freelance writer, producer, journalist, editor and hand model at places like Wired, Ars Technica, Budget Travel. I’ve written blogs, features, news items, ad copy, technical documentation, tutorials, how-tos, wikis and probably other things I’ve forgotten about. I also served as editor-in-chief of Webmonkey.com.</p> + + <h2><a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Web_development">Web Development</a></h2> + <p>Expert front-end engineer in <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Web_standards">standards-based web development</a> using <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/HTML"><abbr title="Hypertext Markup Language">HTML</abbr></a>, <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets"><abbr title="Cascading Style Sheets">CSS</abbr></a>, and high performance <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Responsive_web_design">responsive design</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Progressive_enhancement">progressive enhancement</a>, <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Microformats">microformats</a>, <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/ARIA">ARIA</a> and more. </p> + <p>Experience maintaining large-scale web applications and tools with <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Python_(programming_language)">Python</a> and <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/PHP">PHP</a> in conjunction with databases like <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/PostgreSQL">PostgreSQL</a> (including numerous PostGIS, geographic database projects), <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/MySQL">MySQL</a>, <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Sqlite">Sqlite</a>. Experience administering <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Linux">Linux </a> servers and running web servers like <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Apache_HTTP_Server">Apache</a>, and <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Nginx">Nginx</a>.</p> + <p>Advocate and evangelist for free software and open web standards technologies such as <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/HTML5">HTML5</a>, related APIs, <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets">CSS3</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Responsive_web_design">responsive design</a> (including <a href="https://longhandpixels.net/books/responsive-web-design">a 350 page book on the subject</a>) and <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Progressive_enhancement">progressive enhancement</a>.</p> + + <h2><a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Graphic_design">Photography/Video/Design</a></h2> + <p>Good design eye specializing in fluid, clean layouts with strong <a class="p-skill" rel="tag" href="http://en.wikipedia.org/wiki/Typography">typographic style</a>. </p> + <p>Photo and video editing using <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Adobe_Photoshop">Photoshop</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/GIMP">GIMP</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Adobe_Photoshop_Lightroom">Lightroom</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Darktable">Darktable</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Final_Cut_Pro">Final Cut Pro</a>, and <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Kdenlive">Kdenlive</a>.</p> + + </div> + + <div class="h-calendar" id="experience"> + <h3>Experience</h3> + + <div class="p-experience h-event"> + <h2 class="p-name">Freelance Writer</h2> + <ul class="meta"> + <li>(<time class="dt-start" datetime="2006-06-01">June 2006</time>–Present)</li> + </ul> + <p class="e-description">Regular contributor to <a class="p-organization-name" href="http://www.wired.com/reviews/author/scott-gilbertson/">Wired</a> (also, <a href="http://www.wired.com/author/luxagraf/">here</a>), <a class="p-organization-name" href="http://www.arstechnica.com/">Ars Technica</a>, <a class="p-organization-name" href="http://theregister.co.uk/Author/1785">The Register</a> and elsewhere, covering Linux, open source software, web browsers and web technology.</p> + </div> + + <div class="p-experience h-event"> + <h2 class="p-name">Web Developer</h2> + <ul class="meta"> + <li>(<time class="dt-start" datetime="2004-06-01">June 2004</time>–Present) + </li> + </ul> + <p class="e-description">Co-founded a small design company where I serve as front-end web developer. I work closely with my co-founder (lead UI/UX), transforming visual designs into valid, semantic HTML/CSS/JavaScript. We specialize in responsive designs and mobile-friendly content that works across browsers and devices. Clients included Wired, Pioneer Entertainment, Boost Mobile, Co-op Credit Union and others.</p> + </div> + + <div class="p-experience h-event"> + <h2 class="p-name">Founder, LongHandPixels Press</h2> + <ul class="meta"> + <li>(<time class="dt-start" datetime="2013-09-01">September 2013</time>–Present) + </li> + </ul> + <p class="e-description">Founded an ebook publishing company, <a href="http://longhandpixels.net/" class="p-organization-name">LongHandPixels Press</a> and launched my first book, <em><a href="https://longhandpixels.net/books/responsive-web-design">Build a Better Web with Responsive Web Design</a></em>. The book covers responsive design, mobile-first web development, progressive enhancement and how modern tools like Sass, Grunt, Node, the Chrome developer tools and more can speed up workflows. + </p> + </div> + + <div class="p-experience h-event"> + <h2 class="p-name">Writer/Editor Webmonkey.com</h2> + <ul class="meta"> + <li class="h-location h-card"> + <a class="u-url p-name" href="http://webmonkey.com"> + <span class="p-organization-name">Wired.com</span>/ + <span class="p-organization-unit">Webmonkey.com</span></a> + </li> + <li>(<time class="dt-start" datetime="2006-06-01">June 2006</time> + –<time class="dt-end" datetime="2013-04-31">April 2013</time>) + </li> + </ul> + <p class="e-description">I started contributing tutorials to Wired.com’s Webmonkey.com in 1999, became a full time employee in 2006 and served as editor-in-chief from 2010 to 2013. I was in charge of creating resources for web developers, including how-to guides on the latest in web standards, code libraries, server technologies and authoring resources. Wrote roughly 3 million words on various web development tools. I also helped cultivate and manage a global team of freelance contributors.</p> + </div> + + <div class="p-experience h-event"> + <h2 class="p-name">Photography and Video Editing</h2> + <ul class="meta"> + <li class="h-location h-card"><a class="u-url p-name" href="http://barrelmanproductions.com"><span class="p-organization-name">barrelmanproductions.com</span></a></li> + <li>(<time class="dt-start" datetime="2006-06-01">June 2014</time> - Present)</li> + </ul> + <p class="e-description">Co-founded a video editing company, Barrelman Productions, specializing in HD aerial video. Portfolio and highlights reel available at <a href="http://www.barrelmanproductions.com/">http://www.barrelmanproductions.com/</a>. Skills include editing in <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Final_Cut_Pro">Final Cut Pro</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Adobe_Photoshop">Photoshop</a>, <a class="p-skill" rel="tag" href="https://en.wikipedia.org/wiki/Adobe_Photoshop_Lightroom">Lightroom</a> and production of web-optimized video.</p> + </div> + + </div> + <div class="h-calendar" id="education"> + <h3>Education</h3> + + <div class="p-education h-event"> + <h2 class="p-name">Bachelor of Arts, English</h2> + <ul class="meta"> + <li>Undergraduate degree from <a class="p-location h-card" href="http://uga.edu/">The University of <span class="p-locality">Georgia</span>.</a></li> + <li>(<time class="dt-start" title="2001-08-01">2001</time>–<time class="dt-end" title="2003-12-16">2003</time>)</li> + </ul> + </div> + + </div> + +</article> + +</main> +{%endblock%} |