From 9773c7c387c70ee71895dc88216a731457f151bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Marti=CC=81n?= Date: Tue, 2 Sep 2014 17:01:16 +0200 Subject: [PATCH] Initial Commit (Zombiepress migration) --- .gitignore | 9 + README.md | 6 + fabfile.py | 119 +++++ fmartingrcom.sublime-project | 14 + fmartingrcom/__init__.py | 0 fmartingrcom/apps/__init__.py | 0 fmartingrcom/apps/homepage/__init__.py | 0 fmartingrcom/apps/homepage/models.py | 0 fmartingrcom/apps/homepage/sitemap.py | 13 + fmartingrcom/apps/homepage/urls.py | 13 + fmartingrcom/apps/homepage/views.py | 22 + fmartingrcom/settings/__init__.py | 0 fmartingrcom/settings/base.py | 130 +++++ fmartingrcom/settings/configfile.py | 46 ++ .../themes/v1/static/images/homepage/bg.png | Bin 0 -> 64694 bytes fmartingrcom/themes/v1/static/sass/_blog.sass | 131 +++++ .../themes/v1/static/sass/_homepage.sass | 49 ++ .../themes/v1/static/sass/_layout.sass | 197 ++++++++ .../themes/v1/static/sass/_oocss.sass | 92 ++++ .../themes/v1/static/sass/_reset.sass | 3 + .../themes/v1/static/sass/_responsive.sass | 93 ++++ .../themes/v1/static/sass/_variables.sass | 54 ++ fmartingrcom/themes/v1/static/sass/style.sass | 8 + .../themes/v1/templates/_layout.jinja | 105 ++++ .../themes/v1/templates/_macros.jinja | 10 + .../themes/v1/templates/blog/entry.jinja | 75 +++ .../themes/v1/templates/blog/layout.jinja | 25 + .../themes/v1/templates/blog/list.jinja | 93 ++++ .../themes/v1/templates/blog/rss.jinja | 18 + .../themes/v1/templates/blog/search.jinja | 7 + .../themes/v1/templates/homepage.jinja | 17 + .../v1/templates/static/coffee/mobile.coffee | 14 + .../themes/v1/templates/static/css/style.css | 467 ++++++++++++++++++ .../themes/v1/templates/static/css/syntax.css | 52 ++ .../v1/templates/static/css/syntax.min.css | 1 + .../templates/static/images/homepage/bg.png | Bin 0 -> 64694 bytes .../themes/v1/templates/static/js/mobile.js | 27 + .../v1/templates/static/sass/_blog.sass | 131 +++++ .../v1/templates/static/sass/_homepage.sass | 49 ++ .../v1/templates/static/sass/_layout.sass | 197 ++++++++ .../v1/templates/static/sass/_oocss.sass | 92 ++++ .../v1/templates/static/sass/_reset.sass | 3 + .../v1/templates/static/sass/_responsive.sass | 93 ++++ .../v1/templates/static/sass/_variables.sass | 54 ++ .../v1/templates/static/sass/style.sass | 8 + fmartingrcom/urls.py | 17 + fmartingrcom/wsgi.py | 15 + manage.py | 11 + requirements-local.txt | 1 + requirements.txt | 13 + 50 files changed, 2594 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 fabfile.py create mode 100644 fmartingrcom.sublime-project create mode 100644 fmartingrcom/__init__.py create mode 100644 fmartingrcom/apps/__init__.py create mode 100644 fmartingrcom/apps/homepage/__init__.py create mode 100644 fmartingrcom/apps/homepage/models.py create mode 100644 fmartingrcom/apps/homepage/sitemap.py create mode 100644 fmartingrcom/apps/homepage/urls.py create mode 100644 fmartingrcom/apps/homepage/views.py create mode 100644 fmartingrcom/settings/__init__.py create mode 100644 fmartingrcom/settings/base.py create mode 100644 fmartingrcom/settings/configfile.py create mode 100644 fmartingrcom/themes/v1/static/images/homepage/bg.png create mode 100644 fmartingrcom/themes/v1/static/sass/_blog.sass create mode 100644 fmartingrcom/themes/v1/static/sass/_homepage.sass create mode 100644 fmartingrcom/themes/v1/static/sass/_layout.sass create mode 100644 fmartingrcom/themes/v1/static/sass/_oocss.sass create mode 100644 fmartingrcom/themes/v1/static/sass/_reset.sass create mode 100644 fmartingrcom/themes/v1/static/sass/_responsive.sass create mode 100644 fmartingrcom/themes/v1/static/sass/_variables.sass create mode 100644 fmartingrcom/themes/v1/static/sass/style.sass create mode 100644 fmartingrcom/themes/v1/templates/_layout.jinja create mode 100644 fmartingrcom/themes/v1/templates/_macros.jinja create mode 100644 fmartingrcom/themes/v1/templates/blog/entry.jinja create mode 100644 fmartingrcom/themes/v1/templates/blog/layout.jinja create mode 100644 fmartingrcom/themes/v1/templates/blog/list.jinja create mode 100644 fmartingrcom/themes/v1/templates/blog/rss.jinja create mode 100644 fmartingrcom/themes/v1/templates/blog/search.jinja create mode 100644 fmartingrcom/themes/v1/templates/homepage.jinja create mode 100644 fmartingrcom/themes/v1/templates/static/coffee/mobile.coffee create mode 100644 fmartingrcom/themes/v1/templates/static/css/style.css create mode 100644 fmartingrcom/themes/v1/templates/static/css/syntax.css create mode 100644 fmartingrcom/themes/v1/templates/static/css/syntax.min.css create mode 100644 fmartingrcom/themes/v1/templates/static/images/homepage/bg.png create mode 100644 fmartingrcom/themes/v1/templates/static/js/mobile.js create mode 100644 fmartingrcom/themes/v1/templates/static/sass/_blog.sass create mode 100644 fmartingrcom/themes/v1/templates/static/sass/_homepage.sass create mode 100644 fmartingrcom/themes/v1/templates/static/sass/_layout.sass create mode 100644 fmartingrcom/themes/v1/templates/static/sass/_oocss.sass create mode 100644 fmartingrcom/themes/v1/templates/static/sass/_reset.sass create mode 100644 fmartingrcom/themes/v1/templates/static/sass/_responsive.sass create mode 100644 fmartingrcom/themes/v1/templates/static/sass/_variables.sass create mode 100644 fmartingrcom/themes/v1/templates/static/sass/style.sass create mode 100644 fmartingrcom/urls.py create mode 100644 fmartingrcom/wsgi.py create mode 100755 manage.py create mode 100644 requirements-local.txt create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a4a76ad --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.pyc +.virtualenv +node_modules +**/bower +bower_components +**/CACHE/* +*.sublime-workspace +.sass-cache +db.sqlite3 diff --git a/README.md b/README.md new file mode 100644 index 0000000..8cd9658 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +fmartingr.com +=== + +My personal site codebase. + +http://fmartingr.com \ No newline at end of file diff --git a/fabfile.py b/fabfile.py new file mode 100644 index 0000000..d78d152 --- /dev/null +++ b/fabfile.py @@ -0,0 +1,119 @@ +from __future__ import with_statement, print_function +from os.path import dirname, abspath, join as join_path +from os import walk +from functools import wraps +from StringIO import StringIO + +from jinja2 import Environment, FileSystemLoader +from fabric.api import * +from fabric.context_managers import settings +from fabric.contrib.files import exists, upload_template +from fabric.colors import yellow, red, white, green + + +# +# GLOBALS +# +env.LOCAL_PATH = dirname(abspath(__file__)) + +if not env.hosts: + env.hosts = ['localhost'] + +# Doctor checkups +DOCTOR = { + 'apps': ['virtualenv', 'python', 'npm', 'grunt'] +} + +# +# CONTEXT MANAGERS +# +def virtualenv(): + """ + Activates virtualenv first + """ + return prefix('source {}/.virtualenv/bin/activate'.format(env.LOCAL_PATH)) + + +# +# TASKS +# +@task +def setup_environment(): + """ + Prepares environment for the application + """ + with cd(env.LOCAL_PATH): + execute(setup_virtualenv) + execute(setup_tools) + execute(setup_database) + + +@task +def setup_virtualenv(appenv='local'): + """ + Creates or updates a virtualenv + """ + if not exists('.virtualenv'): + print(yellow('Create virtualenv')) + run('virtualenv .virtualenv') + + with virtualenv(): + print(yellow('Installing requirements')) + run('pip install -r requirements-{}.txt'.format(appenv)) + + +@task +def setup_tools(): + # Setup frontend tools + print(yellow('Installing npm dependencies')) + run('npm install') + print(yellow('Installing bower dependencies')) + run('bower install') + + +@task +def setup_database(): + """ + Create or update the database + """ + with virtualenv(): + print(yellow('SyncDB')) + run('python manage.py syncdb') + print(yellow('Migrate')) + run('python manage.py migrate') + + +@task +def doctor(): + print(yellow('Checking for software:')) + for app in DOCTOR['apps']: + print(white('{}'.format(app)), end=': ') + check = run('which {}'.format(app), quiet=True) + if check.succeeded: + print(green('present')) + else: + print(red('not present')) + + +# +# LOCAL ONLY +# +@task +@hosts(['localhost']) +def runserver(): + """ + Executes local development server + """ + with cd(env.LOCAL_PATH): + with virtualenv(): + run('python manage.py runserver 0.0.0.0:8000') + + +@task +@hosts(['localhost']) +def rungrunt(): + """ + Executes grunt + """ + with cd(env.LOCAL_PATH): + run('grunt watch') diff --git a/fmartingrcom.sublime-project b/fmartingrcom.sublime-project new file mode 100644 index 0000000..14d5a5b --- /dev/null +++ b/fmartingrcom.sublime-project @@ -0,0 +1,14 @@ +{ + "folders": + [ + { + "follow_symlinks": true, + "path": ".", + "folder_exclude_patterns": [ + "node_modules", + ".virtualenv", + "**/CACHE/*" + ] + } + ] +} diff --git a/fmartingrcom/__init__.py b/fmartingrcom/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/fmartingrcom/apps/__init__.py b/fmartingrcom/apps/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/fmartingrcom/apps/homepage/__init__.py b/fmartingrcom/apps/homepage/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/fmartingrcom/apps/homepage/models.py b/fmartingrcom/apps/homepage/models.py new file mode 100644 index 0000000..e69de29 diff --git a/fmartingrcom/apps/homepage/sitemap.py b/fmartingrcom/apps/homepage/sitemap.py new file mode 100644 index 0000000..43741c3 --- /dev/null +++ b/fmartingrcom/apps/homepage/sitemap.py @@ -0,0 +1,13 @@ +from django.contrib.sitemaps import Sitemap +from django.core.urlresolvers import reverse + + +class HomeSitemap(Sitemap): + priority = 0.5 + changefreq = 'weekly' + + def items(self): + return ['homepage'] + + def location(self, item): + return reverse(item) diff --git a/fmartingrcom/apps/homepage/urls.py b/fmartingrcom/apps/homepage/urls.py new file mode 100644 index 0000000..b5aed23 --- /dev/null +++ b/fmartingrcom/apps/homepage/urls.py @@ -0,0 +1,13 @@ +from django.conf.urls import patterns, url + +from .views import HomepageView + + +urlpatterns = patterns( + None, + url( + r'^$', + HomepageView.as_view(), + name='homepage' + ), +) diff --git a/fmartingrcom/apps/homepage/views.py b/fmartingrcom/apps/homepage/views.py new file mode 100644 index 0000000..8911f7c --- /dev/null +++ b/fmartingrcom/apps/homepage/views.py @@ -0,0 +1,22 @@ +from django.shortcuts import render_to_response +from django.template import RequestContext +from django.views.generic import View as DjangoView + + +class View(DjangoView): + section = None + data = {} + + def __init__(self, *args, **kwargs): + self.data['section'] = self.section + return super(View, self).__init__(*args, **kwargs) + + + +class HomepageView(View): + template = 'homepage.jinja' + section = 'homepage' + + def get(self, request): + context = RequestContext(request, self.data) + return render_to_response(self.template, context_instance=context) diff --git a/fmartingrcom/settings/__init__.py b/fmartingrcom/settings/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/fmartingrcom/settings/base.py b/fmartingrcom/settings/base.py new file mode 100644 index 0000000..94aee33 --- /dev/null +++ b/fmartingrcom/settings/base.py @@ -0,0 +1,130 @@ +""" +Django settings for fmartingrcom project. + +For more information on this file, see +https://docs.djangoproject.com/en/1.6/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.6/ref/settings/ +""" + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +import os +BASE_DIR = os.path.dirname(os.path.dirname(__file__)) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '0123456789' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +TEMPLATE_DEBUG = True + +ALLOWED_HOSTS = [] + + +# +# APPLICATIONS +# +INSTALLED_APPS = ( + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + 'django_jinja', + + 'compressor', +) + + +# +# MIDDLEWARE +# +MIDDLEWARE_CLASSES = ( + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +) + + + +ROOT_URLCONF = 'fmartingrcom.urls' + +WSGI_APPLICATION = 'fmartingrcom.wsgi.application' + + +# +# DATABASES +# + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +# Internationalization +# https://docs.djangoproject.com/en/1.6/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# +# STATIC FILES +# + +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', + 'compressor.finders.CompressorFinder', +) + +STATICFILES_DIRS = ( + '{}/themes/v1/static/'.format(BASE_DIR), +) + +STATIC_URL = '/static/' + +STATIC_ROOT = os.path.join(BASE_DIR, 'static') + +COMPRESS_PRECOMPILERS = ( + ('text/less', 'lessc {infile} {outfile}'), + ('text/x-sass', 'sass {infile} {outfile}'), + ('text/coffeescript', 'coffee --compile --stdio --no-header'), +) + +# +# TEMPLATES +# +TEMPLATE_LOADERS = ( + 'django_jinja.loaders.AppLoader', + 'django_jinja.loaders.FileSystemLoader', +) + + +TEMPLATE_DIRS = ( + '{}/themes/v1/templates/'.format(BASE_DIR), +) + +JINJA2_EXTENSIONS = [ + 'compressor.contrib.jinja2ext.CompressorExtension', +] diff --git a/fmartingrcom/settings/configfile.py b/fmartingrcom/settings/configfile.py new file mode 100644 index 0000000..646256f --- /dev/null +++ b/fmartingrcom/settings/configfile.py @@ -0,0 +1,46 @@ +import os +import sys +import dj_database_url +import toml +from .base import * + + +this_module = sys.modules[__name__] + +# Read configfile +with open(os.environ['APP_CONFIGFILE']) as conffile: + config = toml.loads(conffile.read()) + +# Installed Apps +INSTALLED_APPS += tuple(config['global']['installed_apps']) + +# Database +DATABASES = { + 'default': dj_database_url.parse(config['global']['database_url']) +} + +SECRET_KEY = open(config['global']['secret_key']).read().strip() + +# Overwrite values +for key, value in config['overwrite'].iteritems(): + setattr(this_module, key.upper(), value) + +# Logging +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'handlers': { + 'file': { + 'level': 'DEBUG', + 'class': 'logging.FileHandler', + 'filename': config['log']['logfile'], + }, + }, + 'loggers': { + 'django.request': { + 'handlers': ['file'], + 'level': 'DEBUG', + 'propagate': True, + }, + }, +} diff --git a/fmartingrcom/themes/v1/static/images/homepage/bg.png b/fmartingrcom/themes/v1/static/images/homepage/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..fc14318c9dc44370d174a21bd892fa540d17dda9 GIT binary patch literal 64694 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 literal 0 HcmV?d00001 diff --git a/fmartingrcom/themes/v1/static/sass/_blog.sass b/fmartingrcom/themes/v1/static/sass/_blog.sass new file mode 100644 index 0000000..d75eb8a --- /dev/null +++ b/fmartingrcom/themes/v1/static/sass/_blog.sass @@ -0,0 +1,131 @@ +body + &.blog + background-color: #fff + padding-bottom: 20px + + section.content + hr:last-child + display: none + +article.blog-entry + text-align: left + + &:after + clear: both + + h2 + margin: 16px 0 10px 0 + + a:hover + border: 0 + + h1 + border-right: #555 6px solid + margin-bottom: 0.5em + font-size: 2.2em + + &.draft + border: $warning-color 3px dashed + padding: 0 20px + + .info + + .content + line-height: 140% + padding-top: 15px + + img + box-shadow: $sidebar-bg 0 0 4px + max-width: 100% + + &.noshadow + box-shadow: none + + &.float-left + float: left + margin-right: 3% + + blockquote + border-left: 4px solid #dddddd + padding: 0 15px + color: #777777 + > :first-child + margin-top: 0 + > :last-child + margin-bottom: 0 + + code + display: inline-block + white-space: no-wrap + background: #fff + font-size: .8em + line-height: 1.5em + color: #555 + border: 1px solid #ddd + -webkit-border-radius: 0.4em + -moz-border-radius: 0.4em + -ms-border-radius: 0.4em + -o-border-radius: 0.4em + border-radius: 0.4em + padding: 0 .3em + margin: -1px 0 + + hr + width: 50% + + table + padding: 0 + margin: 0 auto + + tr + border-top: 1px solid #cccccc + background-color: white + margin: 0 + padding: 0 + + &:nth-child(2n) + background-color: #f8f8f8 + + th + font-weight: bold + border: 1px solid #cccccc + text-align: left + margin: 0 + padding: 6px 13px + td + border: 1px solid #cccccc + text-align: left + margin: 0 + padding: 6px 13px + + th :first-child, td :first-child + margin-top: 0 + + th :last-child, td :last-child + margin-bottom: 0 + + a.readmore + background: $warning-color + border: none + color: white + font-family: helvetica, sans-serif + font-weight: bold + padding: 10px + font-size: 90% + + .draft-warning + background-color: $warning-color + color: $warning-text-color + margin: 5px 0 5px 0 + padding: 8px 0 8px 0 + + pre.prettyprint + line-height: 120% + +.search-field + border: none + font-size: 0.8em + font-weight: bold + height: 1.2em + padding: 2% + width: 86% diff --git a/fmartingrcom/themes/v1/static/sass/_homepage.sass b/fmartingrcom/themes/v1/static/sass/_homepage.sass new file mode 100644 index 0000000..f2191b0 --- /dev/null +++ b/fmartingrcom/themes/v1/static/sass/_homepage.sass @@ -0,0 +1,49 @@ +body + &.homepage + background-color: #eee + background-image: url('/static/images/homepage/bg.png') + background-attachment: fixed + +section.content + // http://www.sitepoint.com/css3-shuffled-paper/ + .papers + background: #fff + box-shadow: 0 0 10px rgba(0,0,0,0.3) + margin: 26px auto 0 + //max-width: 700px + max-width: 600px + padding: 24px + position: relative + width: 80% + + .papers:before, .papers:after + content: "" + height: 98% + position: absolute + width: 100% + z-index: -1 + + .papers:before + background: #fafafa + box-shadow: 0 0 8px rgba(0,0,0,0.2) + left: -5px + top: 4px + @include rotate(-2.5) + + .papers:after + background: #f6f6f6 + box-shadow: 0 0 3px rgba(0,0,0,0.2) + right: -3px + top: 1px + @include rotate(1.4) + + .picture + background-color: white + padding: 8px + padding-bottom: 30px + margin-left: 40px + margin-bottom: 12px + box-shadow: 0 0 3px rgba(0,0,0,0.2) + @include rotate(10) + margin-top: -10px + margin-right: -50px diff --git a/fmartingrcom/themes/v1/static/sass/_layout.sass b/fmartingrcom/themes/v1/static/sass/_layout.sass new file mode 100644 index 0000000..b2e7e60 --- /dev/null +++ b/fmartingrcom/themes/v1/static/sass/_layout.sass @@ -0,0 +1,197 @@ +html, body + color: $text-color + font-family: $font-family + font-size: $font-size + //font-weight: 400 + margin: 0 + min-height: 100% + text-align: justify + +body + padding-bottom: 40px + +h1, h2, h3, h4, h5, h6 + font-family: $headers-font-family + font-weight: normal + text-shadow: 1px 1px 3px rgb(221, 221, 221) + +h1 + font-size: 200% + +h2 + font-size: 175% + +h3 + font-size: 150% + +h4 + font-size: 125% + +strong + color: $strong-text-color + +a + color: $anchor-text-color + text-decoration: none + + &.dark + color: $text-color + //text-shadow: $text-color $text-shadow-properties + + &.bright + color: $text-shadow-color + + &:hover + border-bottom: 1px dotted + +figure + margin: 0 + text-align: center + + img + margin: 14px + + &.pull-left + margin-left: 0 + + &.pull-right + margin-right: 0 + + &.padding + padding: 6px + + &.shadow + box-shadow: $text-color $box-shadow-properties + +hr + background: none + border: 0 + border-bottom: #aaa 1px dotted + width: 90% + + &.big + border-bottom-width: 3px + margin: 30px auto + + +.sidebar + background-color: $sidebar-bg + color: $sidebar-text-color + min-height: 100% + position: fixed + top: 0 + width: $sidebar-width + + &> button.menu + display: none + + &> header + height: 220px + + .logo + color: #fff + font-family: Verdana + font-size: 200% + font-weight: 800 + padding: 20px + + footer + bottom: 0 + position: absolute + left: 0 + padding: $footer-padding + width: $sidebar-width - ($footer-padding*2) + + .zombiepress + font-family: $headers-font-family + font-size: 80% + text-shadow: #333 1px 1px 3px + a + color: #fff + + .zone-menu + + .buttons + @extend .text-center + + header + font-size: 170% + margin-bottom: 10px + + &.social + margin-bottom: 20px + button + width: 31% + font-size: 75% + font-family: helvetica, sans-serif + + button + background-color: rgb(192, 192, 192) + border: none + cursor: pointer + font-size: 90% + margin-top: 5px + padding: 8px 0 8px 0 + font-weight: bold + width: 90% + + transition: 0.3s all + + &.half + width: 38% + + &.gap + &.pull-right + margin-right: 5% + + &.pull-left + margin-left: 5% + + &:hover + //margin-left: 10px + + &.rss + background-color: $rss-color + color: $rss-text-color + + &:hover + background-color: darken($rss-color, 12%) + + &.email + background-color: $email-color + color: $email-text-color + + &:hover + background-color: darken($email-color, 12%) + + &.twitter + background-color: $twitter-color + color: $twitter-text-color + + &:hover + background-color: darken($twitter-color, 12%) + + &.github + background-color: $github-color + color: $github-text-color + + &:hover + background-color: darken($github-color, 12%) + + &.blog + background-color: $blog-color + color: $blog-text-color + + &:hover + background-color: darken($blog-color, 12%) + + &.projects + background-color: $projects-color + color: $projects-text-color + + &:hover + background-color: darken($projects-color, 12%) + +section.content + margin-left: $sidebar-width + $content-sidebar-gap + width: 60% diff --git a/fmartingrcom/themes/v1/static/sass/_oocss.sass b/fmartingrcom/themes/v1/static/sass/_oocss.sass new file mode 100644 index 0000000..8b689e6 --- /dev/null +++ b/fmartingrcom/themes/v1/static/sass/_oocss.sass @@ -0,0 +1,92 @@ +.pull-left + float: left + +.pull-right + float: right + +.text-center + text-align: center + +.text-right + text-align: right + +.text-left + text-align: left + +.clearfix + *zoom: 1 + + &:before, &:after + content: " " + display: table + + &:after + clear: both + +.small + font-size: 50% + line-height: 50% + +.alt-font + font-family: $headers-font-family + +.hacker-icon + $size: 22px + display: inline-block + position: relative + height: $size + width: $size + + -moz-transition: all 0.5s + -webkit-transition: all 0.5s + transition: all 0.5s + + &:hover + vertical-align: top + width: 22px + &:before + content: "a" + div + display: none + + div:nth-child(1) + position: absolute + left: $size/3 + top: 0 + + div:nth-child(2) + position: absolute + left: ($size/3)*2 + top: $size/3 + + div:nth-child(3) + position: absolute + left: ($size/3)*2 + top: ($size/3)*2 + + div:nth-child(4) + position: absolute + left: $size/3 + top: ($size/3)*2 + + div:nth-child(5) + position: absolute + left: 0 + top: ($size/3)*2 + + div + background-color: #fff + width: $size/3 + height: $size/3 + +/* Mix-ins */ +@mixin rotate($degrees) + -webkit-transform: rotate(#{$degrees}deg) + -moz-transform: rotate(#{$degrees}deg) + -ms-transform: rotate(#{$degrees}deg) + -o-transform: rotate(#{$degrees}deg) + transform: rotate(#{$degrees}deg) + + filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=#{cos($degrees)}, M12=-#{sin($degrees)}, M21=#{sin($degrees)}, M22=#{cos($degrees)}) + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=#{cos($degrees)}, M12=-#{sin($degrees)}, M21=#{sin($degrees)}, M22=#{cos($degrees)})" + zoom: 1 diff --git a/fmartingrcom/themes/v1/static/sass/_reset.sass b/fmartingrcom/themes/v1/static/sass/_reset.sass new file mode 100644 index 0000000..14e3c8c --- /dev/null +++ b/fmartingrcom/themes/v1/static/sass/_reset.sass @@ -0,0 +1,3 @@ +button + margin: 0 + padding: 0 diff --git a/fmartingrcom/themes/v1/static/sass/_responsive.sass b/fmartingrcom/themes/v1/static/sass/_responsive.sass new file mode 100644 index 0000000..2e36a0f --- /dev/null +++ b/fmartingrcom/themes/v1/static/sass/_responsive.sass @@ -0,0 +1,93 @@ +/* Landspace tablet and Large desktop */ +@media (min-width: 980px) + + +/* From portrait tablet and down */ +@media (max-width: 979px) + .hacker-icon + $size: 12px + + body + font-size: 85% + + button.menu + background-color: $sidebar-bg + border: lighten($sidebar-bg, 20%) 1px solid + color: white + display: block + font-size: 16px + height: 32px + left: 8px + padding: 0 5px 0 5px + position: fixed + text-align: center + top: 8px + z-index: 900 + + -moz-border-radius: 4px + -webkit-border-radius: 4px + border-radius: 4px + + -moz-transition: left 0.3s + -webkit-transition: left 0.3s + transition: left 0.3s + + span + display: block + + -moz-transition: all 0.3s + -webkit-transition: all 0.3s + transition: all 0.3s + + &.menu-shown + left: $sidebar-width + 8px + + span + -moz-transform: rotate(180deg) + -webkit-transform: rotate(180deg) + transform: rotate(180deg) + + .sidebar + margin-left: -1*$sidebar-width + z-index: 999 + + -moz-transition: margin-left 0.3s + -webkit-transition: margin-left 0.3s + transition: margin-left 0.3s + + &.shown + margin-left: 0 + + &> header + height: auto + + table + font-size: 60% + + th + padding: 1px 2px + + td + padding: 1px 2px + + + section.content + margin-left: 0 + padding: 4% + width: auto + + .papers + width: auto + +/* Portrait tablet to desktop*/ +@media (min-width: 767px) and (max-width: 979px) + + +/* Landscape phone to portrait tablet */ +@media (max-width: 767px) + .hide-mobile + display: none + +/* Landscape phones and down */ +@media (max-width: 480px) + diff --git a/fmartingrcom/themes/v1/static/sass/_variables.sass b/fmartingrcom/themes/v1/static/sass/_variables.sass new file mode 100644 index 0000000..bb53622 --- /dev/null +++ b/fmartingrcom/themes/v1/static/sass/_variables.sass @@ -0,0 +1,54 @@ +// General +$text-color: #242424 +$font-family: "Georgia", "Open Sans", OpenSansRegular, sans-serif +$font-size: 18px + +$anchor-text-color: #2277bb +$anchor-text-shadow-color: #004b6b + +$headers-font-family: 'Antic Slab', serif + +$text-shadow-color: #fff +$text-shadow-properties: 1px 1px 1px + +$strong-text-color: #3e4349 + +$box-shadow-properties: 0px 0px 5px + +// Sidebar +$sidebar-bg: #242424 +$sidebar-text-color: #fff +$sidebar-width: 260px + +$footer-padding: 10px + +// Content +$content-sidebar-gap: 40px + +// Buttons +$twitter-color: #46c0fb +$twitter-text-color: #fff + +$email-color: #f0f0eb +$email-text-color: #312c2a + +$github-color: #fbfbfb +$github-text-color: #050505 + +$rss-color: #ff7f25 +$rss-text-color: #eee + +$blog-color: #ff3617 +$blog-text-color: #fff + +$projects-color: #ee5a22 +$projects-text-color: #efefef + +// Colors +$warning-color: #f39c12 +$warning-text-color: #fff + +// font +@font-face + font-family: fmartingr + src: url('/static/fmartingr.ttf') diff --git a/fmartingrcom/themes/v1/static/sass/style.sass b/fmartingrcom/themes/v1/static/sass/style.sass new file mode 100644 index 0000000..ae3b9f0 --- /dev/null +++ b/fmartingrcom/themes/v1/static/sass/style.sass @@ -0,0 +1,8 @@ +@import "reset" +@import "variables" +@import "oocss" +@import "layout" +@import "homepage" +@import "blog" + +@import "responsive" diff --git a/fmartingrcom/themes/v1/templates/_layout.jinja b/fmartingrcom/themes/v1/templates/_layout.jinja new file mode 100644 index 0000000..18dd433 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/_layout.jinja @@ -0,0 +1,105 @@ + + + + + + + + {% compress css %} + + {% endcompress %} + {% block head %}{% endblock %} + + + + + + + Felipe Martin | {% block page_title %} Homepage{% endblock %} + + + +

+
+ {% block content %}{% endblock %} +
+ {% block footer %} + {% endblock %} + {# TODO preferences app + {% if config.GOOGLE_ANALYTICS %} + + {% endif %} + #} + + diff --git a/fmartingrcom/themes/v1/templates/_macros.jinja b/fmartingrcom/themes/v1/templates/_macros.jinja new file mode 100644 index 0000000..da6d1ab --- /dev/null +++ b/fmartingrcom/themes/v1/templates/_macros.jinja @@ -0,0 +1,10 @@ +{% macro disqus(shortname) -%} + +{%- endmacro %} diff --git a/fmartingrcom/themes/v1/templates/blog/entry.jinja b/fmartingrcom/themes/v1/templates/blog/entry.jinja new file mode 100644 index 0000000..91d0b42 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/blog/entry.jinja @@ -0,0 +1,75 @@ +{% extends "blog/layout.jinja" %} + +{% block page_title %} +{{ super() }} | {{ item.title }} +{% endblock %} + +{% block menu %} +
+ + Blog + +
+ {% if item.status() == 'Published' %} + {% if page.number > 1 %} + + {% else %} + + {% endif %} + + + {% endif %} + + + +{% endblock %} + +{% block content %} +
+

+ {{ item.title }} +

+ +
+ {# {{ item.author.first_name }} +  #} + + + {% if config.DISQUS_SHORTNAME %} +   + 0 Comments + {% endif %} + {# +   + Tags + #} +
+
{{ item.content|safe }}
+
+ {% if config.TWITTER_SHARE == "y" %} + +
+ {% endif %} + {% if config.DISQUS_SHORTNAME %} +
+
+ {% endif %} +
+{% endblock %} + +{% block footer %} + {{ super() }} + {% if config.DISQUS_SHORTNAME %} + {% from '_macros.jinja' import disqus with context %} + {{ disqus() }} + {% endif %} +{% endblock %} diff --git a/fmartingrcom/themes/v1/templates/blog/layout.jinja b/fmartingrcom/themes/v1/templates/blog/layout.jinja new file mode 100644 index 0000000..64188b1 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/blog/layout.jinja @@ -0,0 +1,25 @@ +{% extends "_layout.jinja" %} + +{% block page_title %}Blog{% endblock %} + +{% block head %} + + + +{% endblock %} + +{% block menu %} +
+ + Blog + +
+
+ {% csrf_token %} + +
+{% endblock %} diff --git a/fmartingrcom/themes/v1/templates/blog/list.jinja b/fmartingrcom/themes/v1/templates/blog/list.jinja new file mode 100644 index 0000000..cde4b17 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/blog/list.jinja @@ -0,0 +1,93 @@ +{% extends "blog/layout.jinja" %} + +{% block page_title %} +{{ super() }}{% if page.number > 1 %} page {{ page_number }}{% endif %} +{% endblock %} + +{% block menu %} + {{ super() }} + {% if page.has_next() %} + + + + + {% endif %} + + {% if page.has_previous() %} + {% if page.previous_page_number() == 1 %} + + {% else %} + + {% endif %} + + + {% endif %} + + + + +{% endblock %} + +{% block content %} + {% for item in page.object_list %} +
+

{{ item.title }}

+
+ {# {{ item.author.first_name }} +  #} + + + {% if config.DISQUS_SHORTNAME %} +   + 0 Comments + {% endif %} +
+
+ {% if config.READMORE_TAG in item.content %} + {{ item.content|readmore|safe }} + {% else %} + {{ item.content|safe }} + {% endif %} +
+ {% if config.READMORE_TAG in item.content %} + + Read more » + + {% endif %} +
+
+
+ {% else %} +
No results found!
+ {% endfor %} + {# + {% if paginator.num_pages > 1 %} + + {% endif %} + #} +{% endblock %} + +{% block footer %} + {{ super() }} + {% if config.DISQUS_SHORTNAME %} + {% from '_macros.jinja' import disqus with context %} + {{ disqus() }} + {% endif %} +{% endblock %} + diff --git a/fmartingrcom/themes/v1/templates/blog/rss.jinja b/fmartingrcom/themes/v1/templates/blog/rss.jinja new file mode 100644 index 0000000..3944353 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/blog/rss.jinja @@ -0,0 +1,18 @@ + + + + {{ config.BLOG_TITLE }} + {{ config.BLOG_DESCRIPTION }} + {{ config.BLOG_LINK }} + + {% for item in items %} + + <![CDATA[{{ item.title }}]]> + + {{ config.SITE_URL }}{{ item.get_absolute_url() }} + {{ item.date|dt('%a, %d %b %Y %H:%M:%S %z') }} + + {% endfor %} + + + diff --git a/fmartingrcom/themes/v1/templates/blog/search.jinja b/fmartingrcom/themes/v1/templates/blog/search.jinja new file mode 100644 index 0000000..caa395b --- /dev/null +++ b/fmartingrcom/themes/v1/templates/blog/search.jinja @@ -0,0 +1,7 @@ +{% extends "blog/list.jinja" %} + +{% block content %} +

Searching for... {{ search_query }}

+
+ {{ super() }} +{% endblock %} diff --git a/fmartingrcom/themes/v1/templates/homepage.jinja b/fmartingrcom/themes/v1/templates/homepage.jinja new file mode 100644 index 0000000..5b9a17d --- /dev/null +++ b/fmartingrcom/themes/v1/templates/homepage.jinja @@ -0,0 +1,17 @@ +{% extends "_layout.jinja" %} + +{% block menu %}{% endblock %} + +{% block content %} +
+
+ +
+

Hi there!

+

My name is Felipe Martín, and I'm a developer.

+

I've been playing with code for a while now, but I also enjoy geeking around with computers, algorithms and stuff; the less I know about it, the better. Learning new things everyday is my way of life.

+

Currently I'm a web developer, but I like to learn from new areas on my spare time, like networking, security or game development, I want to create some cool stuff for everyone to see.

+

If I'm not in front of my computer, you'll probably find me walking around the city with my headphones or having a beer with my friends.

+

You can access my blog and projects from the left. My contact details are around there too so feel free to drop me a line if you want!

+
+{% endblock %} diff --git a/fmartingrcom/themes/v1/templates/static/coffee/mobile.coffee b/fmartingrcom/themes/v1/templates/static/coffee/mobile.coffee new file mode 100644 index 0000000..c1d6341 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/coffee/mobile.coffee @@ -0,0 +1,14 @@ +toggleMenu = -> + sidebar = document.querySelector '.sidebar' + button = document.querySelector 'button.menu' + + if 'menu-shown' in button.classList + sidebar.classList.remove 'shown' + button.classList.remove 'menu-shown' + else + sidebar.classList.add 'shown' + button.classList.add 'menu-shown' + +window.onload = -> + button = document.querySelector 'button.menu' + button.onclick = toggleMenu diff --git a/fmartingrcom/themes/v1/templates/static/css/style.css b/fmartingrcom/themes/v1/templates/static/css/style.css new file mode 100644 index 0000000..2b1731e --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/css/style.css @@ -0,0 +1,467 @@ +button { + margin: 0; + padding: 0; } + +@font-face { + font-family: fmartingr; + src: url("/static/fmartingr.ttf"); } + +.pull-left { + float: left; } + +.pull-right { + float: right; } + +.text-center, .sidebar .buttons { + text-align: center; } + +.text-right { + text-align: right; } + +.text-left { + text-align: left; } + +.clearfix { + *zoom: 1; } + .clearfix:before, .clearfix:after { + content: " "; + display: table; } + .clearfix:after { + clear: both; } + +.small { + font-size: 50%; + line-height: 50%; } + +.alt-font { + font-family: "Antic Slab", serif; } + +.hacker-icon { + display: inline-block; + position: relative; + height: 22px; + width: 22px; + -moz-transition: all 0.5s; + -webkit-transition: all 0.5s; + transition: all 0.5s; } + .hacker-icon:hover { + vertical-align: top; + width: 22px; } + .hacker-icon:hover:before { + content: "a"; } + .hacker-icon:hover div { + display: none; } + .hacker-icon div:nth-child(1) { + position: absolute; + left: 7.33333px; + top: 0; } + .hacker-icon div:nth-child(2) { + position: absolute; + left: 14.66667px; + top: 7.33333px; } + .hacker-icon div:nth-child(3) { + position: absolute; + left: 14.66667px; + top: 14.66667px; } + .hacker-icon div:nth-child(4) { + position: absolute; + left: 7.33333px; + top: 14.66667px; } + .hacker-icon div:nth-child(5) { + position: absolute; + left: 0; + top: 14.66667px; } + .hacker-icon div { + background-color: white; + width: 7.33333px; + height: 7.33333px; } + +/* Mix-ins */ +html, body { + color: #242424; + font-family: "Georgia", "Open Sans", OpenSansRegular, sans-serif; + font-size: 18px; + margin: 0; + min-height: 100%; + text-align: justify; } + +body { + padding-bottom: 40px; } + +h1, h2, h3, h4, h5, h6 { + font-family: "Antic Slab", serif; + font-weight: normal; + text-shadow: 1px 1px 3px #dddddd; } + +h1 { + font-size: 200%; } + +h2 { + font-size: 175%; } + +h3 { + font-size: 150%; } + +h4 { + font-size: 125%; } + +strong { + color: #3e4349; } + +a { + color: #2277bb; + text-decoration: none; } + a.dark { + color: #242424; } + a.bright { + color: white; } + a:hover { + border-bottom: 1px dotted; } + +figure { + margin: 0; + text-align: center; } + figure img { + margin: 14px; } + figure img.pull-left { + margin-left: 0; } + figure img.pull-right { + margin-right: 0; } + figure img.padding { + padding: 6px; } + figure img.shadow { + box-shadow: #242424 0px 0px 5px; } + +hr { + background: none; + border: 0; + border-bottom: #aaaaaa 1px dotted; + width: 90%; } + hr.big { + border-bottom-width: 3px; + margin: 30px auto; } + +.sidebar { + background-color: #242424; + color: white; + min-height: 100%; + position: fixed; + top: 0; + width: 260px; } + .sidebar > button.menu { + display: none; } + .sidebar > header { + height: 220px; } + .sidebar > header .logo { + color: white; + font-family: Verdana; + font-size: 200%; + font-weight: 800; + padding: 20px; } + .sidebar footer { + bottom: 0; + position: absolute; + left: 0; + padding: 10px; + width: 240px; } + .sidebar footer .zombiepress { + font-family: "Antic Slab", serif; + font-size: 80%; + text-shadow: #333333 1px 1px 3px; } + .sidebar footer .zombiepress a { + color: white; } + .sidebar .buttons header { + font-size: 170%; + margin-bottom: 10px; } + .sidebar .buttons.social { + margin-bottom: 20px; } + .sidebar .buttons.social button { + width: 31%; + font-size: 75%; + font-family: helvetica, sans-serif; } + .sidebar .buttons button { + background-color: silver; + border: none; + cursor: pointer; + font-size: 90%; + margin-top: 5px; + padding: 8px 0 8px 0; + font-weight: bold; + width: 90%; + transition: 0.3s all; } + .sidebar .buttons button.half { + width: 38%; } + .sidebar .buttons button.gap.pull-right { + margin-right: 5%; } + .sidebar .buttons button.gap.pull-left { + margin-left: 5%; } + .sidebar .buttons button.rss { + background-color: #ff7f25; + color: #eeeeee; } + .sidebar .buttons button.rss:hover { + background-color: #e75f00; } + .sidebar .buttons button.email { + background-color: #f0f0eb; + color: #312c2a; } + .sidebar .buttons button.email:hover { + background-color: #d6d6c8; } + .sidebar .buttons button.twitter { + background-color: #46c0fb; + color: white; } + .sidebar .buttons button.twitter:hover { + background-color: #0aacfa; } + .sidebar .buttons button.github { + background-color: #fbfbfb; + color: #050505; } + .sidebar .buttons button.github:hover { + background-color: gainsboro; } + .sidebar .buttons button.blog { + background-color: #ff3617; + color: white; } + .sidebar .buttons button.blog:hover { + background-color: #d91d00; } + .sidebar .buttons button.projects { + background-color: #ee5a22; + color: #efefef; } + .sidebar .buttons button.projects:hover { + background-color: #c4410f; } + +section.content { + margin-left: 300px; + width: 60%; } + +body.homepage { + background-color: #eeeeee; + background-image: url("/static/images/homepage/bg.png"); + background-attachment: fixed; } + +section.content .papers { + background: white; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); + margin: 26px auto 0; + max-width: 600px; + padding: 24px; + position: relative; + width: 80%; } +section.content .papers:before, section.content .papers:after { + content: ""; + height: 98%; + position: absolute; + width: 100%; + z-index: -1; } +section.content .papers:before { + background: #fafafa; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.2); + left: -5px; + top: 4px; + -webkit-transform: rotate(-2.5deg); + -moz-transform: rotate(-2.5deg); + -ms-transform: rotate(-2.5deg); + -o-transform: rotate(-2.5deg); + transform: rotate(-2.5deg); + filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(-2.5), M12=-sin(-2.5), M21=sin(-2.5), M22=cos(-2.5)); + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(-2.5), M12=-sin(-2.5), M21=sin(-2.5), M22=cos(-2.5))"; + zoom: 1; } +section.content .papers:after { + background: #f6f6f6; + box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); + right: -3px; + top: 1px; + -webkit-transform: rotate(1.4deg); + -moz-transform: rotate(1.4deg); + -ms-transform: rotate(1.4deg); + -o-transform: rotate(1.4deg); + transform: rotate(1.4deg); + filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(1.4), M12=-sin(1.4), M21=sin(1.4), M22=cos(1.4)); + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(1.4), M12=-sin(1.4), M21=sin(1.4), M22=cos(1.4))"; + zoom: 1; } +section.content .picture { + background-color: white; + padding: 8px; + padding-bottom: 30px; + margin-left: 40px; + margin-bottom: 12px; + box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(10deg); + -moz-transform: rotate(10deg); + -ms-transform: rotate(10deg); + -o-transform: rotate(10deg); + transform: rotate(10deg); + filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(10), M12=-sin(10), M21=sin(10), M22=cos(10)); + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(10), M12=-sin(10), M21=sin(10), M22=cos(10))"; + zoom: 1; + margin-top: -10px; + margin-right: -50px; } + +body.blog { + background-color: white; + padding-bottom: 20px; } + body.blog section.content hr:last-child { + display: none; } + +article.blog-entry { + text-align: left; } + article.blog-entry:after { + clear: both; } + article.blog-entry h2 { + margin: 16px 0 10px 0; } + article.blog-entry h2 a:hover { + border: 0; } + article.blog-entry h1 { + border-right: #555555 6px solid; + margin-bottom: 0.5em; + font-size: 2.2em; } + article.blog-entry.draft { + border: #f39c12 3px dashed; + padding: 0 20px; } + article.blog-entry .content { + line-height: 140%; + padding-top: 15px; } + article.blog-entry .content img { + box-shadow: #242424 0 0 4px; + max-width: 100%; } + article.blog-entry .content img.noshadow { + box-shadow: none; } + article.blog-entry .content img.float-left { + float: left; + margin-right: 3%; } + article.blog-entry .content blockquote { + border-left: 4px solid #dddddd; + padding: 0 15px; + color: #777777; } + article.blog-entry .content blockquote > :first-child { + margin-top: 0; } + article.blog-entry .content blockquote > :last-child { + margin-bottom: 0; } + article.blog-entry .content code { + display: inline-block; + white-space: no-wrap; + background: white; + font-size: 0.8em; + line-height: 1.5em; + color: #555555; + border: 1px solid #dddddd; + -webkit-border-radius: 0.4em; + -moz-border-radius: 0.4em; + -ms-border-radius: 0.4em; + -o-border-radius: 0.4em; + border-radius: 0.4em; + padding: 0 0.3em; + margin: -1px 0; } + article.blog-entry .content hr { + width: 50%; } + article.blog-entry .content table { + padding: 0; + margin: 0 auto; } + article.blog-entry .content table tr { + border-top: 1px solid #cccccc; + background-color: white; + margin: 0; + padding: 0; } + article.blog-entry .content table tr:nth-child(2n) { + background-color: #f8f8f8; } + article.blog-entry .content table tr th { + font-weight: bold; + border: 1px solid #cccccc; + text-align: left; + margin: 0; + padding: 6px 13px; } + article.blog-entry .content table tr td { + border: 1px solid #cccccc; + text-align: left; + margin: 0; + padding: 6px 13px; } + article.blog-entry .content table tr th :first-child, article.blog-entry .content table tr td :first-child { + margin-top: 0; } + article.blog-entry .content table tr th :last-child, article.blog-entry .content table tr td :last-child { + margin-bottom: 0; } + article.blog-entry a.readmore { + background: #f39c12; + border: none; + color: white; + font-family: helvetica, sans-serif; + font-weight: bold; + padding: 10px; + font-size: 90%; } + article.blog-entry .draft-warning { + background-color: #f39c12; + color: white; + margin: 5px 0 5px 0; + padding: 8px 0 8px 0; } + article.blog-entry pre.prettyprint { + line-height: 120%; } + +.search-field { + border: none; + font-size: 0.8em; + font-weight: bold; + height: 1.2em; + padding: 2%; + width: 86%; } + +/* Landspace tablet and Large desktop */ +/* From portrait tablet and down */ +@media (max-width: 979px) { + body { + font-size: 85%; } + body button.menu { + background-color: #242424; + border: #575757 1px solid; + color: white; + display: block; + font-size: 16px; + height: 32px; + left: 8px; + padding: 0 5px 0 5px; + position: fixed; + text-align: center; + top: 8px; + z-index: 900; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-transition: left 0.3s; + -webkit-transition: left 0.3s; + transition: left 0.3s; } + body button.menu span { + display: block; + -moz-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + body button.menu.menu-shown { + left: 268px; } + body button.menu.menu-shown span { + -moz-transform: rotate(180deg); + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + + .sidebar { + margin-left: -260px; + z-index: 999; + -moz-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .sidebar.shown { + margin-left: 0; } + .sidebar > header { + height: auto; } + + table { + font-size: 60%; } + table th { + padding: 1px 2px; } + table td { + padding: 1px 2px; } + + section.content { + margin-left: 0; + padding: 4%; + width: auto; } + section.content .papers { + width: auto; } } +/* Portrait tablet to desktop */ +/* Landscape phone to portrait tablet */ +@media (max-width: 767px) { + .hide-mobile { + display: none; } } +/* Landscape phones and down */ diff --git a/fmartingrcom/themes/v1/templates/static/css/syntax.css b/fmartingrcom/themes/v1/templates/static/css/syntax.css new file mode 100644 index 0000000..8542313 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/css/syntax.css @@ -0,0 +1,52 @@ +/* Pretty printing styles. Used with prettify.js. */ +/* Vim sunburst theme by David Leibovic */ + +pre .str, code .str { color: #65B042; } /* string - green */ +pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */ +pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */ +pre .typ, code .typ { color: #89bdff; } /* type - light blue */ +pre .lit, code .lit { color: #3387CC; } /* literal - blue */ +pre .pun, code .pun { color: #fff; } /* punctuation - white */ +pre .pln, code .pln { color: #fff; } /* plaintext - white */ +pre .tag, code .tag { color: #89bdff; } /* html/xml tag - light blue */ +pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name - khaki */ +pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */ +pre .dec, code .dec { color: #3387CC; } /* decimal - blue */ + +pre.prettyprint, code.prettyprint { + background-color: #242424; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + -o-border-radius: 8px; + -ms-border-radius: 8px; + -khtml-border-radius: 8px; + border-radius: 8px; +} + +pre.prettyprint { + width: auto; + margin: 1em auto; + padding: 12px !important; + white-space: pre-wrap; + font-size: 86%; +} + + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */ +li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none } +/* Alternate shading for lines */ +li.L1,li.L3,li.L5,li.L7,li.L9 { } + +@media print { + pre .str, code .str { color: #060; } + pre .kwd, code .kwd { color: #006; font-weight: bold; } + pre .com, code .com { color: #600; font-style: italic; } + pre .typ, code .typ { color: #404; font-weight: bold; } + pre .lit, code .lit { color: #044; } + pre .pun, code .pun { color: #440; } + pre .pln, code .pln { color: #000; } + pre .tag, code .tag { color: #006; font-weight: bold; } + pre .atn, code .atn { color: #404; } + pre .atv, code .atv { color: #060; } +} diff --git a/fmartingrcom/themes/v1/templates/static/css/syntax.min.css b/fmartingrcom/themes/v1/templates/static/css/syntax.min.css new file mode 100644 index 0000000..b7a58dd --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/css/syntax.min.css @@ -0,0 +1 @@ +pre .str,code .str{color:#65b042}pre .kwd,code .kwd{color:#e28964}pre .com,code .com{color:#aeaeae;font-style:italic}pre .typ,code .typ{color:#89bdff}pre .lit,code .lit{color:#3387cc}pre .pun,code .pun{color:#fff}pre .pln,code .pln{color:#fff}pre .tag,code .tag{color:#89bdff}pre .atn,code .atn{color:#bdb76b}pre .atv,code .atv{color:#65b042}pre .dec,code .dec{color:#3387cc}pre.prettyprint,code.prettyprint{background-color:#242424;-moz-border-radius:8px;-webkit-border-radius:8px;-o-border-radius:8px;-ms-border-radius:8px;-khtml-border-radius:8px;border-radius:8px}pre.prettyprint{width:auto;margin:1em auto;padding:12px !important;white-space:pre-wrap;font-size:86%}ol.linenums{margin-top:0;margin-bottom:0;color:#aeaeae}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}@media print{pre .str,code .str{color:#060}pre .kwd,code .kwd{color:#006;font-weight:bold}pre .com,code .com{color:#600;font-style:italic}pre .typ,code .typ{color:#404;font-weight:bold}pre .lit,code .lit{color:#044}pre .pun,code .pun{color:#440}pre .pln,code .pln{color:#000}pre .tag,code .tag{color:#006;font-weight:bold}pre .atn,code .atn{color:#404}pre .atv,code .atv{color:#060}} diff --git a/fmartingrcom/themes/v1/templates/static/images/homepage/bg.png b/fmartingrcom/themes/v1/templates/static/images/homepage/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..fc14318c9dc44370d174a21bd892fa540d17dda9 GIT binary patch literal 64694 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 literal 0 HcmV?d00001 diff --git a/fmartingrcom/themes/v1/templates/static/js/mobile.js b/fmartingrcom/themes/v1/templates/static/js/mobile.js new file mode 100644 index 0000000..89a0b85 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/js/mobile.js @@ -0,0 +1,27 @@ +// Generated by CoffeeScript 1.6.2 +(function() { + var toggleMenu, + __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + + toggleMenu = function() { + var button, sidebar; + + sidebar = document.querySelector('.sidebar'); + button = document.querySelector('button.menu'); + if (__indexOf.call(button.classList, 'menu-shown') >= 0) { + sidebar.classList.remove('shown'); + return button.classList.remove('menu-shown'); + } else { + sidebar.classList.add('shown'); + return button.classList.add('menu-shown'); + } + }; + + window.onload = function() { + var button; + + button = document.querySelector('button.menu'); + return button.onclick = toggleMenu; + }; + +}).call(this); diff --git a/fmartingrcom/themes/v1/templates/static/sass/_blog.sass b/fmartingrcom/themes/v1/templates/static/sass/_blog.sass new file mode 100644 index 0000000..d75eb8a --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/sass/_blog.sass @@ -0,0 +1,131 @@ +body + &.blog + background-color: #fff + padding-bottom: 20px + + section.content + hr:last-child + display: none + +article.blog-entry + text-align: left + + &:after + clear: both + + h2 + margin: 16px 0 10px 0 + + a:hover + border: 0 + + h1 + border-right: #555 6px solid + margin-bottom: 0.5em + font-size: 2.2em + + &.draft + border: $warning-color 3px dashed + padding: 0 20px + + .info + + .content + line-height: 140% + padding-top: 15px + + img + box-shadow: $sidebar-bg 0 0 4px + max-width: 100% + + &.noshadow + box-shadow: none + + &.float-left + float: left + margin-right: 3% + + blockquote + border-left: 4px solid #dddddd + padding: 0 15px + color: #777777 + > :first-child + margin-top: 0 + > :last-child + margin-bottom: 0 + + code + display: inline-block + white-space: no-wrap + background: #fff + font-size: .8em + line-height: 1.5em + color: #555 + border: 1px solid #ddd + -webkit-border-radius: 0.4em + -moz-border-radius: 0.4em + -ms-border-radius: 0.4em + -o-border-radius: 0.4em + border-radius: 0.4em + padding: 0 .3em + margin: -1px 0 + + hr + width: 50% + + table + padding: 0 + margin: 0 auto + + tr + border-top: 1px solid #cccccc + background-color: white + margin: 0 + padding: 0 + + &:nth-child(2n) + background-color: #f8f8f8 + + th + font-weight: bold + border: 1px solid #cccccc + text-align: left + margin: 0 + padding: 6px 13px + td + border: 1px solid #cccccc + text-align: left + margin: 0 + padding: 6px 13px + + th :first-child, td :first-child + margin-top: 0 + + th :last-child, td :last-child + margin-bottom: 0 + + a.readmore + background: $warning-color + border: none + color: white + font-family: helvetica, sans-serif + font-weight: bold + padding: 10px + font-size: 90% + + .draft-warning + background-color: $warning-color + color: $warning-text-color + margin: 5px 0 5px 0 + padding: 8px 0 8px 0 + + pre.prettyprint + line-height: 120% + +.search-field + border: none + font-size: 0.8em + font-weight: bold + height: 1.2em + padding: 2% + width: 86% diff --git a/fmartingrcom/themes/v1/templates/static/sass/_homepage.sass b/fmartingrcom/themes/v1/templates/static/sass/_homepage.sass new file mode 100644 index 0000000..f2191b0 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/sass/_homepage.sass @@ -0,0 +1,49 @@ +body + &.homepage + background-color: #eee + background-image: url('/static/images/homepage/bg.png') + background-attachment: fixed + +section.content + // http://www.sitepoint.com/css3-shuffled-paper/ + .papers + background: #fff + box-shadow: 0 0 10px rgba(0,0,0,0.3) + margin: 26px auto 0 + //max-width: 700px + max-width: 600px + padding: 24px + position: relative + width: 80% + + .papers:before, .papers:after + content: "" + height: 98% + position: absolute + width: 100% + z-index: -1 + + .papers:before + background: #fafafa + box-shadow: 0 0 8px rgba(0,0,0,0.2) + left: -5px + top: 4px + @include rotate(-2.5) + + .papers:after + background: #f6f6f6 + box-shadow: 0 0 3px rgba(0,0,0,0.2) + right: -3px + top: 1px + @include rotate(1.4) + + .picture + background-color: white + padding: 8px + padding-bottom: 30px + margin-left: 40px + margin-bottom: 12px + box-shadow: 0 0 3px rgba(0,0,0,0.2) + @include rotate(10) + margin-top: -10px + margin-right: -50px diff --git a/fmartingrcom/themes/v1/templates/static/sass/_layout.sass b/fmartingrcom/themes/v1/templates/static/sass/_layout.sass new file mode 100644 index 0000000..b2e7e60 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/sass/_layout.sass @@ -0,0 +1,197 @@ +html, body + color: $text-color + font-family: $font-family + font-size: $font-size + //font-weight: 400 + margin: 0 + min-height: 100% + text-align: justify + +body + padding-bottom: 40px + +h1, h2, h3, h4, h5, h6 + font-family: $headers-font-family + font-weight: normal + text-shadow: 1px 1px 3px rgb(221, 221, 221) + +h1 + font-size: 200% + +h2 + font-size: 175% + +h3 + font-size: 150% + +h4 + font-size: 125% + +strong + color: $strong-text-color + +a + color: $anchor-text-color + text-decoration: none + + &.dark + color: $text-color + //text-shadow: $text-color $text-shadow-properties + + &.bright + color: $text-shadow-color + + &:hover + border-bottom: 1px dotted + +figure + margin: 0 + text-align: center + + img + margin: 14px + + &.pull-left + margin-left: 0 + + &.pull-right + margin-right: 0 + + &.padding + padding: 6px + + &.shadow + box-shadow: $text-color $box-shadow-properties + +hr + background: none + border: 0 + border-bottom: #aaa 1px dotted + width: 90% + + &.big + border-bottom-width: 3px + margin: 30px auto + + +.sidebar + background-color: $sidebar-bg + color: $sidebar-text-color + min-height: 100% + position: fixed + top: 0 + width: $sidebar-width + + &> button.menu + display: none + + &> header + height: 220px + + .logo + color: #fff + font-family: Verdana + font-size: 200% + font-weight: 800 + padding: 20px + + footer + bottom: 0 + position: absolute + left: 0 + padding: $footer-padding + width: $sidebar-width - ($footer-padding*2) + + .zombiepress + font-family: $headers-font-family + font-size: 80% + text-shadow: #333 1px 1px 3px + a + color: #fff + + .zone-menu + + .buttons + @extend .text-center + + header + font-size: 170% + margin-bottom: 10px + + &.social + margin-bottom: 20px + button + width: 31% + font-size: 75% + font-family: helvetica, sans-serif + + button + background-color: rgb(192, 192, 192) + border: none + cursor: pointer + font-size: 90% + margin-top: 5px + padding: 8px 0 8px 0 + font-weight: bold + width: 90% + + transition: 0.3s all + + &.half + width: 38% + + &.gap + &.pull-right + margin-right: 5% + + &.pull-left + margin-left: 5% + + &:hover + //margin-left: 10px + + &.rss + background-color: $rss-color + color: $rss-text-color + + &:hover + background-color: darken($rss-color, 12%) + + &.email + background-color: $email-color + color: $email-text-color + + &:hover + background-color: darken($email-color, 12%) + + &.twitter + background-color: $twitter-color + color: $twitter-text-color + + &:hover + background-color: darken($twitter-color, 12%) + + &.github + background-color: $github-color + color: $github-text-color + + &:hover + background-color: darken($github-color, 12%) + + &.blog + background-color: $blog-color + color: $blog-text-color + + &:hover + background-color: darken($blog-color, 12%) + + &.projects + background-color: $projects-color + color: $projects-text-color + + &:hover + background-color: darken($projects-color, 12%) + +section.content + margin-left: $sidebar-width + $content-sidebar-gap + width: 60% diff --git a/fmartingrcom/themes/v1/templates/static/sass/_oocss.sass b/fmartingrcom/themes/v1/templates/static/sass/_oocss.sass new file mode 100644 index 0000000..8b689e6 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/sass/_oocss.sass @@ -0,0 +1,92 @@ +.pull-left + float: left + +.pull-right + float: right + +.text-center + text-align: center + +.text-right + text-align: right + +.text-left + text-align: left + +.clearfix + *zoom: 1 + + &:before, &:after + content: " " + display: table + + &:after + clear: both + +.small + font-size: 50% + line-height: 50% + +.alt-font + font-family: $headers-font-family + +.hacker-icon + $size: 22px + display: inline-block + position: relative + height: $size + width: $size + + -moz-transition: all 0.5s + -webkit-transition: all 0.5s + transition: all 0.5s + + &:hover + vertical-align: top + width: 22px + &:before + content: "a" + div + display: none + + div:nth-child(1) + position: absolute + left: $size/3 + top: 0 + + div:nth-child(2) + position: absolute + left: ($size/3)*2 + top: $size/3 + + div:nth-child(3) + position: absolute + left: ($size/3)*2 + top: ($size/3)*2 + + div:nth-child(4) + position: absolute + left: $size/3 + top: ($size/3)*2 + + div:nth-child(5) + position: absolute + left: 0 + top: ($size/3)*2 + + div + background-color: #fff + width: $size/3 + height: $size/3 + +/* Mix-ins */ +@mixin rotate($degrees) + -webkit-transform: rotate(#{$degrees}deg) + -moz-transform: rotate(#{$degrees}deg) + -ms-transform: rotate(#{$degrees}deg) + -o-transform: rotate(#{$degrees}deg) + transform: rotate(#{$degrees}deg) + + filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=#{cos($degrees)}, M12=-#{sin($degrees)}, M21=#{sin($degrees)}, M22=#{cos($degrees)}) + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=#{cos($degrees)}, M12=-#{sin($degrees)}, M21=#{sin($degrees)}, M22=#{cos($degrees)})" + zoom: 1 diff --git a/fmartingrcom/themes/v1/templates/static/sass/_reset.sass b/fmartingrcom/themes/v1/templates/static/sass/_reset.sass new file mode 100644 index 0000000..14e3c8c --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/sass/_reset.sass @@ -0,0 +1,3 @@ +button + margin: 0 + padding: 0 diff --git a/fmartingrcom/themes/v1/templates/static/sass/_responsive.sass b/fmartingrcom/themes/v1/templates/static/sass/_responsive.sass new file mode 100644 index 0000000..2e36a0f --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/sass/_responsive.sass @@ -0,0 +1,93 @@ +/* Landspace tablet and Large desktop */ +@media (min-width: 980px) + + +/* From portrait tablet and down */ +@media (max-width: 979px) + .hacker-icon + $size: 12px + + body + font-size: 85% + + button.menu + background-color: $sidebar-bg + border: lighten($sidebar-bg, 20%) 1px solid + color: white + display: block + font-size: 16px + height: 32px + left: 8px + padding: 0 5px 0 5px + position: fixed + text-align: center + top: 8px + z-index: 900 + + -moz-border-radius: 4px + -webkit-border-radius: 4px + border-radius: 4px + + -moz-transition: left 0.3s + -webkit-transition: left 0.3s + transition: left 0.3s + + span + display: block + + -moz-transition: all 0.3s + -webkit-transition: all 0.3s + transition: all 0.3s + + &.menu-shown + left: $sidebar-width + 8px + + span + -moz-transform: rotate(180deg) + -webkit-transform: rotate(180deg) + transform: rotate(180deg) + + .sidebar + margin-left: -1*$sidebar-width + z-index: 999 + + -moz-transition: margin-left 0.3s + -webkit-transition: margin-left 0.3s + transition: margin-left 0.3s + + &.shown + margin-left: 0 + + &> header + height: auto + + table + font-size: 60% + + th + padding: 1px 2px + + td + padding: 1px 2px + + + section.content + margin-left: 0 + padding: 4% + width: auto + + .papers + width: auto + +/* Portrait tablet to desktop*/ +@media (min-width: 767px) and (max-width: 979px) + + +/* Landscape phone to portrait tablet */ +@media (max-width: 767px) + .hide-mobile + display: none + +/* Landscape phones and down */ +@media (max-width: 480px) + diff --git a/fmartingrcom/themes/v1/templates/static/sass/_variables.sass b/fmartingrcom/themes/v1/templates/static/sass/_variables.sass new file mode 100644 index 0000000..bb53622 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/sass/_variables.sass @@ -0,0 +1,54 @@ +// General +$text-color: #242424 +$font-family: "Georgia", "Open Sans", OpenSansRegular, sans-serif +$font-size: 18px + +$anchor-text-color: #2277bb +$anchor-text-shadow-color: #004b6b + +$headers-font-family: 'Antic Slab', serif + +$text-shadow-color: #fff +$text-shadow-properties: 1px 1px 1px + +$strong-text-color: #3e4349 + +$box-shadow-properties: 0px 0px 5px + +// Sidebar +$sidebar-bg: #242424 +$sidebar-text-color: #fff +$sidebar-width: 260px + +$footer-padding: 10px + +// Content +$content-sidebar-gap: 40px + +// Buttons +$twitter-color: #46c0fb +$twitter-text-color: #fff + +$email-color: #f0f0eb +$email-text-color: #312c2a + +$github-color: #fbfbfb +$github-text-color: #050505 + +$rss-color: #ff7f25 +$rss-text-color: #eee + +$blog-color: #ff3617 +$blog-text-color: #fff + +$projects-color: #ee5a22 +$projects-text-color: #efefef + +// Colors +$warning-color: #f39c12 +$warning-text-color: #fff + +// font +@font-face + font-family: fmartingr + src: url('/static/fmartingr.ttf') diff --git a/fmartingrcom/themes/v1/templates/static/sass/style.sass b/fmartingrcom/themes/v1/templates/static/sass/style.sass new file mode 100644 index 0000000..ae3b9f0 --- /dev/null +++ b/fmartingrcom/themes/v1/templates/static/sass/style.sass @@ -0,0 +1,8 @@ +@import "reset" +@import "variables" +@import "oocss" +@import "layout" +@import "homepage" +@import "blog" + +@import "responsive" diff --git a/fmartingrcom/urls.py b/fmartingrcom/urls.py new file mode 100644 index 0000000..842d417 --- /dev/null +++ b/fmartingrcom/urls.py @@ -0,0 +1,17 @@ +from django.conf.urls import patterns, include, url +from django.contrib import admin + +from .apps.homepage.sitemap import HomeSitemap + +# Sitemap +sitemaps = { + 'home': HomeSitemap, + # 'blog': BlogSitemap, +} + +admin.autodiscover() + +urlpatterns = patterns('', + url(r'^admin/', include(admin.site.urls)), + url(r'^$', include('fmartingrcom.apps.homepage.urls')), +) diff --git a/fmartingrcom/wsgi.py b/fmartingrcom/wsgi.py new file mode 100644 index 0000000..6a37c6b --- /dev/null +++ b/fmartingrcom/wsgi.py @@ -0,0 +1,15 @@ +""" +WSGI config for fmartingrcom project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/ +""" + +import os +os.environ.setdefault("DJANGO_SETTINGS_MODULE", + "fmartingrcom.settings.configfile") + +from django.core.wsgi import get_wsgi_application +application = get_wsgi_application() diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..1fb5425 --- /dev/null +++ b/manage.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", + "fmartingrcom.settings.base") + + from django.core.management import execute_from_command_line + + execute_from_command_line(sys.argv) diff --git a/requirements-local.txt b/requirements-local.txt new file mode 100644 index 0000000..bc04b49 --- /dev/null +++ b/requirements-local.txt @@ -0,0 +1 @@ +-r requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..afa2274 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,13 @@ +Django==1.6.6 + +Jinja2==2.7.3 +django-jinja==1.0.4 + +psycopg2==2.5.4 +South==1.0 +dj-database-url==0.3.0 + +django-suit==0.2.9 +django-reversion==1.8.2 + +pytz==2014.7