Initial commit.

This commit is contained in:
Ian Adam Naval 2013-06-23 22:57:28 -04:00
commit c65e054a7c
387 changed files with 1412 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
ianonavy/passwords.txt
database.db

0
ianonavy/__init__.py Normal file
View File

BIN
ianonavy/__init__.pyc Normal file

Binary file not shown.

View File

BIN
ianonavy/core/__init__.pyc Normal file

Binary file not shown.

64
ianonavy/core/forms.py Normal file
View File

@ -0,0 +1,64 @@
from django import forms
from django.conf import settings
from django.core.mail import send_mail
from django.template import loader
from django.template import RequestContext
from django.contrib.sites.models import Site
attrs_dict = { 'class': 'required' }
class ContactForm(forms.Form):
def __init__(self, data=None, files=None, request=None, *args, **kwargs):
if request is None:
raise TypeError("Keyword argument 'request' must be supplied")
super(ContactForm, self).__init__(data=data, files=files, *args, **kwargs)
self.request = request
name = forms.CharField(max_length=100,
widget=forms.TextInput(attrs=attrs_dict),
label=u'Name',
error_messages={'required': 'Name is required.'})
email = forms.EmailField(widget=forms.TextInput(attrs=dict(attrs_dict,
maxlength=200)),
label=u'Email Address',
error_messages={'required': 'Email is required.'})
body = forms.CharField(widget=forms.Textarea(attrs=attrs_dict),
label=u'Message',
error_messages={'required': 'Message is blank.'})
from_email = settings.DEFAULT_FROM_EMAIL
recipient_list = [mail_tuple[1] for mail_tuple in settings.MANAGERS]
subject_template_name = "contact_form_subject.txt"
template_name = 'contact_form.txt'
def message(self):
if callable(self.template_name):
template_name = self.template_name()
else:
template_name = self.template_name
return loader.render_to_string(template_name, self.get_context())
def subject(self):
subject = loader.render_to_string(self.subject_template_name,
self.get_context())
return ''.join(subject.splitlines())
def get_context(self):
if not self.is_valid():
raise ValueError("Cannot generate Context from invalid contact form")
return RequestContext(self.request, dict(self.cleaned_data))
def get_message_dict(self):
if not self.is_valid():
raise ValueError("Message cannot be sent from invalid contact form")
message_dict = {}
for message_part in ('from_email', 'message', 'recipient_list', 'subject'):
attr = getattr(self, message_part)
message_dict[message_part] = callable(attr) and attr() or attr
return message_dict
def save(self, fail_silently=False):
send_mail(fail_silently=fail_silently, **self.get_message_dict())

3
ianonavy/core/models.py Normal file
View File

@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

BIN
ianonavy/core/models.pyc Normal file

Binary file not shown.

View File

@ -0,0 +1,33 @@
#main {
font-family: "Ubuntu", sans-serif;
}
img#me {
position: relative;
width: 240px;
float: left;
}
img#me.fixed {
position: fixed;
top: 48px;
}
#skills, #about-me, #hobbies {
margin: 0;
padding: 0;
width: 600px;
float: right;
}
#skills ul {
margin: 0;
padding: 0 0 2em 2em;
font-size: 1em;
}
#skills p, #about-me p, #hobbies p {
margin: 0 0 1em;
text-indent: 2.5em;
font-size: 1em;
}

View File

@ -0,0 +1,54 @@
#main {
text-align: center;
}
#main h2 {
text-align: center;
}
#internet {
margin: 1em 0 0 0;
padding: 0;
}
#social_links {
margin: 0;
padding: 6px 0;
}
#main h3 {
color: #fff;
}
#contact_form {
min-width: 384px;
max-width: 384px;
margin: 0 auto;
padding: 0 0 1em 0;
text-align: right;
}
label {
float: left;
clear: left;
margin: 0 16px 0 0;
width: 102px;
text-align: right;
}
input[type='text'] {
float: left;
width: 260px;
margin: 0 0 16px 0;
}
textarea {
float: left;
width: 260px;
height: 100px;
margin: 0 0 16px 0;
}
input[type='submit'] {
clear: both;
}

View File

@ -0,0 +1,8 @@
#main {
text-align: center;
}
img#error-cat {
margin: 1em;
width: 240px;
}

View File

@ -0,0 +1,51 @@
body {
width: 960px;
margin: 0 auto;
background-color: #000;
color: #0f0;
font: 2em "Ubuntu Mono", "Bitstream Vera Sans Mono", "Inconsolata", "Courier New", monospace;
}
a {
color: #ff0;
text-decoration: none;
}
a:hover {
color: #ff0;
text-decoration: underline;
}
a:visited {
color: #ff0;
}
#header {
text-align: center;
margin-top: 1em;
}
#header h1 {
display: inline;
}
#logo {
width: 128px;
height: 128px;
display: inline;
vertical-align: middle;
}
#main {
text-align: center;
}
#footer {
position: fixed;
bottom: 0;
font-size: .5em;
}
.hidden {
display: none;
}

View File

@ -0,0 +1,50 @@
.item {
display: block;
margin: 1em 0 3em;
clear: both;
}
.item img {
margin: 0 16px 16px 0;
box-shadow: 0 0 16px 4px #000;
float: left;
}
.item a {
border: none;
}
.item h3 {
display: inline;
}
.item p {
padding: 8px;
}
.section {
margin: 0;
padding: 2em 0 0;
clear: both;
}
#android .item img {
width: 240px;
}
#websites .item img {
width: 320px;
}
#sysadmin .item img {
width: 320px;
}
@media (max-width: 650px) {
#android img, #websites img, #sysadmin img {
display: block;
float: none;
clear: both;
margin: 1em auto;
}
}

View File

@ -0,0 +1,280 @@
/* General styles */
html, body {
height: 100%;
margin: 0 auto;
background: #111;
color: #0c0;
}
body {
font-family: "Ubuntu", sans-serif;
}
a {
color: #b9f73e;
text-decoration: none;
}
a:hover {
color: #b9f73e;
text-decoration: underline;
}
a:visited {
color: #b9f73e;
}
/* Header */
#header {
margin: 0;
padding: 16px;
text-align: left;
font-size: 2em;
background: #000;
color: #0f0;
font-family: "Ubuntu Mono", monospace;
}
#header img#logo {
margin: 0;
padding: 0;
float: left;
width: 196px;
height: auto;
border: none;
}
#header h1 {
margin: 0;
font-size: 2.5em;
}
#header h2#tagline {
margin: 0;
font-size: .75em;
font-weight: normal;
}
#header #name {
display: inline-block;
font-family: "Ubuntu", sans-serif;
}
#header #name a {
color: #fff;
}
/* Navigation */
#nav {
width: 100%;
margin: 0;
padding: 0;
text-align: center;
clear: both;
background: #000;
}
#nav.top {
position: relative;
top: auto;
left: auto;
padding: 0;
font-size: .85em;
}
#nav.scrolled {
position: fixed;
top: 0;
left: 0;
padding: 4px;
font-size: .7em;
z-index: 1;
}
#nav ul {
clear: both;
display: inline-block;
margin: 0;
padding: 0;
}
#nav li {
display: inline-block;
list-style: none;
}
#nav.top li {
padding: 0 1em 0;
}
#nav.scrolled li {
padding: 0 .65em 0;
}
#nav li.selected a {
color: #099;
}
#nav li.selected a:hover {
text-decoration: none;
}
#nav.top #top-link {
display: none;
}
#nav.scrolled #top-link {
display: inline;
}
#small-logo {
margin: 0;
padding: 0;
vertical-align: middle;
display: none;
width: 24px;
}
#nav.top #small-logo {
display: none;
}
#nav.scrolled #small-logo {
display: inline-block;
}
/* Main body */
#main {
margin: 0;
padding: 48px;
position: relative;
background: #000 url('/static/img/dark_stripes.png');
text-align: left;
}
#main:after { /* Clear floats */
visibility: hidden;
width: 0;
height: 0;
margin: 0;
padding: 0;
display: block;
clear: both;
font-size: 0;
content: "";
}
#main p {
margin: 0 0 1em 0;
padding: 0;
font-size: 1em;
text-shadow: 2px 2px 4px #000;
}
#main h2 {
margin: 0;
clear: both;
color: #fff;
font-family: "Ubuntu Mono", monospace;
font-size: 3em;
text-align: left;
text-shadow: 2px 2px 16px #000;
}
#main h3 {
margin: 0;
clear: both;
color: #39e639;
font-family: "Ubuntu Mono", monospace;
font-size: 1.75em;
}
#main h4 {
margin: 0;
color: #0f0;
font-family: "Ubuntu Mono", monospace;
font-size: 1.5em;
}
/* Footer */
#footer {
margin: 0;
padding: .5em;
clear: both;
background: #000;
font-size: 1em;
}
.errorlist {
margin: 0;
padding: .5em;
color: #f00;
}
.errorlist li {
list-style: none;
}
body {
max-width: 960px;
}
/* Handle screen sizes */
@media (max-width: 980px) {
#header {
font-size: 1.75em;
}
#nav.scrolled {
max-width: 980px;
font-size: .9em;
}
#nav.scrolled #small-logo {
display: none;
}
}
@media (max-width: 900px) {
#header {
font-size: 1.75em;
}
}
@media (max-width: 800px) {
#header {
font-size: 1.5em;
}
#header img#logo {
display: block;
width: 128px;
margin: 0 auto;
}
}
@media (max-width: 700px) {
#header {
font-size: 1.25em;
}
}
@media (max-width: 650px) {
body {
min-width: 480px;
}
#header img#logo {
display: block;
width: 64px;
margin: 0 auto;
}
#greeting {
display: none;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
google-site-verification: google9677fb7678857b96.html

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 755 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

Some files were not shown because too many files have changed in this diff Show More