Templates (finished?) (#22)
* Adds inset_illustration as a drop-down of svg data rather than as an uploady thing. * Adds external link types to the homepage models * Migrations * Initial site template with our new shiny templates * Moves all lca2017-specific assets to lca2017 subdirectory; symlinks from dist * Reflects changes in site_base * Deletes most of new assets in dist/ * WIP home page * Adds external link list support * Adds white-right panel type to the home page * Removes an oops * Adds copyright text to the site. * Updates the remaining illustrations to be more compact. * Adds illustration field to content_page, and adds fields into the news page. * News index page * News page is done! * Formats the dates properly * Commits migrations * Optimises SVG files * better logo * oops * Removes margin on logo. * Optimises svgs, and uses tania’s originals * One more
|  | @ -0,0 +1,82 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| # Generated by Django 1.9.7 on 2016-06-26 04:31 | ||||
| from __future__ import unicode_literals | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| import django.db.models.deletion | ||||
| import wagtail.wagtailcore.blocks | ||||
| import wagtail.wagtailcore.fields | ||||
| import wagtail.wagtailimages.blocks | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     replaces = [(b'cms_pages', '0004_auto_20160626_0110'), (b'cms_pages', '0005_auto_20160626_0127'), (b'cms_pages', '0006_auto_20160626_0222'), (b'cms_pages', '0007_auto_20160626_0335')] | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('cms_pages', '0003_auto_20160625_0337'), | ||||
|         ('wagtailimages', '0013_make_rendition_upload_callable'), | ||||
|     ] | ||||
| 
 | ||||
|     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=[(1, 'Left-aligned image, blue-filtered image BG'), (2, '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'), ('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.RichTextBlock(required=True)), (b'link', wagtail.wagtailcore.blocks.StructBlock([('page', wagtail.wagtailcore.blocks.PageChooserBlock()), ('title', wagtail.wagtailcore.blocks.CharBlock(required=True))])), (b'external_links', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailcore.blocks.StructBlock([('alt', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('icon', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('twitter.svg', 'Twitter'), ('facebook.svg', 'Facebook'), ('linkedin.svg', 'LinkedIn'), ('generic.svg', 'Generic URL')])), ('url', wagtail.wagtailcore.blocks.URLBlock(required=True))])))]))]), | ||||
|         ), | ||||
|         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'), ('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.RichTextBlock(required=True)), (b'link', wagtail.wagtailcore.blocks.StructBlock([('page', wagtail.wagtailcore.blocks.PageChooserBlock()), ('title', wagtail.wagtailcore.blocks.CharBlock(required=True))])), (b'external_links', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailcore.blocks.StructBlock([('alt', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('icon', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('twitter.svg', 'Twitter'), ('facebook.svg', 'Facebook'), ('linkedin.svg', 'LinkedIn'), ('generic.svg', 'Generic URL')])), ('url', wagtail.wagtailcore.blocks.URLBlock(required=True))])))]))]), | ||||
|         ), | ||||
|         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'), ('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.RichTextBlock(required=True)), (b'link', wagtail.wagtailcore.blocks.StructBlock([('page', wagtail.wagtailcore.blocks.PageChooserBlock()), ('title', wagtail.wagtailcore.blocks.CharBlock(required=True))])), (b'external_links', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailcore.blocks.StructBlock([('alt', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('icon', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('twitter.svg', 'Twitter'), ('generic.svg', 'Generic URL')])), ('url', wagtail.wagtailcore.blocks.URLBlock(required=True))])))]))]), | ||||
|         ), | ||||
|         migrations.RenameField( | ||||
|             model_name='contentpage', | ||||
|             old_name='main_image', | ||||
|             new_name='background_image', | ||||
|         ), | ||||
|         migrations.RenameField( | ||||
|             model_name='newspage', | ||||
|             old_name='main_image', | ||||
|             new_name='background_image', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='contentpage', | ||||
|             name='image_display', | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             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'), ('tuz.svg', 'Tuz'), ('wineglass.svg', 'Wineglass')], default=0, max_length=256), | ||||
|             preserve_default=False, | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='newsindexpage', | ||||
|             name='background_image', | ||||
|             field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='newsindexpage', | ||||
|             name='body', | ||||
|             field=wagtail.wagtailcore.fields.RichTextField(blank=True), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='newspage', | ||||
|             name='portrait_image', | ||||
|             field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'), | ||||
|         ), | ||||
|         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'), ('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.RichTextBlock(required=True)), (b'link', wagtail.wagtailcore.blocks.StructBlock([('page', wagtail.wagtailcore.blocks.PageChooserBlock()), ('title', wagtail.wagtailcore.blocks.CharBlock(required=True))])), (b'external_links', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailcore.blocks.StructBlock([('alt', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('icon', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('twitter', 'Twitter'), ('generic', 'Generic URL')])), ('url', wagtail.wagtailcore.blocks.URLBlock(required=True))])))]))]), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='newsindexpage', | ||||
|             name='intro', | ||||
|             field=models.CharField(max_length=250), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -18,27 +18,18 @@ from wagtail.wagtailadmin.edit_handlers import StreamFieldPanel | |||
| from wagtail.wagtailsearch import index | ||||
| 
 | ||||
| 
 | ||||
| class HomePage(Page): | ||||
| ILLUSTRATION_ANTARCTICA = "antarctica.svg" | ||||
| ILLUSTRATION_BRIDGE = "bridge.svg" | ||||
| ILLUSTRATION_CASINO = "casino.svg" | ||||
| ILLUSTRATION_CRADLE = "cradle.svg" | ||||
| ILLUSTRATION_DEVIL = "devil.svg" | ||||
| ILLUSTRATION_FALLS = "falls.svg" | ||||
| ILLUSTRATION_HOBART = "hobart.svg" | ||||
| ILLUSTRATION_LAVENDER = "lavender.svg" | ||||
| ILLUSTRATION_TUZ = "tuz.svg" | ||||
| ILLUSTRATION_WINEGLASS = "wineglass.svg" | ||||
| 
 | ||||
|     BASIC_CONTENT_BLUE_LEFT = 1 | ||||
|     BASIC_CONTENT_WHITE_RIGHT = 2 | ||||
|     BASIC_CONTENT_TYPES = ( | ||||
|         (BASIC_CONTENT_BLUE_LEFT, "Left-aligned image, blue-filtered image BG"), | ||||
|         (BASIC_CONTENT_WHITE_RIGHT, "Right-aligned image, white background"), | ||||
|     ) | ||||
| 
 | ||||
|     ILLUSTRATION_ANTARCTICA = "antarctica.svg" | ||||
|     ILLUSTRATION_BRIDGE = "bridge.svg" | ||||
|     ILLUSTRATION_CASINO = "casino.svg" | ||||
|     ILLUSTRATION_CRADLE = "cradle.svg" | ||||
|     ILLUSTRATION_DEVIL = "devil.svg" | ||||
|     ILLUSTRATION_FALLS = "falls.svg" | ||||
|     ILLUSTRATION_HOBART = "hobart.svg" | ||||
|     ILLUSTRATION_LAVENDER = "lavender.svg" | ||||
|     ILLUSTRATION_TUZ = "tuz.svg" | ||||
|     ILLUSTRATION_WINEGLASS = "wineglass.svg" | ||||
| 
 | ||||
|     ILLUSTRATION_TYPES = ( | ||||
| ILLUSTRATION_TYPES = ( | ||||
|     (ILLUSTRATION_ANTARCTICA, "Antarctica"), | ||||
|     (ILLUSTRATION_BRIDGE, "Bridge"), | ||||
|     (ILLUSTRATION_CASINO, "Casino"), | ||||
|  | @ -49,42 +40,49 @@ class HomePage(Page): | |||
|     (ILLUSTRATION_LAVENDER, "Lavender"), | ||||
|     (ILLUSTRATION_TUZ, "Tuz"), | ||||
|     (ILLUSTRATION_WINEGLASS, "Wineglass"), | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| class BasicContentBlock(blocks.StructBlock): | ||||
| 
 | ||||
|     class Meta: | ||||
|         template = "cms_pages/home_page_blocks/basic_content.html" | ||||
| 
 | ||||
|     PANEL_BLUE_LEFT = "blue_left" | ||||
|     PANEL_WHITE_RIGHT = "white_right" | ||||
|     PANEL_TYPES = ( | ||||
|         (PANEL_BLUE_LEFT, "Left-aligned image, blue-filtered image BG"), | ||||
|         (PANEL_WHITE_RIGHT, "Right-aligned image, white background"), | ||||
|     ) | ||||
| 
 | ||||
|     EXTERNAL_LINK_TWITTER = "twitter.svg" | ||||
|     EXTERNAL_LINK_FACEBOOK = "facebook.svg" | ||||
|     EXTERNAL_LINK_LINKEDIN = "linkedin.svg" | ||||
|     EXTERNAL_LINK_GENERIC = "generic.svg" | ||||
|     EXTERNAL_LINK_TWITTER = "twitter" | ||||
|     EXTERNAL_LINK_GENERIC = "generic" | ||||
| 
 | ||||
|     EXTERNAL_LINK_TYPES = ( | ||||
|         (EXTERNAL_LINK_TWITTER, "Twitter"), | ||||
|         (EXTERNAL_LINK_FACEBOOK, "Facebook"), | ||||
|         (EXTERNAL_LINK_LINKEDIN, "LinkedIn"), | ||||
|         (EXTERNAL_LINK_GENERIC, "Generic URL"), | ||||
|     ) | ||||
| 
 | ||||
|     body = StreamField([ | ||||
|         ("basic_content", blocks.StructBlock([ | ||||
|             ("type", blocks.ChoiceBlock( | ||||
|                 choices=BASIC_CONTENT_TYPES, | ||||
|     panel_type = blocks.ChoiceBlock( | ||||
|         choices=PANEL_TYPES, | ||||
|         required=True, | ||||
|             )), | ||||
|             ("heading", blocks.CharBlock(required=True)), | ||||
|             ("inset_illustration", blocks.ChoiceBlock( | ||||
|     ) | ||||
|     heading = blocks.CharBlock(required=True) | ||||
|     inset_illustration = blocks.ChoiceBlock( | ||||
|         choices=ILLUSTRATION_TYPES, | ||||
|         required=True, | ||||
|             )), | ||||
|             ("background_image", imageblocks.ImageChooserBlock( | ||||
|     ) | ||||
|     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)), | ||||
|             ("link", blocks.StructBlock([ | ||||
|     ) | ||||
|     body = blocks.RichTextBlock(required=True) | ||||
|     link = blocks.StructBlock([ | ||||
|         ("page", blocks.PageChooserBlock()), | ||||
|         ("title", blocks.CharBlock(required=True)), | ||||
|             ])), | ||||
|             ("external_links", blocks.ListBlock( | ||||
|     ]) | ||||
|     external_links = blocks.ListBlock( | ||||
|         blocks.StructBlock([ | ||||
|             ("alt", blocks.CharBlock(required=True)), | ||||
|             ("icon", blocks.ChoiceBlock( | ||||
|  | @ -93,8 +91,12 @@ class HomePage(Page): | |||
|             )), | ||||
|             ("url", blocks.URLBlock(required=True) | ||||
|         )]) | ||||
|             )), | ||||
|         ])), | ||||
|     ) | ||||
| 
 | ||||
| class HomePage(Page): | ||||
| 
 | ||||
|     body = StreamField([ | ||||
|         ("basic_content", BasicContentBlock()), | ||||
|         # TODO: keynotes | ||||
|         # TODO: other bits | ||||
|     ]) | ||||
|  | @ -112,7 +114,7 @@ class AbstractContentPage(Page): | |||
| 
 | ||||
|     intro = models.CharField(max_length=250) | ||||
|     body = RichTextField(blank=True) | ||||
|     main_image = models.ForeignKey( | ||||
|     background_image = models.ForeignKey( | ||||
|         'wagtailimages.Image', | ||||
|         null=True, | ||||
|         blank=True, | ||||
|  | @ -126,7 +128,7 @@ class AbstractContentPage(Page): | |||
|     ] | ||||
| 
 | ||||
|     content_panels = Page.content_panels + [ | ||||
|         ImageChooserPanel('main_image'), | ||||
|         ImageChooserPanel('background_image'), | ||||
|         FieldPanel('intro'), | ||||
|         FieldPanel('body', classname="full") | ||||
|     ] | ||||
|  | @ -134,50 +136,47 @@ class AbstractContentPage(Page): | |||
| 
 | ||||
| class ContentPage(AbstractContentPage): | ||||
| 
 | ||||
|     IMAGE_DISPLAY_FEATURE = 1 | ||||
|     IMAGE_DISPLAY_VIGNETTE = 2 | ||||
| 
 | ||||
|     IMAGE_DISPLAY = ( | ||||
|         (IMAGE_DISPLAY_FEATURE, "Banner with background feature image"), | ||||
|         (IMAGE_DISPLAY_VIGNETTE, "No banner, circular vignette"), | ||||
|     inset_illustration = models.CharField( | ||||
|         choices=ILLUSTRATION_TYPES, | ||||
|         max_length=256, | ||||
|     ) | ||||
| 
 | ||||
|     image_display = models.IntegerField( | ||||
|         choices=IMAGE_DISPLAY, | ||||
|     ) | ||||
| 
 | ||||
|     def image_display_feature(self): | ||||
|         return self.image_display == IMAGE_DISPLAY_FEATURE | ||||
| 
 | ||||
|     def image_display_vignette(self): | ||||
|         return self.image_display == IMAGE_DISPLAY_VIGNETTE | ||||
| 
 | ||||
|     content_panels = [ | ||||
|         FieldPanel('image_display') | ||||
|     ] + AbstractContentPage.content_panels | ||||
|     content_panels = AbstractContentPage.content_panels + [ | ||||
|         FieldPanel('inset_illustration') | ||||
|     ] | ||||
| 
 | ||||
| 
 | ||||
| # News pages | ||||
| 
 | ||||
| class NewsIndexPage(Page): | ||||
|     intro = RichTextField(blank=True) | ||||
| class NewsIndexPage(AbstractContentPage): | ||||
| 
 | ||||
|     def child_pages(self): | ||||
|         return NewsPage.objects.live().child_of(self).specific().order_by("-date") | ||||
| 
 | ||||
|     subpage_types = [ | ||||
|         "NewsPage", | ||||
|     ] | ||||
| 
 | ||||
|     content_panels = Page.content_panels + [ | ||||
|         FieldPanel('intro', classname="full"), | ||||
|     ] | ||||
|     content_panels = AbstractContentPage.content_panels | ||||
| 
 | ||||
| 
 | ||||
| class NewsPage(AbstractContentPage): | ||||
| 
 | ||||
|     date = models.DateField("Post date") | ||||
| 
 | ||||
|     portrait_image = models.ForeignKey( | ||||
|         'wagtailimages.Image', | ||||
|         null=True, | ||||
|         blank=True, | ||||
|         on_delete=models.SET_NULL, | ||||
|         related_name='+' | ||||
|     ) | ||||
| 
 | ||||
|     parent_page_types = [ | ||||
|         NewsIndexPage, | ||||
|     ] | ||||
| 
 | ||||
|     content_panels = AbstractContentPage.content_panels + [ | ||||
|         FieldPanel('date'), | ||||
|         ImageChooserPanel('portrait_image'), | ||||
|     ] | ||||
|  |  | |||
|  | @ -1,7 +1,6 @@ | |||
| {% extends "site_base.html" %} | ||||
| 
 | ||||
| {% load staticfiles %} | ||||
| {% load wagtailcore_tags %} | ||||
| {% load wagtailimages_tags %} | ||||
| 
 | ||||
| {% load sitetree %} | ||||
| {% load i18n %} | ||||
|  | @ -12,14 +11,11 @@ | |||
| 
 | ||||
| {% block body %} | ||||
|   {% block content %} | ||||
|       <h1>{{ page.title }}</h1> | ||||
| 
 | ||||
|       {% if page.main_image %} | ||||
|           {% image page.main_image width-400 %} | ||||
|       {% endif %} | ||||
| 
 | ||||
|       <div class="intro">{{ page.intro }}</div> | ||||
| 
 | ||||
|     {% include "cms_pages/content_page_header_panel.html" %} | ||||
|     <div class="l-content-page"> | ||||
|       <div class="l-content-page--richtext"> | ||||
|         {{ page.body|richtext }} | ||||
|       </div> | ||||
|     </div> | ||||
|   {% endblock %} | ||||
| {% endblock %} | ||||
|  |  | |||
							
								
								
									
										33
									
								
								pinaxcon/templates/cms_pages/content_page_header_panel.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,33 @@ | |||
| {% load staticfiles %} | ||||
| {% load wagtailimages_tags %} | ||||
| 
 | ||||
|   <div class="panel panel__compact panel__bg"> | ||||
|   {% if page.background_image %} | ||||
|     {% image page.background_image width-2000 as background_image %} | ||||
|     <div style="background-image: url('{{ background_image.url }}');" class="panel--bg"></div> | ||||
|   {% else %} | ||||
|     <div class="panel--bg"></div> | ||||
|   {% endif %} | ||||
|   <div class="panel--content"> | ||||
|     <div class="panel--2-3"> | ||||
|       <h2>{{ page.title }}</h2> | ||||
|       <p class="lede">{{ page.intro }}</p> | ||||
|     </div> | ||||
|     {% if page.inset_illustration or page.portrait_image %} | ||||
|       <div class="panel--1-3"> | ||||
|           {% if page.inset_illustration %} | ||||
|           <div class="illustration"> | ||||
|             <img | ||||
|             src="{% static 'lca2017/images/svgs/illustrations/' %}{{ page.inset_illustration }}" | ||||
|             /> | ||||
|           </div> | ||||
|         {% elif page.portrait_image %} | ||||
|           <div class="portrait"> | ||||
|             {% image page.portrait_image width-640 as portrait_image %} | ||||
|             <div style="background-image: url('{{ portrait_image.url }}');" class="portrait--img"></div> | ||||
|           </div> | ||||
|         {% endif %} | ||||
|       </div> | ||||
|     {% endif %} | ||||
|   </div> | ||||
| </div> | ||||
|  | @ -7,5 +7,7 @@ | |||
| {% block head_title %}{% trans "Welcome" %}{% endblock %} | ||||
| 
 | ||||
| {% block body %} | ||||
|   {{ page.body }} | ||||
| 
 | ||||
| {{ page.body }} | ||||
| 
 | ||||
| {% endblock %} | ||||
|  |  | |||
|  | @ -0,0 +1,25 @@ | |||
| {% load staticfiles %} | ||||
| {% load wagtailcore_tags %} | ||||
| {% load wagtailimages_tags %} | ||||
| 
 | ||||
| {% if value.panel_type == "blue_left" %} | ||||
| 
 | ||||
| <div class="panel panel__bg"> | ||||
|   {% 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"> | ||||
|   <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 %} | ||||
|  | @ -0,0 +1,8 @@ | |||
| {% load staticfiles %} | ||||
| <div class="panel--1-3"> | ||||
|   <div class="illustration"> | ||||
|     <img | ||||
|       src="{% static 'lca2017/images/svgs/illustrations/' %}{{ value.inset_illustration }}" | ||||
|     /> | ||||
|   </div> | ||||
| </div> | ||||
|  | @ -0,0 +1,16 @@ | |||
| <div class="panel--2-3"> | ||||
|   <h2>{{ value.heading }}</h2> | ||||
|   <p class="lede">{{ value.body }}</p> | ||||
|   <div class="btn-group"> | ||||
|     {% if value.panel_type == "blue_left" %} | ||||
|       <a href="{{ value.link.page.url }}" class="btn btn__white">{{ value.link.title }}</a> | ||||
|     {% elif value.panel_type == "white_right" %} | ||||
|       <a href="{{ value.link.page.url }}" class="btn">{{ value.link.title }}</a> | ||||
|     {% endif %} | ||||
|     {% for link in value.external_links %} | ||||
|       <a href="{{ link.url }}" title="{{ link.alt }}" class="btn-svg"> | ||||
|         {% include "cms_pages/home_page_blocks/btn_svg.html" %} | ||||
|       </a> | ||||
|     {% endfor %} | ||||
|   </div> | ||||
| </div> | ||||
|  | @ -0,0 +1,24 @@ | |||
| <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 57 57"> | ||||
|   <defs> | ||||
|       <style> | ||||
|           .web-cls-1 { | ||||
|               fill: none; | ||||
|           } | ||||
| 
 | ||||
|           .web-cls-2 { | ||||
|               clip-path: url(#clip-path); | ||||
|           } | ||||
| 
 | ||||
|           .web-cls-3 { | ||||
|               fill: currentColor; | ||||
|           } | ||||
|       </style> | ||||
|       <clipPath id="clip-path"> | ||||
|           <rect class="web-cls-1" width="57" height="57"></rect> | ||||
|       </clipPath> | ||||
|   </defs> | ||||
|   <title>website</title> | ||||
|   <g class="web-cls-2"> | ||||
|       <path class="web-cls-3" d="M33.78,43.33A9.74,9.74,0,0,1,27,40.49l-2.84-2.84a1.1,1.1,0,0,1,0-1.59l1.59-1.59a1.09,1.09,0,0,1,1.59,0l2.84,2.84a5,5,0,1,0,7-7l-2.84-2.84a1.1,1.1,0,0,1,0-1.59l1.59-1.59a1.1,1.1,0,0,1,1.59,0l2.84,2.84a9.56,9.56,0,0,1,2.84,6.82,9.41,9.41,0,0,1-9.44,9.44M23.21,24.81l1.59-1.59a1.09,1.09,0,0,1,1.59,0l7.5,7.5a1.09,1.09,0,0,1,0,1.59L32.3,33.9a1.09,1.09,0,0,1-1.59,0l-7.5-7.5a1.09,1.09,0,0,1,0-1.59m-0.57,6.48-1.59,1.59a1.1,1.1,0,0,1-1.59,0L16.62,30a9.56,9.56,0,0,1,6.71-16.37,9.72,9.72,0,0,1,6.82,2.84L33,19.35a1.09,1.09,0,0,1,0,1.59L31.4,22.53a1.1,1.1,0,0,1-1.6,0L27,19.69a5,5,0,0,0-3.52-1.48,5,5,0,0,0-5,5,5,5,0,0,0,1.48,3.52l2.84,2.84a1.81,1.81,0,0,1-.11,1.7M28.5,0A28.5,28.5,0,1,0,57,28.5,28.5,28.5,0,0,0,28.5,0"></path> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.3 KiB | 
|  | @ -0,0 +1,5 @@ | |||
| {% if link.icon == "twitter" %} | ||||
|   {% include "cms_pages/home_page_blocks/btn_twitter.html" %} | ||||
| {% elif link.icon == "generic" %} | ||||
|   {% include "cms_pages/home_page_blocks/btn_generic_link.html" %} | ||||
| {% endif %} | ||||
|  | @ -0,0 +1,24 @@ | |||
| <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 57 57"> | ||||
|     <defs> | ||||
|         <style> | ||||
|             .twtr-cls-1 { | ||||
|                 fill: none; | ||||
|             } | ||||
| 
 | ||||
|             .twtr-cls-2 { | ||||
|                 clip-path: url(#clip-path); | ||||
|             } | ||||
| 
 | ||||
|             .twtr-cls-3 { | ||||
|                 fill: currentColor; | ||||
|             } | ||||
|         </style> | ||||
|         <clipPath id="clip-path" transform="translate(0 0)"> | ||||
|             <rect class="twtr-cls-1" width="57" height="57"></rect> | ||||
|         </clipPath> | ||||
|     </defs> | ||||
|     <title>twitter</title> | ||||
|     <g class="twtr-cls-2"> | ||||
|         <path class="twtr-cls-3" d="M39.83,22.69c0,0.25,0,.5,0,0.75,0,7.73-5.88,16.64-16.64,16.64a16.55,16.55,0,0,1-9-2.63,12.38,12.38,0,0,0,1.4.08A11.72,11.72,0,0,0,22.91,35,5.86,5.86,0,0,1,17.45,31a6,6,0,0,0,1.1.1,5.89,5.89,0,0,0,1.54-.2,5.86,5.86,0,0,1-4.69-5.73V25.07A5.82,5.82,0,0,0,18,25.8,5.85,5.85,0,0,1,16.23,18,16.59,16.59,0,0,0,28.29,24.1a5.85,5.85,0,0,1,10-5.33A11.66,11.66,0,0,0,42,17.35a5.87,5.87,0,0,1-2.57,3.24,11.65,11.65,0,0,0,3.36-.92,11.84,11.84,0,0,1-2.92,3M28.5,0A28.5,28.5,0,1,0,57,28.5,28.5,28.5,0,0,0,28.5,0" transform="translate(0 0)"></path> | ||||
|     </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.2 KiB | 
|  | @ -1,5 +1,6 @@ | |||
| {% extends "site_base.html" %} | ||||
| 
 | ||||
| {% load staticfiles %} | ||||
| {% load wagtailcore_tags %} | ||||
| {% load wagtailimages_tags %} | ||||
| 
 | ||||
|  | @ -12,24 +13,28 @@ | |||
| 
 | ||||
| {% block body %} | ||||
|   {% block content %} | ||||
|       <h1>{{ page.title }}</h1> | ||||
|     {% include "cms_pages/content_page_header_panel.html" %} | ||||
| 
 | ||||
|       {% if page.main_image %} | ||||
|           {% image page.main_image width-400 %} | ||||
|       {% endif %} | ||||
| 
 | ||||
|       <p class="meta">{{ page.date }}</p> | ||||
| 
 | ||||
|       <div class="intro">{{ page.intro }}</div> | ||||
| 
 | ||||
|       {% if page.get_children.specific %} | ||||
|           <ul> | ||||
|               {% for item in page.get_children.specific %} | ||||
|                   <li><a href="{{ item.url }}">{{ item.title }}</a></li> | ||||
|     {% if page.child_pages %} | ||||
|       {% for item in page.child_pages %} | ||||
|         <div class="panel panel__compact"> | ||||
|           <div class="panel--content"> | ||||
|             <div class="panel--1-3"> | ||||
|               <div class="portrait"> | ||||
|                 {% image item.portrait_image width-640 as portrait_image %} | ||||
|                 <div style="background-image: url('{{ portrait_image.url }}');" class="portrait--img"></div> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div class="panel--2-3"> | ||||
|               <h2>{{ item.title }}</h2> | ||||
|               <p class="lede"><em>{{ item.date|date:"j F Y" }}</em> – {{ item.intro }}</p> | ||||
|               <a href="{{ item.url }}" class="btn">Read more</a> | ||||
|             </div> | ||||
|           </div> | ||||
|         </div> | ||||
|       {% endfor %} | ||||
|           </ul> | ||||
|       <div class="panel panel__compact"></div> | ||||
|     {% endif %} | ||||
| 
 | ||||
| 
 | ||||
|   {% endblock %} | ||||
| {% endblock %} | ||||
|  |  | |||
|  | @ -12,16 +12,12 @@ | |||
| 
 | ||||
| {% block body %} | ||||
|   {% block content %} | ||||
|       <h1>{{ page.title }}</h1> | ||||
| 
 | ||||
|       {% if page.main_image %} | ||||
|           {% image page.main_image width-400 %} | ||||
|       {% endif %} | ||||
| 
 | ||||
|       <p class="meta">{{ page.date }}</p> | ||||
| 
 | ||||
|       <div class="intro">{{ page.intro }}</div> | ||||
| 
 | ||||
|     {% include "cms_pages/content_page_header_panel.html" %} | ||||
|     <div class="l-content-page"> | ||||
|       <div class="l-content-page--richtext"> | ||||
|         <p><em>{{ page.date|date:"j F Y" }}</em></p> | ||||
|         {{ page.body|richtext }} | ||||
|       </div> | ||||
|     </div> | ||||
|   {% endblock %} | ||||
| {% endblock %} | ||||
|  |  | |||
							
								
								
									
										117
									
								
								pinaxcon/templates/site_base.html
									
										
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						|  | @ -1,57 +1,100 @@ | |||
| {% extends "theme_bootstrap/base.html" %} | ||||
| 
 | ||||
| {% 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=""> | ||||
| {% 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 %} | ||||
|     {% include "_styles.html" %} | ||||
|     <link rel="stylesheet" href="{% static 'lca2017/css/app.css' %}"> | ||||
|     <link rel="stylesheet" href="{% static 'lca2017/css/print.css' %}" media="print"> | ||||
|     <!--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"> | ||||
| {% endblock %} | ||||
| 
 | ||||
| 
 | ||||
| {% block extra_head_base %} | ||||
|     <!--Twitter--> | ||||
|     <meta name="twitter:card" content="summary"> | ||||
|     <meta name="twitter:site" content="@linuxconfau"> | ||||
|     <meta name="twitter:creator" content="@linuxconfau"> | ||||
|     <meta name="twitter:description" content="Linux Conf Hobart 16-20 January 2017"> | ||||
|     <meta name="twitter:image:src" content="TODO"> | ||||
|     <!--Open Graph--> | ||||
|     <meta property="og:url" content="https://linux.conf.au/"> | ||||
|     <meta property="og:title" content="Linux.Conf.Au"> | ||||
|     <meta property="og:description" content="Linux Conf Hobart 16-20 January 2017"> | ||||
|     <meta property="og:type" content="website"> | ||||
|     <meta property="fb:admins" content="TODO"> | ||||
|     <meta property="fb:profile_id" content="TODO"> | ||||
|         {% block extra_head_base %} | ||||
|             {% block extra_head %}{% endblock %} | ||||
| {% endblock %} | ||||
| 
 | ||||
| {% block nav %} | ||||
|     {% sitetree_menu from "main" include "trunk" template "sitetree/menu_bootstrap3.html" %} | ||||
|         {% endblock %} | ||||
|   </head> | ||||
|   <body class="{% block body_class %}{% endblock %}"> | ||||
| {% block topbar_base %} | ||||
|     <header role="banner" class="l-header"> | ||||
|       <div class="l-header--logo"> | ||||
|         {% block site_brand %} | ||||
|           <img src="{% static 'lca2017/images/svgs/lca2017-website-logo.svg' %}" width="300px" /> | ||||
|         {% 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 %} | ||||
|     <section id="content_body"> | ||||
|         <div class="container"> | ||||
|             {% include "_messages.html" %} | ||||
|             <div class="row"> | ||||
|                 <div class="col-md-9"> | ||||
|     <main role="main"> | ||||
|     {% block body %} | ||||
|       {% block content %} | ||||
|       {% endblock %} | ||||
|     {% endblock %} | ||||
|         </div> | ||||
|                 <div class="col-md-3"> | ||||
|                     {% block sidebar %} | ||||
|                         {% include "_default_sidebar.html" %} | ||||
| {% endblock %} | ||||
| 
 | ||||
| {% block footer_base %} | ||||
|       <div class="panel panel__compact panel__bg"> | ||||
|         <div style="background-image: url('');" class="panel--bg"></div> | ||||
|         <div class="panel--content"> | ||||
|           <div class="panel--2-3"> | ||||
|             <!-- TODO: put something here. --> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <!-- https://gist.github.com/geedmo/5682742--> | ||||
|       <footer class="l-footer"> | ||||
|         {% block footer %} | ||||
|         <div class="l-footer--text"> | ||||
|           <h3>Sponsors</h3> | ||||
|           <p class="lede">Magna morbi aliquet commodo arcu odio dui imperdiet blandit est. | ||||
|           </p><a href="#" class="btn">See sponsors</a> | ||||
|         </div> | ||||
|         <div class="l-footer--logos"> | ||||
|           <img src="{% static 'lca2017/images/HPE.jpg' %}" role="presentation"> | ||||
|           <img src="{% static 'lca2017/images/IBM.jpg' %}" role="presentation"></div> | ||||
|         <p class="lede">© 2016 linux.conf.au 2017 and Linux Australia. Linux is a registered trademark of Linus Torvalds. Site design by <a href="http://takeflight.com.au" >Takeflight</a>. <a href="/colophon">Colophon</a>.</p> | ||||
|         {% endblock %} | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|     </section> | ||||
|       </footer> | ||||
| {% endblock %} | ||||
| 
 | ||||
| 
 | ||||
| {% block footer %} | ||||
|     {% include "_footer.html" %} | ||||
| {% endblock %} | ||||
| 
 | ||||
| 
 | ||||
| {% block scripts %} | ||||
|     {% include "_scripts.html" %} | ||||
|     <script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.js"></script> | ||||
|     </main> | ||||
|     {% block scripts %} | ||||
|     <script src="{% static 'lca2017/js/app.js' %}"></script> | ||||
|     {% block extra_script %}{% endblock %} | ||||
| {% endblock %} | ||||
| 
 | ||||
| 
 | ||||
|     {% endblock %} | ||||
| {% block extra_body_base %} | ||||
|     {% analytics %} | ||||
|     {% block extra_body %}{% endblock %} | ||||
| {% endblock %} | ||||
|   </body> | ||||
| </html> | ||||
|  |  | |||
							
								
								
									
										10
									
								
								pinaxcon/templates/sitetree_header.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,10 @@ | |||
| {% load sitetree %} | ||||
| <nav role="navigation" class="l-header--links"> | ||||
|     {% for item in sitetree_items %} | ||||
|     <!-- FIXME: NEeds a dropdown mechanism --> | ||||
|     <a href="{% if item.has_children %}#{% else %}{% sitetree_url for item %}{% endif %}" {% if item.has_children %}class="l-header--nav dropdown-toggle {% if item.is_current or item.in_current_branch %}active{% endif %}" data-toggle="dropdown" {% else %}class="l-header--nav {% if item.is_current or item.in_current_branch %}active{% endif %}"{% endif %}>{{ item.title_resolved }}</a> | ||||
| <!--    {% if item.has_children %} | ||||
|         {% sitetree_children of item for menu template "sitetree_header_dropdown.html" %} | ||||
|     {% endif %} --> | ||||
|     {% endfor %} | ||||
| </nav> | ||||
							
								
								
									
										8
									
								
								pinaxcon/templates/sitetree_header_dropdown.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,8 @@ | |||
| {% load sitetree %} | ||||
| <ul class="dropdown-menu" role="menu"> | ||||
|     {% for item in sitetree_items %} | ||||
|         <li role="presentation" {% if item.is_current or item.in_current_branch %}class="active"{% endif %}> | ||||
|             <a role="menuitem" href="{% sitetree_url for item %}" {% if item.hint %}title="{{ item.hint }}"{% endif %}>{{ item.title_resolved }}</a> | ||||
|         </li> | ||||
|     {% endfor %} | ||||
| </ul> | ||||
							
								
								
									
										14
									
								
								pinaxcon/templates/sitetree_opener.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,14 @@ | |||
| {% load sitetree %} | ||||
|     <div data-menu="" class="l-header--menu"> | ||||
|           <ul class="link-list"> | ||||
|     {% for item in sitetree_items %} | ||||
|     <!-- FIXME: NEeds a dropdown mechanism --> | ||||
|     <li class="link-list--item"><a href="{% if item.has_children %}#{% else %}{% sitetree_url for item %}{% endif %}" {% if item.has_children %}class="l-header--nav dropdown-toggle {% if item.is_current or item.in_current_branch %}active{% endif %}" data-toggle="dropdown" {% else %}class="l-header--nav {% if item.is_current or item.in_current_branch %}active{% endif %}"{% endif %}>{{ item.title_resolved }}</a></li> | ||||
| <!--    {% if item.has_children %} | ||||
|         {% sitetree_children of item for menu template "sitetree_opener_dropdown.html" %} | ||||
|     {% endif %} --> | ||||
|     {% endfor %} | ||||
|           </ul> | ||||
|     </div> | ||||
| 
 | ||||
| </nav> | ||||
							
								
								
									
										8
									
								
								pinaxcon/templates/sitetree_opener_dropdown.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,8 @@ | |||
| {% load sitetree %} | ||||
| <ul class="dropdown-menu" role="menu"> | ||||
|     {% for item in sitetree_items %} | ||||
|         <li role="presentation" {% if item.is_current or item.in_current_branch %}class="active"{% endif %}> | ||||
|             <a role="menuitem" href="{% sitetree_url for item %}" {% if item.hint %}title="{{ item.hint }}"{% endif %}>{{ item.title_resolved }}</a> | ||||
|         </li> | ||||
|     {% endfor %} | ||||
| </ul> | ||||
							
								
								
									
										1
									
								
								static/dist/lca2017
									
										
									
									
										vendored
									
									
										Symbolic link
									
								
							
							
						
						|  | @ -0,0 +1 @@ | |||
| ../src/lca2017/ | ||||
							
								
								
									
										1419
									
								
								static/src/lca2017/css/app.css
									
										
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										1
									
								
								static/src/lca2017/css/maps/app.css.map
									
										
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										1
									
								
								static/src/lca2017/css/maps/print.css.map
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1 @@ | |||
| {"version":3,"sources":["print.css"],"names":[],"mappings":"AAAA;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;;;GAGG;AACH;;EAEE;AACF;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;EACE,cAAc;CACf;;AAED;EACE,WAAW;CACZ;;AAED;EACE,cAAc;EACd,WAAW;CACZ;;AAED;EACE,sBAAsB;CACvB;;AAED;EACE,cAAc;CACf;;AAED;EACE,cAAc;CACf;;AAED;EACE,eAAe;CAChB;;AAED;EACE,eAAe;EACf,sBAAsB;CACvB;;AAED;EACE,kCAAkC;EAClC,0BAA0B;CAC3B","file":"print.css","sourcesContent":["/**\n * Media Queries - *Try* and make everything fit within these - use @from/to/between\n */\n/**\n * Font definitions\n */\n/**\n * Transitions\n */\n/**\n * Padding\n * Usage: padding: $padding-rythm*2\n */\n/*\n* Colours\n*/\n/**\n * Purpose-based colors\n */\n/**\n * z-index stack\n */\n/**\n * Misc\n */\n.l-header--menu-opener {\n  display: none;\n}\n\n.l-header--logo {\n  width: 25%;\n}\n\n.l-header--menu-opener {\n  display: none;\n  opacity: 0;\n}\n\n.l-header--links {\n  display: inline-block;\n}\n\n.illustration {\n  display: none;\n}\n\n.portrait {\n  display: none;\n}\n\n.panel__bg {\n  color: #0c486c;\n}\n\n.btn__white {\n  color: #0c486c;\n  border-color: #0c486c;\n}\n\n* {\n  -webkit-print-color-adjust: exact;\n  print-color-adjust: exact;\n}\n"],"sourceRoot":"/source/"} | ||||
							
								
								
									
										65
									
								
								static/src/lca2017/css/print.css
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1,65 @@ | |||
| /** | ||||
|  * Media Queries - *Try* and make everything fit within these - use @from/to/between | ||||
|  */ | ||||
| /** | ||||
|  * Font definitions | ||||
|  */ | ||||
| /** | ||||
|  * Transitions | ||||
|  */ | ||||
| /** | ||||
|  * Padding | ||||
|  * Usage: padding: $padding-rythm*2 | ||||
|  */ | ||||
| /* | ||||
| * Colours | ||||
| */ | ||||
| /** | ||||
|  * Purpose-based colors | ||||
|  */ | ||||
| /** | ||||
|  * z-index stack | ||||
|  */ | ||||
| /** | ||||
|  * Misc | ||||
|  */ | ||||
| .l-header--menu-opener { | ||||
|   display: none; | ||||
| } | ||||
| 
 | ||||
| .l-header--logo { | ||||
|   width: 25%; | ||||
| } | ||||
| 
 | ||||
| .l-header--menu-opener { | ||||
|   display: none; | ||||
|   opacity: 0; | ||||
| } | ||||
| 
 | ||||
| .l-header--links { | ||||
|   display: inline-block; | ||||
| } | ||||
| 
 | ||||
| .illustration { | ||||
|   display: none; | ||||
| } | ||||
| 
 | ||||
| .portrait { | ||||
|   display: none; | ||||
| } | ||||
| 
 | ||||
| .panel__bg { | ||||
|   color: #0c486c; | ||||
| } | ||||
| 
 | ||||
| .btn__white { | ||||
|   color: #0c486c; | ||||
|   border-color: #0c486c; | ||||
| } | ||||
| 
 | ||||
| * { | ||||
|   -webkit-print-color-adjust: exact; | ||||
|   print-color-adjust: exact; | ||||
| } | ||||
| 
 | ||||
| /*# sourceMappingURL=maps/print.css.map */ | ||||
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/404.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 38 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/HPE.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 14 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/IBM.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 10 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/conference_bg.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 5.3 MiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/content-image.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 1 MiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/favicon.ico
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/hobart_bg.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 1 MiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/listing_350_1275544711-500x500.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 38 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/speaker-1.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 522 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/speaker-2.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 821 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/speaker-3.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 6.4 MiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/speaker-4.jpeg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 3 MiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/speaker-4.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 3 MiB | 
							
								
								
									
										12
									
								
								static/src/lca2017/images/svgs/github.svg
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1,12 @@ | |||
| <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 55.76"> | ||||
|     <defs> | ||||
|         <style> | ||||
|             .squid { | ||||
|                 fill: currentColor; | ||||
|             } | ||||
|         </style> | ||||
|     </defs> | ||||
|     <title>gitlab</title> | ||||
|     <path class="squid" d="M57,28.5A28.5,28.5,0,1,0,20.17,55.76l0-.06a1.47,1.47,0,0,0,1.29-.82V49.23s-3.84.59-5.61-.08-3-1.65-4.35-4.9-3.45-2.67-3.69-3.84,2.27-.67,3.13-0.16a8.88,8.88,0,0,1,2.24,2.16c0.71,0.86,1.69,3.3,5.06,3.3a5.2,5.2,0,0,0,2.31-.08A11.15,11.15,0,0,1,21.86,45a4.64,4.64,0,0,1,1.49-4S11,40.84,10.56,28.21c0,0-.08-5.33,3.06-8.55a13.43,13.43,0,0,1,.08-7.43s3.82-.47,7.79,3a19.3,19.3,0,0,1,6.9-1.15,24.15,24.15,0,0,1,7.48,1.2,13.29,13.29,0,0,1,7.58-3.09,12.45,12.45,0,0,1,.21,7.32,11.54,11.54,0,0,1,3,8.05c0,5.23-1.78,12.5-12.86,13.39,0,0,1.88,2.51,1.88,4.71s-0.1,8.47-.1,8.47a1.76,1.76,0,0,0,1.35,1.61A28.51,28.51,0,0,0,57,28.5Z" | ||||
|     transform="translate(0)" /> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 934 B | 
							
								
								
									
										6
									
								
								static/src/lca2017/images/svgs/hamburger.svg
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1,6 @@ | |||
| <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||||
| 	 viewBox="0 0 28.9 29" style="enable-background:new 0 0 28.9 29;" xml:space="preserve"> | ||||
| <line id="bottom" fill="none" stroke="currentColor" stroke-width="3" x1="0" y1="27.5" x2="28.9" y2="27.5"/> | ||||
| <line id="top" fill="none" stroke="currentColor" stroke-width="3" x1="0" y1="1.5" x2="28.9" y2="1.5"/> | ||||
| <line id="middle" fill="none" stroke="currentColor" stroke-width="3" x1="0" y1="14.5" x2="28.9" y2="14.5"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 541 B | 
| After Width: | Height: | Size: 16 KiB | 
							
								
								
									
										1
									
								
								static/src/lca2017/images/svgs/illustrations/bridge.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 10 KiB | 
							
								
								
									
										1
									
								
								static/src/lca2017/images/svgs/illustrations/casino.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										1
									
								
								static/src/lca2017/images/svgs/illustrations/cradle.svg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										1
									
								
								static/src/lca2017/images/svgs/illustrations/devil.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 24 KiB | 
							
								
								
									
										1
									
								
								static/src/lca2017/images/svgs/illustrations/falls.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 30 KiB | 
							
								
								
									
										1
									
								
								static/src/lca2017/images/svgs/illustrations/hobart.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.6 KiB | 
| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										1
									
								
								static/src/lca2017/images/svgs/illustrations/tuz.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 26 KiB | 
| After Width: | Height: | Size: 18 KiB | 
							
								
								
									
										1
									
								
								static/src/lca2017/images/svgs/lca2017-website-logo.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 14 KiB | 
							
								
								
									
										25
									
								
								static/src/lca2017/images/svgs/linkedin.svg
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1,25 @@ | |||
| <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 57 57"> | ||||
|     <defs> | ||||
|         <style> | ||||
|             .li-cls-1 { | ||||
|                 fill: none; | ||||
|             } | ||||
| 
 | ||||
|             .li-cls-2 { | ||||
|                 clip-path: url(#clip-path); | ||||
|             } | ||||
| 
 | ||||
|             .li-cls-3 { | ||||
|                 fill: currentColor; | ||||
|             } | ||||
|         </style> | ||||
|         <clipPath id="clip-path"> | ||||
|             <rect class="li-cls-1" width="57" height="57" /> | ||||
|         </clipPath> | ||||
|     </defs> | ||||
|     <title>linked in</title> | ||||
|     <g class="li-cls-2"> | ||||
|         <path class="li-cls-3" d="M41.48,38.41H36.07V29.7c0-2.19-.78-3.68-2.74-3.68a3,3,0,0,0-2.78,2,3.68,3.68,0,0,0-.18,1.32v9.09H25S25,23.66,25,22.13h5.41v2.3a5.37,5.37,0,0,1,4.88-2.69c3.56,0,6.23,2.32,6.23,7.32v9.33ZM19.26,19.91h0a2.82,2.82,0,1,1,.07-5.63,2.82,2.82,0,1,1,0,5.63M22,38.41H16.55V22.13H22V38.41ZM28.5,0A28.5,28.5,0,1,0,57,28.5,28.5,28.5,0,0,0,28.5,0" | ||||
|         /> | ||||
|     </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 981 B | 
							
								
								
									
										62
									
								
								static/src/lca2017/images/svgs/logo.svg
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1,62 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  --> | ||||
| <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||||
| 	 viewBox="0 0 352.7 98.6" enable-background="new 0 0 352.7 98.6" xml:space="preserve"> | ||||
| <g> | ||||
| 	<path fill="#3BB0C9" d="M212.7,88.8v0.5l-3.5,8.3l4.7,1l3.7-9.5v-4.7h-9.6v4.4H212.7z M201.4,84.4l-4.9,2.9l1.3,3.4l2.9-1.2v8.8 | ||||
| 		h4.8V84.4H201.4z M189.4,88.7c0.1,0.2,0.1,0.6,0.1,1c0,0.4,0,1.1,0,2.2c0,1.1,0,1.8-0.1,2.2c-0.1,0.4-0.3,0.6-0.6,0.6 | ||||
| 		s-0.5-0.2-0.6-0.6c-0.1-0.4-0.1-1.3-0.1-2.7c0-1.4,0-2.3,0.1-2.7c0.1-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.1,0.4-0.1s0.3,0,0.4,0.1 | ||||
| 		C189.3,88.3,189.4,88.4,189.4,88.7 M184.6,96.9c0.8,1.1,2.2,1.7,4.3,1.7c2.1,0,3.5-0.6,4.3-1.7c0.8-1.1,1.2-3,1.2-5.6 | ||||
| 		c0-2.6-0.4-4.4-1.2-5.5c-0.8-1.1-2.2-1.7-4.3-1.7s-3.5,0.6-4.3,1.7c-0.8,1.1-1.2,3-1.2,5.5C183.3,93.9,183.7,95.8,184.6,96.9 | ||||
| 		 M181.1,94.5h-4.3l1.4-1c1.2-0.8,1.9-1.6,2.4-2.3c0.4-0.7,0.6-1.7,0.6-3c0-1.3-0.5-2.3-1.4-3c-0.9-0.7-2.2-1.1-3.8-1.1 | ||||
| 		s-3.1,0.3-4.6,0.8l0.2,3.6l0.4-0.1c0.8-0.2,1.8-0.2,2.8-0.2c0.5,0,0.9,0,1.1,0.1c0.2,0.1,0.3,0.3,0.3,0.7c0,0.2,0,0.3-0.1,0.5 | ||||
| 		c0,0.1-0.2,0.4-0.3,0.7c-0.2,0.3-0.4,0.6-0.7,0.8l-0.9,0.9c-0.4,0.4-0.7,0.7-1.1,1.1l-1.8,1.8v3.6h9.7V94.5z M159.9,93.9l4.1-9.7 | ||||
| 		h-5.2l-1.4,4.2l-1.3-4.2H151l4,9.7v4.4h4.9V93.9z M142.5,90.8V88h1.1c0.8,0,1.2,0.5,1.2,1.4c0,0.9-0.3,1.4-1,1.4H142.5z | ||||
| 		 M144.5,98.3h5l-1.4-4.8c1-0.8,1.6-2.3,1.6-4.2c0-2-0.5-3.3-1.4-4s-2.5-1.1-4.7-1.1h-6v14.2h4.9v-3.7h1.2L144.5,98.3z M129.2,88 | ||||
| 		L130,93h-2.1l0.8-4.9H129.2z M126.9,98.3l0.3-1.6h3.2l0.4,1.6h4.9l-3.2-14.2h-7.4l-3.1,14.2H126.9z M107.9,84.2v9.1 | ||||
| 		c0,2,0.5,3.4,1.5,4.2c1,0.8,2.6,1.2,4.7,1.2c2.1,0,3.7-0.4,4.7-1.2c1-0.8,1.5-2.2,1.5-4.2v-9h-4.9v9.3c0,0.4-0.1,0.7-0.3,0.9 | ||||
| 		s-0.5,0.3-1,0.3c-0.5,0-0.8-0.1-1-0.3c-0.2-0.2-0.3-0.5-0.3-0.9v-9.3H107.9z M97.1,98.3v-5.8h0.3l3.2,5.8h4.8V84.2h-4.9v5.4h-0.3 | ||||
| 		L97,84.2h-4.8v14.2H97.1z M83.8,88l0.8,4.9h-2.1l0.8-4.9H83.8z M81.5,98.3l0.3-1.6h3.2l0.4,1.6h4.9l-3.2-14.2h-7.4l-3.1,14.2H81.5z | ||||
| 		 M70,84.2v7.4c0,1,0,1.7-0.1,2.1c0,0.3-0.1,0.4-0.1,0.5c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.2,0.1-0.3,0.1c-0.1,0-0.2,0-0.4,0v4 | ||||
| 		c0.8,0,1.5,0,2.1-0.1c1.4-0.1,2.3-0.4,2.8-0.9c0.7-0.6,1-1.7,1-3V84.2H70z M56.7,88.7c0.1,0.2,0.1,0.6,0.1,1c0,0.4,0,1.1,0,2.2 | ||||
| 		c0,1.1,0,1.8-0.1,2.2c-0.1,0.4-0.3,0.6-0.6,0.6c-0.3,0-0.5-0.2-0.6-0.6c-0.1-0.4-0.1-1.3-0.1-2.7c0-1.4,0-2.3,0.1-2.7 | ||||
| 		c0.1-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.1,0.4-0.1s0.3,0,0.4,0.1C56.6,88.3,56.7,88.4,56.7,88.7 M51.8,96.9 | ||||
| 		c0.8,1.1,2.2,1.7,4.3,1.7s3.5-0.6,4.3-1.7c0.8-1.1,1.2-3,1.2-5.6c0-2.6-0.4-4.4-1.2-5.5c-0.8-1.1-2.2-1.7-4.3-1.7 | ||||
| 		c-2,0-3.5,0.6-4.3,1.7c-0.8,1.1-1.2,3-1.2,5.5C50.6,93.9,51,95.8,51.8,96.9 M48.3,94.5h-4.3l1.4-1c1.2-0.8,1.9-1.6,2.4-2.3 | ||||
| 		c0.4-0.7,0.6-1.7,0.6-3c0-1.3-0.5-2.3-1.4-3c-0.9-0.7-2.2-1.1-3.8-1.1c-1.6,0-3.1,0.3-4.6,0.8l0.2,3.6l0.4-0.1 | ||||
| 		c0.8-0.2,1.8-0.2,2.8-0.2c0.5,0,0.9,0,1.1,0.1c0.2,0.1,0.3,0.3,0.3,0.7c0,0.2,0,0.3-0.1,0.5c0,0.1-0.2,0.4-0.3,0.7 | ||||
| 		c-0.2,0.3-0.4,0.6-0.7,0.8l-0.9,0.9c-0.4,0.4-0.7,0.7-1.1,1.1l-1.8,1.8v3.6h9.7V94.5z M35.9,89.1H25.3v4.2h10.6V89.1z M18.9,93.8 | ||||
| 		c0,0.7-0.3,1-1,1c-0.5,0-0.8-0.1-0.9-0.4c-0.2-0.3-0.2-0.7-0.2-1.4c0.4-0.2,0.8-0.3,1.2-0.3C18.6,92.8,18.9,93.1,18.9,93.8 | ||||
| 		 M22.5,88.3l0.3-3.5l-0.8-0.2c-1.6-0.4-3-0.5-4.2-0.5c-0.7,0-1.4,0.1-2.1,0.3c-0.7,0.2-1.3,0.6-1.8,1.1c-1.2,1.1-1.7,3.1-1.7,5.9 | ||||
| 		c0,2.4,0.5,4.1,1.4,5.3c0.9,1.2,2.3,1.8,4.3,1.8c1.6,0,2.9-0.4,3.9-1.2c0.9-0.8,1.4-2,1.4-3.6c0-1.6-0.4-2.8-1.1-3.6 | ||||
| 		c-0.8-0.8-1.9-1.2-3.6-1.2c-0.5,0-1,0.1-1.5,0.3l-0.2,0.1c0-0.5,0.2-0.8,0.4-1.1c0.2-0.2,0.6-0.4,1.2-0.4 | ||||
| 		C19.6,88,21,88.1,22.5,88.3 M5.1,84.4l-4.9,2.9l1.3,3.4l2.9-1.2v8.8h4.8V84.4H5.1z"/> | ||||
| 	<path fill="#0B486B" d="M325.3,42.4v20c0,4.4,1.1,7.4,3.3,9.2c2.2,1.7,5.7,2.6,10.4,2.6c4.7,0,8.2-0.9,10.4-2.7 | ||||
| 		c2.2-1.8,3.3-4.9,3.3-9.3V42.4h-10.8v20.4c0,0.9-0.2,1.5-0.7,1.9c-0.4,0.4-1.2,0.6-2.2,0.6c-1.1,0-1.8-0.2-2.3-0.6 | ||||
| 		c-0.4-0.4-0.7-1-0.7-1.9V42.4H325.3z M307,50.9l1.7,10.9h-4.6l1.8-10.9H307z M302,73.5l0.7-3.6h7.1l0.9,3.6h10.9l-7-31.1h-16.3 | ||||
| 		l-6.9,31.1H302z M287.8,64.3h-10.6v9.2h10.6V64.3z M261.4,73.5V65h8.9v-8.8h-8.9v-5h11.7v-8.8h-22.4v31.1H261.4z M226.6,73.5V60.9 | ||||
| 		h0.7l7.1,12.7h10.6V42.4h-10.8v11.8h-0.7l-7.2-11.8h-10.6v31.1H226.6z M207.4,45.6c-2.4-2.6-6.1-3.8-11.3-3.8 | ||||
| 		c-5.2,0-8.9,1.3-11.3,3.8c-2.4,2.6-3.5,6.7-3.5,12.3c0,5.7,1.2,9.8,3.6,12.3c2.4,2.6,6.1,3.9,11.3,3.9c5.2,0,8.9-1.3,11.3-3.8 | ||||
| 		c2.4-2.6,3.5-6.7,3.5-12.3C211,52.3,209.8,48.2,207.4,45.6 M192.9,52.3c0.5-1.2,1.6-1.7,3.2-1.7s2.7,0.6,3.2,1.7 | ||||
| 		c0.5,1.1,0.7,3,0.7,5.7c0,2.7-0.2,4.6-0.7,5.7c-0.5,1.1-1.6,1.7-3.2,1.7c-1.6,0-2.7-0.6-3.2-1.7c-0.5-1.2-0.8-3.1-0.8-5.7 | ||||
| 		C192.2,55.3,192.4,53.4,192.9,52.3 M177,64.8l-7.3,0.3c-1.5,0-2.5-0.2-3.2-0.5c-0.7-0.3-1.1-1-1.4-2c-0.3-1-0.4-2.8-0.4-5.3 | ||||
| 		c0-2.6,0.3-4.3,0.9-5.1c0.6-0.8,2-1.2,4.2-1.2c2.2,0,4.5,0.2,7,0.5l0.3-8.3l-1.6-0.3c-3-0.6-5.7-0.9-7.9-0.9c-5.4,0-9,1.1-10.9,3.4 | ||||
| 		c-1.9,2.3-2.9,6.5-2.9,12.7c0,4.3,0.4,7.6,1.2,9.9s2.2,3.9,4,4.9c1.9,1,4.5,1.5,7.9,1.5c3.4,0,6.8-0.4,10.1-1.2L177,64.8z | ||||
| 		 M149.2,64.3h-10.6v9.2h10.6V64.3z M107.4,42.4l6.6,16.2l-6.6,14.9h11l2.8-8.3l2.7,8.3H135l-6.3-16.3l6.7-14.8h-10.6l-3.6,8.6 | ||||
| 		l-2.8-8.6H107.4z M76.4,42.4v20c0,4.4,1.1,7.4,3.3,9.2c2.2,1.7,5.7,2.6,10.4,2.6s8.2-0.9,10.4-2.7c2.2-1.8,3.3-4.9,3.3-9.3V42.4H93 | ||||
| 		v20.4c0,0.9-0.2,1.5-0.7,1.9c-0.4,0.4-1.2,0.6-2.2,0.6c-1.1,0-1.8-0.2-2.3-0.6c-0.4-0.4-0.7-1-0.7-1.9V42.4H76.4z M52.6,73.5V60.9 | ||||
| 		h0.7l7.1,12.7H71V42.4H60.2v11.8h-0.7l-7.2-11.8H41.8v31.1H52.6z M36.3,42.4H25.5v31.1h10.8V42.4z M20.9,64.8H10.8V42.4H0v31.1 | ||||
| 		h20.9V64.8z"/> | ||||
| 	<path fill="#0B486B" d="M167.3,9.4v22.4h10.8V9.4h6V0.6h-23.2v8.8H167.3z M141.2,15.2V9.1h2.4c1.7,0,2.6,1,2.6,3c0,2-0.8,3-2.3,3 | ||||
| 		H141.2z M145.7,31.7h11l-3.1-10.6c2.3-1.9,3.4-4.9,3.4-9.3c0-4.3-1-7.3-3.1-8.9c-2.1-1.6-5.5-2.4-10.3-2.4h-13.1v31.1h10.8v-8h2.6 | ||||
| 		L145.7,31.7z M112.1,9.1l1.7,10.9h-4.6l1.8-10.9H112.1z M107,31.7l0.7-3.6h7.1l0.9,3.6h10.9l-7-31.1h-16.3l-6.9,31.1H107z | ||||
| 		 M82.2,8.3c0.4,0.4,0.6,1,0.6,1.9s-0.2,1.5-0.6,1.9c-0.4,0.4-1,0.6-2,0.6h-2.4v-5h2.4C81.1,7.7,81.8,7.9,82.2,8.3 M82.5,20 | ||||
| 		c0.4,0.4,0.6,1,0.6,2c0,1-0.2,1.6-0.6,2c-0.4,0.4-1.1,0.5-2.2,0.5h-2.5v-5.1h2.5C81.4,19.4,82.1,19.6,82.5,20 M67.1,31.7h14.3 | ||||
| 		c8,0,12-2.9,12-8.8c0-2.2-0.3-3.8-0.9-4.7c-0.6-0.9-1.6-1.7-3.1-2.4c1.3-0.9,2.2-1.9,2.6-3c0.4-1.1,0.6-2.6,0.6-4.5 | ||||
| 		c0-5.1-3.8-7.7-11.4-7.7H67.1V31.7z M58.7,3.8C56.3,1.3,52.5,0,47.4,0c-5.2,0-8.9,1.3-11.3,3.8c-2.4,2.6-3.5,6.7-3.5,12.3 | ||||
| 		c0,5.7,1.2,9.8,3.6,12.3c2.4,2.6,6.1,3.9,11.3,3.9c5.2,0,8.9-1.3,11.3-3.8c2.4-2.6,3.5-6.7,3.5-12.3C62.2,10.5,61,6.4,58.7,3.8 | ||||
| 		 M44.2,10.5c0.5-1.2,1.6-1.7,3.2-1.7s2.7,0.6,3.2,1.7c0.5,1.1,0.7,3,0.7,5.7s-0.2,4.6-0.7,5.7c-0.5,1.1-1.6,1.7-3.2,1.7 | ||||
| 		c-1.6,0-2.7-0.6-3.2-1.7c-0.5-1.2-0.8-3.1-0.8-5.7C43.4,13.5,43.7,11.6,44.2,10.5 M27.7,31.7V0.6H16.9v11.5h-6.1V0.6H0v31.1h10.8 | ||||
| 		V20.9h6.1v10.9H27.7z"/> | ||||
| </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 6.6 KiB | 
							
								
								
									
										25
									
								
								static/src/lca2017/images/svgs/twitter.svg
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1,25 @@ | |||
| <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 57 57"> | ||||
|     <defs> | ||||
|         <style> | ||||
|             .twtr-cls-1 { | ||||
|                 fill: none; | ||||
|             } | ||||
| 
 | ||||
|             .twtr-cls-2 { | ||||
|                 clip-path: url(#clip-path); | ||||
|             } | ||||
| 
 | ||||
|             .twtr-cls-3 { | ||||
|                 fill: currentColor; | ||||
|             } | ||||
|         </style> | ||||
|         <clipPath id="clip-path" transform="translate(0 0)"> | ||||
|             <rect class="twtr-cls-1" width="57" height="57" /> | ||||
|         </clipPath> | ||||
|     </defs> | ||||
|     <title>twitter</title> | ||||
|     <g class="twtr-cls-2"> | ||||
|         <path class="twtr-cls-3" d="M39.83,22.69c0,0.25,0,.5,0,0.75,0,7.73-5.88,16.64-16.64,16.64a16.55,16.55,0,0,1-9-2.63,12.38,12.38,0,0,0,1.4.08A11.72,11.72,0,0,0,22.91,35,5.86,5.86,0,0,1,17.45,31a6,6,0,0,0,1.1.1,5.89,5.89,0,0,0,1.54-.2,5.86,5.86,0,0,1-4.69-5.73V25.07A5.82,5.82,0,0,0,18,25.8,5.85,5.85,0,0,1,16.23,18,16.59,16.59,0,0,0,28.29,24.1a5.85,5.85,0,0,1,10-5.33A11.66,11.66,0,0,0,42,17.35a5.87,5.87,0,0,1-2.57,3.24,11.65,11.65,0,0,0,3.36-.92,11.84,11.84,0,0,1-2.92,3M28.5,0A28.5,28.5,0,1,0,57,28.5,28.5,28.5,0,0,0,28.5,0" | ||||
|         transform="translate(0 0)" /> | ||||
|     </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.2 KiB | 
							
								
								
									
										25
									
								
								static/src/lca2017/images/svgs/website.svg
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1,25 @@ | |||
| <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 57 57"> | ||||
|     <defs> | ||||
|         <style> | ||||
|             .web-cls-1 { | ||||
|                 fill: none; | ||||
|             } | ||||
| 
 | ||||
|             .web-cls-2 { | ||||
|                 clip-path: url(#clip-path); | ||||
|             } | ||||
| 
 | ||||
|             .web-cls-3 { | ||||
|                 fill: currentColor; | ||||
|             } | ||||
|         </style> | ||||
|         <clipPath id="clip-path"> | ||||
|             <rect class="web-cls-1" width="57" height="57" /> | ||||
|         </clipPath> | ||||
|     </defs> | ||||
|     <title>website</title> | ||||
|     <g class="web-cls-2"> | ||||
|         <path class="web-cls-3" d="M33.78,43.33A9.74,9.74,0,0,1,27,40.49l-2.84-2.84a1.1,1.1,0,0,1,0-1.59l1.59-1.59a1.09,1.09,0,0,1,1.59,0l2.84,2.84a5,5,0,1,0,7-7l-2.84-2.84a1.1,1.1,0,0,1,0-1.59l1.59-1.59a1.1,1.1,0,0,1,1.59,0l2.84,2.84a9.56,9.56,0,0,1,2.84,6.82,9.41,9.41,0,0,1-9.44,9.44M23.21,24.81l1.59-1.59a1.09,1.09,0,0,1,1.59,0l7.5,7.5a1.09,1.09,0,0,1,0,1.59L32.3,33.9a1.09,1.09,0,0,1-1.59,0l-7.5-7.5a1.09,1.09,0,0,1,0-1.59m-0.57,6.48-1.59,1.59a1.1,1.1,0,0,1-1.59,0L16.62,30a9.56,9.56,0,0,1,6.71-16.37,9.72,9.72,0,0,1,6.82,2.84L33,19.35a1.09,1.09,0,0,1,0,1.59L31.4,22.53a1.1,1.1,0,0,1-1.6,0L27,19.69a5,5,0,0,0-3.52-1.48,5,5,0,0,0-5,5,5,5,0,0,0,1.48,3.52l2.84,2.84a1.81,1.81,0,0,1-.11,1.7M28.5,0A28.5,28.5,0,1,0,57,28.5,28.5,28.5,0,0,0,28.5,0" | ||||
|         /> | ||||
|     </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/wineglass_bg.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 11 MiB | 
							
								
								
									
										
											BIN
										
									
								
								static/src/lca2017/images/wrest-point_bg.jpg
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 2.2 MiB | 
							
								
								
									
										183
									
								
								static/src/lca2017/js/app.js
									
										
									
									
									
										Executable file
									
								
							
							
						
						|  | @ -0,0 +1,183 @@ | |||
| (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||||
| 'use strict'; | ||||
| 
 | ||||
| var u = require('./includes/utils'); | ||||
| 
 | ||||
| var debug = function debug(msg) { | ||||
| 	return console.log(msg); | ||||
| }; | ||||
| 
 | ||||
| var setupTabs = require('./components/tabbed-panel'); | ||||
| 
 | ||||
| u.documentReady(function () { | ||||
| 	if (document.querySelector('[data-tab-control]')) { | ||||
| 		setupTabs(); | ||||
| 	} | ||||
| 
 | ||||
| 	var menuOpener = document.querySelector('[data-menu-opener]'); | ||||
| 	u.addEventListener(menuOpener, 'click', function (e) { | ||||
| 		e.preventDefault(); | ||||
| 		u.toggleClass(this, 'is-active'); | ||||
| 		u.toggleClass(document.querySelector('[data-menu]'), 'is-active'); | ||||
| 	}); | ||||
| }); | ||||
| 
 | ||||
| },{"./components/tabbed-panel":2,"./includes/utils":3}],2:[function(require,module,exports){ | ||||
| 'use strict'; | ||||
| 
 | ||||
| var u = require('../includes/utils'); | ||||
| 
 | ||||
| function setupTabs() { | ||||
| 	var elements = document.querySelectorAll('[data-tab-control]'); | ||||
| 
 | ||||
| 	for (var x = 0; x < elements.length; x++) { | ||||
| 		u.addEventListener(elements[x], 'click', tabClickhandler); | ||||
| 	} | ||||
| 	//Activate the first
 | ||||
| 	var event = document.createEvent('Events'); | ||||
| 	event.initEvent('click', true, false); | ||||
| 	elements[0].dispatchEvent(event); | ||||
| } | ||||
| 
 | ||||
| function tabClickhandler(e) { | ||||
| 	e.preventDefault(); | ||||
| 	var active = document.querySelectorAll('[data-tab-control].is-active, [data-tab-content].is-active'); | ||||
| 	if (active) { | ||||
| 		for (var y = 0; y < active.length; y++) { | ||||
| 			u.removeClass(active[y], 'is-active'); | ||||
| 		} | ||||
| 	} | ||||
| 	u.addClass(this, 'is-active'); | ||||
| 	var targetData = this.dataset.tabControl; | ||||
| 	var targetContent = document.querySelectorAll('[data-tab-content="' + targetData + '"]'); | ||||
| 	for (var z = 0; z < targetContent.length; z++) { | ||||
| 		u.addClass(targetContent[z], 'is-active'); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| module.exports = setupTabs; | ||||
| 
 | ||||
| },{"../includes/utils":3}],3:[function(require,module,exports){ | ||||
| "use strict"; | ||||
| 
 | ||||
| module.exports = { | ||||
| 	getRandomInRange: getRandomInRange, | ||||
| 	getAnchorTarget: getAnchorTarget, | ||||
| 	documentReady: documentReady, | ||||
| 	addClass: addClass, | ||||
| 	hasClass: hasClass, | ||||
| 	removeClass: removeClass, | ||||
| 	toggleClass: toggleClass, | ||||
| 	addEventListener: addEventListener, | ||||
| 	getUrl: getUrl | ||||
| }; | ||||
| 
 | ||||
| function getRandomInRange(from, to) { | ||||
| 	return (Math.random() * (to - from) + from).toFixed(0) * 1; | ||||
| } | ||||
| 
 | ||||
| function getAnchorTarget(link) { | ||||
| 	var id = link.hash.replace("#", ""); | ||||
| 	return document.getElementById(id) || null; | ||||
| } | ||||
| 
 | ||||
| function addClass(element, className) { | ||||
| 	if (element instanceof SVGElement) { | ||||
| 		element.setAttribute('class', element.getAttribute('class') + ' ' + className); | ||||
| 	} else { | ||||
| 		if (element.classList) { | ||||
| 			element.classList.add(className); | ||||
| 		} else { | ||||
| 			element.className += ' ' + className; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function removeClass(element, className) { | ||||
| 	if (element instanceof SVGElement) { | ||||
| 		var updatedClassListString = element.getAttribute('class').replace(new RegExp('(\\s|^)' + className + '(\\s|$)', 'g'), '$2'); | ||||
| 		element.setAttribute('class', updatedClassListString); | ||||
| 	} else { | ||||
| 		if (element.classList) { | ||||
| 			element.classList.remove(className); | ||||
| 		} else { | ||||
| 			var classes = element.className.split(' '); | ||||
| 			var existingIndex = classes.indexOf(className); | ||||
| 
 | ||||
| 			if (existingIndex >= 0) { | ||||
| 				classes.splice(existingIndex, 1); | ||||
| 			} | ||||
| 
 | ||||
| 			element.className = classes.join(' '); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function hasClass(element, className) { | ||||
| 	if (element instanceof SVGElement) { | ||||
| 		return new RegExp('(\\s|^)' + className + '(\\s|$)').test(element.getAttribute('class')); | ||||
| 	} else { | ||||
| 		if (element.classList) { | ||||
| 			return element.classList.contains(className); | ||||
| 		} else { | ||||
| 			return element.className.indexOf(className) !== -1; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function toggleClass(element, className) { | ||||
| 	if (element.classList) { | ||||
| 		element.classList.toggle(className); | ||||
| 	} else { | ||||
| 		var classes = element.className.split(' '); | ||||
| 		var existingIndex = classes.indexOf(className); | ||||
| 
 | ||||
| 		if (existingIndex >= 0) { | ||||
| 			classes.splice(existingIndex, 1); | ||||
| 		} else { | ||||
| 			classes.push(className); | ||||
| 		} | ||||
| 
 | ||||
| 		element.className = classes.join(' '); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function addEventListener(el, eventName, handler) { | ||||
| 	if (el.addEventListener) { | ||||
| 		el.addEventListener(eventName, handler); | ||||
| 	} else { | ||||
| 		el.attachEvent('on' + eventName, function () { | ||||
| 			handler.call(el); | ||||
| 		}); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function getUrl(path) { | ||||
| 	if (!window.location.origin) { | ||||
| 		window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : ''); | ||||
| 	} | ||||
| 
 | ||||
| 	if (path.indexOf('./') === 0) { | ||||
| 		path = path.slice(1); // Remove the .
 | ||||
| 		var existingPath = window.location.pathname || ''; | ||||
| 		return window.location.origin + existingPath + path; | ||||
| 	} else if (path) { | ||||
| 		return window.location.origin + path; | ||||
| 	} else { | ||||
| 		return window.location.origin + window.location.pathname; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function documentReady(fn) { | ||||
| 	if (document.readyState != 'loading') { | ||||
| 		fn(); | ||||
| 	} else if (document.addEventListener) { | ||||
| 		document.addEventListener('DOMContentLoaded', fn); | ||||
| 	} else { | ||||
| 		document.attachEvent('onreadystatechange', function () { | ||||
| 			if (document.readyState != 'loading') fn(); | ||||
| 		}); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| },{}]},{},[1]); | ||||