Changeset - 6121ce79cc88
[Not reviewed]
0 11 2
Nick Seidenman (N6) - 7 years ago 2017-01-16 03:28:24
n6151h@gmail.com
Getting the splash homepage to work via CMS.

Nearly there. Much rubbish / cruft ripped out of site_base.html and content_page.html.
Had to modify cms_pages/models.py to accommodate a "simple" layout option in the homepage
editor.
Still some stuff to do. Styling not quite there yet, but want to checkpoint this.
13 files changed with 108 insertions and 72 deletions:
0 comments (0 inline, 0 general)
cms_pages/migrations/0018_auto_20170116_1050.py
Show inline comments
 
new file 100644
 
# -*- coding: utf-8 -*-
 
# Generated by Django 1.9.7 on 2017-01-15 23:50
 
from __future__ import unicode_literals
 

	
 
import cms_pages.models
 
from django.db import migrations, models
 
import wagtail.wagtailcore.blocks
 
import wagtail.wagtailcore.fields
 
import wagtail.wagtailimages.blocks
 

	
 

	
 
class Migration(migrations.Migration):
 

	
 
    dependencies = [
 
        ('cms_pages', '0017_auto_20160918_0945_squashed_0018_auto_20160919_0125_squashed_0018_auto_20160919_0134'),
 
    ]
 

	
 
    operations = [
 
        migrations.AlterField(
 
            model_name='contentpage',
 
            name='inset_illustration',
 
            field=models.CharField(choices=[('antarctica.svg', 'Antarctica'), ('bridge.svg', 'Bridge'), ('casino.svg', 'Casino'), ('cradle.svg', 'Cradle Mountain'), ('devil.svg', 'Tasmanian Devil'), ('falls.svg', 'Waterfall'), ('hobart.svg', 'Hobart'), ('lavender.svg', 'Lavender'), ('logo-mel.png', 'Pycon AU'), ('Python-logo-notext.svg', 'Python'), ('tuz.svg', 'Tuz'), ('wineglass.svg', 'Wineglass')], max_length=256),
 
        ),
 
        migrations.AlterField(
 
            model_name='homepage',
 
            name='body',
 
            field=wagtail.wagtailcore.fields.StreamField([('basic_content', wagtail.wagtailcore.blocks.StructBlock([(b'panel_type', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('blue_left', 'Left-aligned image, blue-filtered image BG'), ('white_right', 'Right-aligned image, white background')])), (b'heading', wagtail.wagtailcore.blocks.CharBlock(required=True)), (b'inset_illustration', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('antarctica.svg', 'Antarctica'), ('bridge.svg', 'Bridge'), ('casino.svg', 'Casino'), ('cradle.svg', 'Cradle Mountain'), ('devil.svg', 'Tasmanian Devil'), ('falls.svg', 'Waterfall'), ('hobart.svg', 'Hobart'), ('lavender.svg', 'Lavender'), ('logo-mel.png', 'Pycon AU'), ('Python-logo-notext.svg', 'Python'), ('tuz.svg', 'Tuz'), ('wineglass.svg', 'Wineglass')])), (b'background_image', wagtail.wagtailimages.blocks.ImageChooserBlock(help_text="This is used as the background image of a blue-left block. It's not used for white-right.", required=False)), (b'body', wagtail.wagtailcore.blocks.RawHTMLBlock(required=True)), (b'link', wagtail.wagtailcore.blocks.StructBlock([(b'page', wagtail.wagtailcore.blocks.PageChooserBlock(help_text='You must specify either this, or the URL.', required=False)), (b'url', wagtail.wagtailcore.blocks.CharBlock(help_text='You must specify either this, or the URL.', required=False)), (b'title', wagtail.wagtailcore.blocks.CharBlock(required=True))])), (b'external_links', wagtail.wagtailcore.blocks.ListBlock(cms_pages.models.ExternalLinksBlock)), (b'compact', wagtail.wagtailcore.blocks.BooleanBlock(help_text="True if this block is to be displayed in 'compact' mode", required=False))])), ('keynotes', wagtail.wagtailcore.blocks.StructBlock([(b'heading', wagtail.wagtailcore.blocks.CharBlock(required=True)), (b'speakers', wagtail.wagtailcore.blocks.ListBlock(cms_pages.models.KeynoteSpeakerBlock))]))]),
 
        ),
 
    ]
cms_pages/migrations/0019_auto_20170116_1334.py
Show inline comments
 
new file 100644
 
# -*- coding: utf-8 -*-
 
# Generated by Django 1.9.7 on 2017-01-16 02:34
 
from __future__ import unicode_literals
 

	
 
import cms_pages.models
 
from django.db import migrations
 
import wagtail.wagtailcore.blocks
 
import wagtail.wagtailcore.fields
 
import wagtail.wagtailimages.blocks
 

	
 

	
 
class Migration(migrations.Migration):
 

	
 
    dependencies = [
 
        ('cms_pages', '0018_auto_20170116_1050'),
 
    ]
 

	
 
    operations = [
 
        migrations.AlterField(
 
            model_name='homepage',
 
            name='body',
 
            field=wagtail.wagtailcore.fields.StreamField([('basic_content', wagtail.wagtailcore.blocks.StructBlock([(b'panel_type', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('simple', 'Simple panel, no image.'), ('blue_left', 'Left-aligned image, blue-filtered image BG'), ('white_right', 'Right-aligned image, white background')])), (b'heading', wagtail.wagtailcore.blocks.CharBlock(required=True)), (b'inset_illustration', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('antarctica.svg', 'Antarctica'), ('bridge.svg', 'Bridge'), ('casino.svg', 'Casino'), ('cradle.svg', 'Cradle Mountain'), ('devil.svg', 'Tasmanian Devil'), ('falls.svg', 'Waterfall'), ('hobart.svg', 'Hobart'), ('lavender.svg', 'Lavender'), ('logo-mel.png', 'Pycon AU'), ('Python-logo-notext.svg', 'Python'), ('tuz.svg', 'Tuz'), ('wineglass.svg', 'Wineglass')])), (b'background_image', wagtail.wagtailimages.blocks.ImageChooserBlock(help_text="This is used as the background image of a blue-left block. It's not used for white-right.", required=False)), (b'body', wagtail.wagtailcore.blocks.RawHTMLBlock(required=True)), (b'link', wagtail.wagtailcore.blocks.StructBlock([(b'page', wagtail.wagtailcore.blocks.PageChooserBlock(help_text='You must specify either this, or the URL.', required=False)), (b'url', wagtail.wagtailcore.blocks.CharBlock(help_text='You must specify either this, or the URL.', required=False)), (b'title', wagtail.wagtailcore.blocks.CharBlock(required=True))])), (b'external_links', wagtail.wagtailcore.blocks.ListBlock(cms_pages.models.ExternalLinksBlock)), (b'compact', wagtail.wagtailcore.blocks.BooleanBlock(help_text="True if this block is to be displayed in 'compact' mode", required=False))])), ('keynotes', wagtail.wagtailcore.blocks.StructBlock([(b'heading', wagtail.wagtailcore.blocks.CharBlock(required=True)), (b'speakers', wagtail.wagtailcore.blocks.ListBlock(cms_pages.models.KeynoteSpeakerBlock))]))]),
 
        ),
 
    ]
cms_pages/models.py
Show inline comments
...
 
@@ -61,118 +61,121 @@ ILLUSTRATION_TYPES = (
 
    (ILLUSTRATION_PYCONAU, "Pycon AU"),
 
    (ILLUSTRATION_PYTHON, "Python"),
 
    (ILLUSTRATION_TUZ, "Tuz"),
 
    (ILLUSTRATION_WINEGLASS, "Wineglass"),
 
)
 

	
 

	
 
class ExternalLinksBlock(blocks.StructBlock):
 

	
 
    class Meta:
 
        template = "cms_pages/home_page_blocks/external_link.html"
 

	
 
    EXTERNAL_LINK_TWITTER = "twitter"
 
    EXTERNAL_LINK_FACEBOOK = "facebook"
 
    EXTERNAL_LINK_GENERIC = "generic"
 

	
 
    EXTERNAL_LINK_TYPES = (
 
        (EXTERNAL_LINK_TWITTER, "Twitter"),
 
        (EXTERNAL_LINK_FACEBOOK, "Facebook"),
 
        (EXTERNAL_LINK_GENERIC, "Generic URL"),
 
    )
 

	
 
    alt = blocks.CharBlock(required=True)
 
    icon = blocks.ChoiceBlock(
 
        choices=EXTERNAL_LINK_TYPES,
 
        required=True,
 
    )
 
    url = blocks.URLBlock(required=True)
 

	
 

	
 
class BasicContentLink(blocks.StructBlock):
 

	
 
    page = blocks.PageChooserBlock(
 
        required=False,
 
        help_text="You must specify either this, or the URL.",
 
    )
 
    url = blocks.CharBlock(
 
        required=False,
 
        help_text="You must specify either this, or the URL.",
 
    )
 
    title = blocks.CharBlock(required=True)
 

	
 

	
 
class BasicContentBlock(blocks.StructBlock):
 

	
 
    class Meta:
 
        template = "cms_pages/home_page_blocks/basic_content.html"
 

	
 
    PANEL_SIMPLE = "simple"
 
    PANEL_BLUE_LEFT = "blue_left"
 
    PANEL_WHITE_RIGHT = "white_right"
 
    PANEL_TYPES = (
 
        (PANEL_SIMPLE, "Simple panel, no image."),
 
        (PANEL_BLUE_LEFT, "Left-aligned image, blue-filtered image BG"),
 
        (PANEL_WHITE_RIGHT, "Right-aligned image, white background"),
 
    )
 

	
 
    panel_type = blocks.ChoiceBlock(
 
        choices=PANEL_TYPES,
 
        required=True,
 
    )
 
    heading = blocks.CharBlock(required=True)
 
    inset_illustration = blocks.ChoiceBlock(
 
        choices=ILLUSTRATION_TYPES,
 
        required=True,
 
    )
 
    background_image = imageblocks.ImageChooserBlock(
 
        required=False,
 
        help_text="This is used as the background image of a "
 
                  "blue-left block. It's not used for white-right."
 
    )
 
    body = blocks.RichTextBlock(required=True)
 
    #body = blocks.RichTextBlock(required=True)
 
    body = blocks.RawHTMLBlock(required=True)
 
    link = BasicContentLink()
 
    external_links = blocks.ListBlock(ExternalLinksBlock)
 
    compact = blocks.BooleanBlock(
 
        required=False,
 
        help_text="True if this block is to be displayed in 'compact' mode",
 
    )
 

	
 

	
 
class PresentationChooserBlock(blocks.ChooserBlock):
 
    target_model = schedule.models.Presentation
 
    widget = forms.Select
 

	
 
    # Return the key value for the select field
 
    def value_for_form(self, value):
 
        if isinstance(value, self.target_model):
 
            return value.pk
 
        else:
 
            return value
 

	
 

	
 
class KeynoteSpeakerBlock(blocks.StructBlock):
 

	
 
    class Meta:
 
        template = "cms_pages/home_page_blocks/keynote_speaker.html"
 

	
 
    name = blocks.CharBlock(required=True)
 
    body = blocks.RichTextBlock(required=True)
 
    links = blocks.ListBlock(ExternalLinksBlock)
 
    profile_image = imageblocks.ImageChooserBlock(
 
        required=False,
 
        help_text="Profile image for the speaker",
 
    )
 
    presentation = PresentationChooserBlock(
 
        help_text="This speaker's presentation",
 
    )
 

	
 

	
 
class KeynotesBlock(blocks.StructBlock):
 

	
 
    class Meta:
 
        template = "cms_pages/home_page_blocks/keynotes.html"
 

	
 
    heading = blocks.CharBlock(required=True)
 
    speakers = blocks.ListBlock(KeynoteSpeakerBlock)
 

	
 

	
 
class HomePage(Page):
 

	
pinaxcon/settings.py
Show inline comments
 
import os
 
import dj_database_url
 

	
 

	
 
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
 
PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__))
 
BASE_DIR = PACKAGE_ROOT
 

	
 
DEBUG = bool(int(os.environ.get("DEBUG", "1")))
 
DEBUG = True #bool(int(os.environ.get("DEBUG", "1")))
 

	
 
DATABASES = {
 
    "default": {
 
        "ENGINE": "django.db.backends.sqlite3",
 
        "NAME": os.path.join(PROJECT_ROOT, "dev.db"),
 
    }
 
}
 

	
 
CACHES = {
 
    'default': {
 
        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
 
    }
 
}
 

	
 

	
 
ALLOWED_HOSTS = ['uat2017.pycon-au.org']
 

	
 
# Local time zone for this installation. Choices can be found here:
 
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
 
# although not all choices may be available on all operating systems.
 
# On Unix systems, a value of None will cause Django to use the same
 
# timezone as the operating system.
 
# If running in a Windows environment this must be set to the same as your
 
# system time zone.
 
TIME_ZONE = "Australia/Melbourne"
 

	
 
# The date format for this installation
 
DATE_FORMAT = "j F Y"
 

	
 
# Language code for this installation. All choices can be found here:
 
# http://www.i18nguy.com/unicode/language-identifiers.html
 
LANGUAGE_CODE = "en-au"
 

	
 
SITE_ID = int(os.environ.get("SITE_ID", 1))
 

	
 
# If you set this to False, Django will make some optimizations so as not
 
# to load the internationalization machinery.
 
USE_I18N = True
 

	
 
# If you set this to False, Django will not format dates, numbers and
 
# calendars according to the current locale.
 
USE_L10N = True
 

	
 
# If you set this to False, Django will not use timezone-aware datetimes.
 
USE_TZ = True
 

	
 
# Absolute filesystem path to the directory that will hold user-uploaded files.
 
# Example: "/home/media/media.lawrence.com/media/"
pinaxcon/templates/cms_pages/home_page_blocks/basic_content.html
Show inline comments
 
{% load pyconau2017_tags %}
 
{% load staticfiles %}
 
{% load wagtailcore_tags %}
 
{% load wagtailimages_tags %}
 

	
 
{% if value.compact %}
 
  {% define "panel__compact" as compact %}
 
{% else %}
 
  {% define "" as compact %}
 
{% endif %}
 

	
 
{% if value.panel_type == "simple" %}
 

	
 
{% if value.panel_type == "blue_left" %}
 
<div class="panel panel__bg {{ compact }}">
 
  <div class="panel--content">
 
    {% include "cms_pages/home_page_blocks/basic_content_text_and_links.html" %}
 
  </div>
 
</div>
 

	
 
{% elif value.panel_type == "blue_left" %}
 

	
 
<div class="panel panel__bg {{ compact }}">
 
  {% image value.background_image width-2000 as background_image %}
 
  <div style="background-image: url('{{ background_image.url }}');" class="panel--bg"></div>
 
  <div class="panel--content">
 
    {% include "cms_pages/home_page_blocks/basic_content_illustration.html" %}
 
    {% include "cms_pages/home_page_blocks/basic_content_text_and_links.html" %}
 
  </div>
 
</div>
 

	
 
{% elif value.panel_type == "white_right" %}
 

	
 
<div class="panel {{ compact }}">
 
  <div class="panel--content">
 
    {% include "cms_pages/home_page_blocks/basic_content_text_and_links.html" %}
 
    {% include "cms_pages/home_page_blocks/basic_content_illustration.html" %}
 
  </div>
 
</div>
 

	
 
{% endif %}
pinaxcon/templates/lca2017/content_page.html
Show inline comments
 
{% extends "site_base_wagtail.html" %}
 
{% load staticfiles %}
 
{% load wagtailcore_tags %}
 

	
 
{% load pyconau2017_tags %}
 

	
 

	
 
{% load sitetree %}
 
{% load i18n %}
 

	
 
{% block body_class %}template-content-page{% endblock %}
 

	
 
{% block head_title %}{% endblock %}
 

	
 
{% block body %}
 
  {% block heading_panel %}
 
    <div class="panel panel__compact panel__bg">
 

	
 
      <div style="background-image: url('{% block header_background_image %}{% endblock %}');" class="panel--bg"></div>
 

	
 
      <h1>Or is it here?</h1>
 
      <div class="panel--content">
 
        <div class="panel--2-3">
 
          <h2>{% block header_title %}{% endblock %}</h2>
 
          <p class="lede">{% block header_paragraph %}{% endblock %}</p>
 
        </div>
 
        {% block header_inset_image_base %}
 
          <div class="panel--1-3">
 
            <div class="portrait">
 
              <div style="background-image: url('{% block header_inset_image %}{% endblock %}');" class="portrait--img"></div>
 
            </div>
 
          </div>
 
        {% endblock %}
 
      </div>
 

	
 
    </div>
 
  {% endblock %}
 

	
 
  {% block content_base %}
 
    <div class="l-content-page">
 
      <div class="l-content-page--richtext">
 
        {% block content %}
 
        {% endblock %}
 
      </div>
 
    </div>
 
  {% endblock %}
 
{% endblock %}
 

	
 
{% block extra_script %}
 
  <script src="{% static 'js/site-92ae8d0d6c.js' %}" type="text/javascript"></script>
 
{% endblock %}
pinaxcon/templates/pyconau2017-homepage.html
Show inline comments
 
{% load staticfiles %}
 
{% load metron_tags %}
 
{% load i18n %}
 
{% load sitetree %}
 
<!DOCTYPE html>
 
<html lang="en">
 
<head>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
    <meta charset="utf-8">
 
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
 
    <meta name="viewport" content="width=device-width, initial-scale=1">
 
    <title>PyCon Australia 2017 - Melbourne</title>
 

	
 
    <link rel="icon" type="image/png" href="http://2017.pycon-au.org/favicon.png">
 
    <link href="{% static 'pyconau2017/css/bootstrap.css' %}" rel="stylesheet">
 

	
 
    <link rel="stylesheet" href="{% static 'pyconau2017/css/app.css' %}">
 
    <link rel="stylesheet" href="{% static 'pyconau2017/css/print.css' %}" media="print">
 
    <link href="{% static 'pyconau2017/css/pyconau.css' %}" rel="stylesheet">
 

	
 
    <!-- Taken from site_base.html will need fixing -->
 
    <link rel="icon" href="{% static 'pyconau2017/images/favicon.ico' %}"
 
        <!--Meta tags-->
 
    <meta name="theme-color" content="#0c486c">
 
    <!--Twitter-->
 
    <meta name="twitter:card" content="summary">
 
    <meta name="twitter:site" content="@pyconau2017">
 
    <meta name="twitter:title" content="Pycon AU – 3 - 8 2017 – Melbourne, Victoria"
 
    <meta name="twitter:description"content="Discover Python at Pycon AU, Melbourne 3-8 August 2017.">
 
    <meta name="twitter:image" content="{{ request.scheme }}://{{ request.get_host }}{% static 'pyconau2017/images/socmed/twitter-tuz.png' %}">
 
    <meta name="twitter:image:alt" content="Tuz">
 
    <!--Open Graph-->
 
    <meta property="og:url" content="https://2017.pycon-au.org/">
 
    <meta property="og:title" content="Pycon AU – 3 - 8 2017 – Melbourne, Victoria">
 
    <meta property="og:description" content="Discover Python at Pycon AU 2017. Tickets on sale from February.">
 
    <meta property="og:type" content="website">
 
    <meta property="fb:admins" content="729577430">
 
    <meta property="fb:profile_id" content="293907417664731">
 

	
 
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
 
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
 
    <!--[if lt IE 9]>
 
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
 
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
 
    <![endif]-->
 
  </head>
 
  <body style="background-image: url({% static 'pyconau2017/images/pyconau-2016-collage.jpg' %});">
 
   <div class="container vertical-center">
 
    <div class="row">
 
      <div class="col-md-6">
 
        <div id="announcements">
 
          <h2>Announcements</h2>
 
          <p><b>8 November 2016: Call for Special Events.</b>
 
We are calling for expressions of interest in running a specialist event:
 
<ul>
 
<li>Up to 4 Specialist Day tracks held on Friday 4 August (e.g. DjangoCon AU, Python in Education seminar)</li>
 
<li>Workshops running in parallel with the sprints (e.g. DjangoGirls, Young Coders)</li>
 
<li>Associated events run independently, but taking advantage of the presence of a large contingent of Pythonistas in Melbourne (e.g. Software Carpentry workshops)</li>
 
<li>Icebreaker events for the opening evening or social events during the sprints</li>
 
</ul>
 
For more information grab our <a href="special-events-2017.pdf">Call for Special Events document</a>.
 
            </p>
 
<!--          <p><b>8 November 2016: Seeking launch sponsors.</b> It's definitely early days still, but we're seeking launch sponsors (those
 
lucky companies whose name appears on the website from the moment we launch
 
our CFP) for PyCon Australia 2017, which is being held in Melbourne in
 
August.
pinaxcon/templates/pyconau2017/content_page.html
Show inline comments
 
{% extends "site_base_wagtail.html" %}
 
{% load staticfiles %}
 
{% load wagtailcore_tags %}
 

	
 
{% load pyconau2017_tags %}
 

	
 

	
 
{% load sitetree %}
 
{% load i18n %}
 

	
 
{% block body_class %}template-content-page{% endblock %}
 

	
 
{% block head_title %}{% endblock %}
 

	
 
{% block body %}
 
  {% block heading_panel %}
 
    <div class="panel panel__compact panel__bg">
 

	
 
      <div style="background-image: url('{% block header_background_image %}{% endblock %}');" class="panel--bg"></div>
 
  {% block heading_panel %}
 
    <div style="background-image: url('{% block header_background_image %}{% endblock %}');" class="panel--bg"></div>
 

	
 
      <div class="panel--content">
 
        <div class="panel--2-3">
 
          <h2>{% block header_title %}{% endblock %}</h2>
 
          {% block header_title %}{% endblock %}
 
          <p class="lede">{% block header_paragraph %}{% endblock %}</p>
 
        </div>
 
        {% block header_inset_image_base %}
 
          <div class="panel--1-3">
 
            <div class="portrait">
 
              <div style="background-image: url('{% block header_inset_image %}{% endblock %}');" class="portrait--img"></div>
 
            </div>
 
          </div>
 
        {% endblock %}
 
      </div>
 

	
 
    </div>
 

	
 

	
 
  {% block topbar_base %}
 
  {% endblock %}
 
  {% endblock %}
 

	
 
  {% block content_base %}
 
    <div class="l-content-page">
 
      <div class="l-content-page--richtext">
 
      <div class="l-content-page">
 
        {% block content %}
 
        {% endblock %}
 
      </div>
 
    </div>
 
  {% endblock %}
 
{% endblock %}
 

	
 
{% block extra_script %}
 
  <script src="{% static 'js/site-92ae8d0d6c.js' %}" type="text/javascript"></script>
 
{% endblock %}
 

	
pinaxcon/templates/site_base.html
Show inline comments
 
{% load staticfiles %}
 
{% load metron_tags %}
 
{% load i18n %}
 
{% load sitetree %}
 
{# <!-- https://gist.github.com/geedmo/5682742--> #}
 
<!DOCTYPE html>
 
<html lang="en" class="no-js">
 
  <head>
 
    <meta charset="utf-8">
 
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
 
    <meta name="description" content="">
 

	
 
    <!-- disable browser cache (for now) -->
 
    <meta http-equiv="cache-control" content="max-age=0" />
 
    <meta http-equiv="cache-control" content="no-cache" />
 
    <meta http-equiv="expires" content="0" />
 
    <meta http-equiv="expires" content="Tue, 01 Jan 1990 12:00:00 GMT" />
 

	
 

	
 
{% block viewport %}
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
 
{% endblock %}
 
    <title>{% block head_title_base %}{% if SITE_NAME %}{{ SITE_NAME }} | {% endif %}{% block head_title %}{% endblock %}{% endblock %}</title>
 
{% block styles %}
 
    <link rel="stylesheet" href="{% static 'pyconau2017/css/app.css' %}">
 
    <link rel="stylesheet" href="{% static 'pycon2017/css/print.css' %}" media="print">
 
    <link rel="stylesheet" href="{% static 'pyconau2017/css/print.css' %}" media="print">
 
    <link href="{% static 'pyconau2017/css/pyconau.css' %}" rel="stylesheet">
 
    <link href="{% static 'pyconau2017/css/bootstrap.css' %}" rel="stylesheet">
 

	
 
    <link rel="icon" href="{% static 'pycon2017/images/favicon.ico' %}"
 
    <!--FIXME: download-->
 
    <link href="https://fonts.googleapis.com/css?family=Titillium+Web:700,900|Roboto:400italic,400,700,700italic" rel="stylesheet" type="text/css">
 
    <!--Meta tags-->
 
    <meta name="theme-color" content="#0c486c">
 
    {% block extra_style %}
 
      <link rel="stylesheet" href="{% static 'css/site-0a247b924d.css' %}">
 
    {% endblock %}
 
{% endblock %}
 
    <!--Twitter-->
 
    <meta name="twitter:card" content="summary">
 
    <meta name="twitter:site" content="@pyconau2017">
 
    <meta name="twitter:title" content="Pycon AU – 3 - 8 2017 – Melbourne, Victoria"
 
    <meta name="twitter:description"content="Discover the future of Open Source at linux.conf.au 2017. Tickets on sale from October.">
 
    <meta name="twitter:image" content="{{ request.scheme }}://{{ request.get_host }}{% static 'pyconau2017/images/socmed/twitter-tuz.png' %}">
 
    <meta name="twitter:image:alt" content="Tuz">
 
    <!--Open Graph-->
 
    <meta property="og:url" content="https://2017.pycon-au.org/">
 
    <meta property="og:title" content="Pycon AU – 3 - 8 2017 – Melbourne, Victoria">
 
    <meta property="og:title" content="Pycon AU – 3 - 8  2017 – Melbourne, Victoria">
 
    <meta property="og:description" content="Discover Python at Pycon AU 2017. Tickets on sale from February.">
 
    <meta property="og:type" content="website">
 
    <meta property="fb:admins" content="729577430">
 
    <meta property="fb:profile_id" content="293907417664731">
 
        {% block extra_head_base %}
 
            {% block extra_head %}{% endblock %}
 
        {% endblock %}
 
  </head>
 
  <body class="{% block body_class %}{% endblock %}">
 
  <body class="{% block body_class %}{% endblock %}"
 
      style="background-image: url({% static 'pyconau2017/images/pyconau-2016-collage.jpg' %});">
 
{% block topbar_base %}
 
    <header role="banner" class="l-header">
 
      <div class="l-header--logo">
 
        {% block site_brand %}
 
          <a href="/"
 
            title="2017.pycon-au.org | 3-8 August, Melbourne | Python FTW!"
 
          >
 
            <img src="{% static 'pyconau2017/images/logo-mel-17.png' %}"
 
              width="100%"
 
              title="pycon-au.org | 3-8 August, Melbourne | Python FTW!"
 
              />
 
          </a>
 
        {% endblock %}
 
      </div>
 
    {#
 
    {% block nav %}
 
        {% sitetree_menu from "main" include "trunk" template "sitetree_header.html" %}
 
      <a href="#" data-menu-opener="" class="l-header--menu-opener"></a>
 
    </header>
 
      {% sitetree_menu from "main" include "trunk" template "sitetree_opener.html" %}
 
    {% endblock %}
 
    #}
 
{% endblock %}
 

	
 
{% block body_base %}
 
    <div style="height: 100px;" />
 
  <div style="height: 100px;" />
 
    <main role="main">
 
<div class="l-content-page">
 
        <section id="content_body">
 
        <div class="container">
 
            {% include "_messages.html" %}
 
            <div class="row">
 
                <div class="col-md-9">
 
    {% block body %}
 
      {% block content %}
 
      {% endblock %}
 
    {% endblock %}
 
                </div>
 
                <div class="col-md-3">
 
                    {% block sidebar %}
 
                        {% include "_default_sidebar.html" %}
 
                    {% endblock %}
 
                </div>
 
            </div>
 
        </div>
 
    </section>
 
</div>
 
  </div>
 
{% endblock %}
 

	
 
{% block footer_base %}
 
  <!-- https://gist.github.com/geedmo/5682742-->
 
  <footer class="l-footer l-footer__alt">
 
    {% block footer %}
 
      <div class="l-footer--text">
 
        <h3>Sponsors</h3>
 
        <p class="lede">We thank our sponsors for their
 
          generous contribution to Pycon Australia 2017.</p>
 
        <a href="/sponsors" class="btn btn__white">Other Sponsors</a>
 
      </div>
 
      <div class="l-footer--logos">
 
        <div class="l-footer--logo">
 
          <img src="{% static 'lca2017/images/HPE.svg' %}">
 
        </div>
 
        <div class="l-footer--logo">
 
          <img src="{% static 'lca2017/images/IBM.svg' %}">
 
        </div>
 
        <br />
 
      </div>
 

	
 
      <p class="lede">©2016 Pycon Australia 2017. Linux is a registered trademark of Linus Torvalds. Site design by <a href="http://takeflight.com.au" >Takeflight</a>. Image credits can be found on our <a href="/about/colophon">Colophon</a>.</p>
 

	
 
    {% endblock %}
 
  </footer>
 
{% endblock %}
 

	
 
    </main>
 
    {% block scripts %}
 
    {% comment%}
 
    <script src="{% static 'pyconau2017/js/app.js' %}"></script>
 
    {% include "_scripts.html" %}
 
    <script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.js"></script>
 
    {% endcomment %}
 
    {% block extra_script %}{% endblock %}
 
    {% endblock %}
 
{% block extra_body_base %}
 
{% block analytics %}
 
	{% include "analytics.html" %}
 
{% endblock %}
 
    {% block extra_body %}{% endblock %}
 
{% endblock %}
 
  </body>
 
</html>
pinaxcon/templates/site_base_wagtail.html
Show inline comments
 
{% extends "site_base.html" %}
 
{% load staticfiles %}
 
{% block extra_style %}{% endblock %}
 
{% block body_base %}
 
    <div style="height: 100px;" />
 
    <main role="main">
 
    {% include "_messages.html" %}
 
    {% block body %}
 
      {% block content %}
 
      {% endblock %}
 
    {% endblock %}
 
{% endblock %}
 

	
 
{% block scripts %}
 
<script src="{% static 'lca2017/js/app.js' %}" type="text/javascript"></script>
 

	
 
<script src="{% static 'pyconau2017/js/app.js' %}" type="text/javascript"></script>
 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
 
<script src="{% static 'lca2017/js/load_editors.js' %}" type="text/javascript"></script>
 
<script src="{% static 'pyconau2017/js/load_editors.js' %}" type="text/javascript"></script>
 
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.3/ace.js"></script>
 
<script src="{{ STATIC_URL }}js/jquery.formset.js"></script>
 

	
 
  {% block scripts_extra %}
 
  {% endblock %}
 

	
 
{% endblock %}
static/src/lca2017/css/app.css
Show inline comments
...
 
@@ -1448,97 +1448,98 @@ table.alt tr:not(:last-of-type) {
 
  .l-speaker-page--portrait {
 
    width: auto;
 
  }
 
}
 

	
 
.l-footer {
 
  display: -ms-flexbox;
 
  display: flex;
 
  -ms-flex-align: center;
 
  align-items: center;
 
  -ms-flex-wrap: wrap;
 
  flex-wrap: wrap;
 
  -ms-flex-direction: column;
 
  flex-direction: column;
 
  margin-top: 100px;
 
  margin-top: 3.25rem;
 
  padding: 50px 40px;
 
  padding: 3.125rem 40px;
 
  width: 100%;
 
}
 

	
 
.l-footer--logos {
 
  display: -ms-flexbox;
 
  display: flex;
 
  -ms-flex-wrap: wrap;
 
  flex-wrap: wrap;
 
  -ms-flex-pack: distribute;
 
  justify-content: space-around;
 
  margin-top: 20px;
 
  margin-top: 1.25rem;
 
}
 

	
 
.l-footer--logo {
 
  max-width: 100%;
 
  -ms-flex-preferred-size: 45%;
 
  flex-basis: 45%;
 
  margin-top: 1em;
 
  margin-bottom: 1em;
 
}
 

	
 
.l-footer--logo > svg, .l-footer--logo > img {
 
  display: block;
 
  width: 100%;
 
  height: 100%;
 
}
 

	
 

	
 
.l-footer__alt {
 
  background-color: #0c486c;
 
  /* background-color: #0c486c; */
 
  background-color: transparent;
 
  color: white;
 
}
 

	
 
@media (min-width: 48em) {
 
  .l-footer {
 
    /*padding: 6.25rem 70px; /* issue #44 too much padding */
 
    padding: 3.25rem 70px;
 
    -ms-flex-direction: row;
 
    flex-direction: row;
 
    -ms-flex-pack: justify;
 
    justify-content: space-between;
 
  }
 
  .l-footer--logos {
 
    margin-top: 0;
 
  }
 
}
 

	
 
@media (min-width: 64em) {
 
  .l-footer {
 
    /*padding: 6.25rem 160px; */
 
    padding: 3.25rem 160px;
 
  }
 
}
 

	
 
@media (min-width: 80em) {
 
  .l-footer {
 
    /*padding: 6.25rem 200px;*/
 
    padding: 3.25rem 200px;
 
  }
 
  .l-footer--logo {
 
    margin-bottom: 0;
 
    -ms-flex-preferred-size: auto;
 
    flex-basis: auto;
 
  }
 
}
 

	
 
@media (min-width: 1946px) {
 
  .l-footer {
 
    padding: 3.25rem auto;
 
    /*padding: 6.25rem auto;*/
 
  }
 
}
 

	
 
.l-content-page {
 
  margin-top: 80px;
 
  margin-top: 5rem;
 
}
 

	
static/src/pyconau2017/css/app.css
Show inline comments
...
 
@@ -1419,126 +1419,128 @@ table.alt tr:not(:last-of-type) {
 
}
 

	
 
@media (min-width: 64em) {
 
  .l-header--logo {
 
    width: 300px;
 
  }
 
  .l-header--nav {
 
    margin-right: 1.25rem;
 
  }
 
}
 

	
 
.l-speaker-page {
 
  margin-top: 60px;
 
  margin-top: 3.75rem;
 
}
 

	
 
.l-speaker-page--portrait {
 
  width: 100%;
 
}
 

	
 
@media (min-width: 48em) {
 
  .l-speaker-page {
 
    -ms-flex-wrap: nowrap;
 
    flex-wrap: nowrap;
 
    margin-top: 5rem;
 
  }
 
  .l-speaker-page--content *:first-child {
 
    margin-top: 0;
 
  }
 
  .l-speaker-page--portrait {
 
    width: auto;
 
  }
 
}
 

	
 
.l-footer {
 
  display: -ms-flexbox;
 
  display: flex;
 
  -ms-flex-align: center;
 
  align-items: center;
 
  -ms-flex-wrap: wrap;
 
  flex-wrap: wrap;
 
  -ms-flex-direction: column;
 
  flex-direction: column;
 
  margin-top: 100px;
 
  margin-top: 3.25rem;
 
  padding: 50px 40px;
 
  padding: 3.125rem 40px;
 
  width: 100%;
 
  opacity: 0.0;
 
}
 

	
 
.l-footer--logos {
 
  display: -ms-flexbox;
 
  display: flex;
 
  -ms-flex-wrap: wrap;
 
  flex-wrap: wrap;
 
  -ms-flex-pack: distribute;
 
  justify-content: space-around;
 
  margin-top: 20px;
 
  margin-top: 1.25rem;
 
}
 

	
 
.l-footer--logo {
 
  max-width: 100%;
 
  -ms-flex-preferred-size: 45%;
 
  flex-basis: 45%;
 
  margin-top: 1em;
 
  margin-bottom: 1em;
 
}
 

	
 
.l-footer--logo > svg, .l-footer--logo > img {
 
  display: block;
 
  width: 100%;
 
  height: 100%;
 
}
 

	
 

	
 
.l-footer__alt {
 
  background-color: #0c486c;
 
  /*background-color: #0c486c; */
 
  background-color: #420045;
 
  color: white;
 
}
 

	
 
@media (min-width: 48em) {
 
  .l-footer {
 
    /*padding: 6.25rem 70px; /* issue #44 too much padding */
 
    padding: 3.25rem 70px;
 
    -ms-flex-direction: row;
 
    flex-direction: row;
 
    -ms-flex-pack: justify;
 
    justify-content: space-between;
 
  }
 
  .l-footer--logos {
 
    margin-top: 0;
 
  }
 
}
 

	
 
@media (min-width: 64em) {
 
  .l-footer {
 
    /*padding: 6.25rem 160px; */
 
    padding: 3.25rem 160px;
 
  }
 
}
 

	
 
@media (min-width: 80em) {
 
  .l-footer {
 
    /*padding: 6.25rem 200px;*/
 
    padding: 3.25rem 200px;
 
  }
 
  .l-footer--logo {
 
    margin-bottom: 0;
 
    -ms-flex-preferred-size: auto;
 
    flex-basis: auto;
 
  }
 
}
 

	
 
@media (min-width: 1946px) {
 
  .l-footer {
 
    padding: 3.25rem auto;
 
    /*padding: 6.25rem auto;*/
 
  }
 
}
 

	
 
.l-content-page {
 
  margin-top: 80px;
 
  margin-top: 5rem;
 
}
 

	
static/src/pyconau2017/css/pyconau.css
Show inline comments
 
body {
 
  /* Unfortunately, we can't use django tags in here.  So, we'll pull the bg image in from within the body tag itself */
 
  /* background: url({% static 'pyconau2017/images/pyconau-2016-collage.jpg' %}) no-repeat center center fixed; */
 
  background: no-repeat center center fixed; */
 
  -webkit-background-size: cover;
 
  -moz-background-size: cover;
 
  -o-background-size: cover;
 
  background-size: cover;
 
  color: white;
 
  font-size: 14px;
 
}
 

	
 

	
 
.vertical-center {
 
  min-height: 100%;  /* Fallback for browsers do NOT support vh unit */
 
  min-height: 100vh; /* These two lines are counted as one :-)       */
 

	
 
  display: flex;
 
  flex-direction: row-reverse;
 
  align-items: center;
 
}
 

	
 
.jumbotron {
 
    background-color: rgba(0,0,0,0.9);
 
    color: white;
 
    margin-top: 60px;
 
    margin-bottom: 60px;
 
}
 

	
 
@font-face {
 
    font-family: 'Flux Regular';
 
    src: url('fonts/FLUXRegular.ttf');
 
}
 

	
 
.jumbotron h1 {
 
    font-size: 3em;
 
    font-family: 'Flux Regular';
 
    background-color: #000;
 
}
 

	
 
#announcements {
 
    background-color: rgba(0,0,0,0.9);
 
    color: white;
 
    border-radius: 6px;
 
    padding: 2em;
 
    margin-top: 60px;
 
    margin-bottom: 60px;
 
}
 
#announcements h2 {
 
    font-size: 2em;
 
    font-family: 'Flux Regular';
 
    color: white;
 
}
0 comments (0 inline, 0 general)