├── .ruby-version ├── humans.txt ├── source ├── layouts │ ├── styleguide.css.scss │ ├── partials │ │ ├── _head.slim │ │ ├── _javascript.slim │ │ ├── _navigation.slim │ │ ├── _footer.slim │ │ ├── _sponsors.slim │ │ └── _sessions.slim │ ├── bare_layout.slim │ └── layout.slim ├── assets │ ├── javascripts │ │ ├── modules │ │ │ ├── _dates.js │ │ │ ├── _forms.js │ │ │ ├── _tabs.js │ │ │ ├── _accordion.js │ │ │ ├── _badges.js │ │ │ ├── _carousels.js │ │ │ ├── _dropdown.js │ │ │ ├── _modals.js │ │ │ ├── _navigation.js │ │ │ ├── _pagination.js │ │ │ ├── _popovers.js │ │ │ ├── _sharing.js │ │ │ ├── _tables.js │ │ │ ├── _thumbnails.js │ │ │ ├── _tooltips.js │ │ │ ├── _progress-bars.js │ │ │ ├── _visualizations.js │ │ │ └── _messaging.js │ │ ├── base.js │ │ ├── modules.js │ │ └── libs │ │ │ ├── selectivizr.js │ │ │ ├── modernizr.js │ │ │ └── zepto.js │ ├── stylesheets │ │ ├── modules │ │ │ ├── _tabs.css.scss │ │ │ ├── _accordion.css.scss │ │ │ ├── _badges.css.scss │ │ │ ├── _buttons.css.scss │ │ │ ├── _carousels.css.scss │ │ │ ├── _dates.css.scss │ │ │ ├── _dropdown.css.scss │ │ │ ├── _forms.css.scss │ │ │ ├── _modals.css.scss │ │ │ ├── _popovers.css.scss │ │ │ ├── _sharing.css.scss │ │ │ ├── _tables.css.scss │ │ │ ├── _tooltips.css.scss │ │ │ ├── _breadcrumbs.css.scss │ │ │ ├── _navigation.css.scss │ │ │ ├── _pagination.css.scss │ │ │ ├── _progress-bars.css.scss │ │ │ ├── _thumbnails.css.scss │ │ │ ├── _visualizations.css.scss │ │ │ └── _messaging.css.scss │ │ ├── structure │ │ │ ├── _print.css.scss │ │ │ ├── _icons.css.scss │ │ │ ├── _functions.css.scss │ │ │ ├── _utilities.css.scss │ │ │ ├── _grid.css.scss │ │ │ ├── _typography.css.scss │ │ │ ├── _mixins.css.scss │ │ │ ├── _variables.css.scss │ │ │ └── _normalize.css.scss │ │ ├── themes │ │ │ └── theme.css.scss │ │ ├── responsive │ │ │ ├── _hdd.css.scss │ │ │ ├── _medium.css.scss │ │ │ ├── _small.css.scss │ │ │ ├── _huge.css.scss │ │ │ └── _large.css.scss │ │ ├── base.css.scss │ │ └── scaffold.css.scss │ ├── images │ │ └── content │ │ │ ├── favicon.ico │ │ │ ├── blend-conf-icon.png │ │ │ ├── sponsors │ │ │ ├── adobe.png │ │ │ ├── awdg.png │ │ │ ├── cage.png │ │ │ ├── github.png │ │ │ ├── qcat.png │ │ │ ├── balsamiq.png │ │ │ ├── codepen.png │ │ │ ├── it-ology.png │ │ │ ├── mad*pow.png │ │ │ ├── mailchimp.png │ │ │ ├── rosenfeld.png │ │ │ ├── treehouse.png │ │ │ ├── usertesting.png │ │ │ ├── a-book-apart.png │ │ │ ├── digital-saber.png │ │ │ ├── lending-tree.png │ │ │ ├── packard-place.png │ │ │ ├── sticker-mule.png │ │ │ ├── aiga-charlotte.png │ │ │ ├── detailed-block.png │ │ │ ├── the-daemon-fund.png │ │ │ ├── the-idea-people.png │ │ │ └── cardinal-solutions.png │ │ │ ├── speakers │ │ │ ├── adam-connor.jpg │ │ │ ├── ashe-dryden.jpg │ │ │ ├── carl-smith.jpg │ │ │ ├── james-white.jpg │ │ │ ├── jina-bolton.jpg │ │ │ ├── john-long.jpg │ │ │ ├── marc-bolick.jpg │ │ │ ├── nick-finck.jpg │ │ │ ├── rik-catlow.jpg │ │ │ ├── ron-edelen.jpg │ │ │ ├── sara-blake.jpg │ │ │ ├── shay-howe.jpg │ │ │ ├── tim-smith.jpg │ │ │ ├── wren-lanier.jpg │ │ │ ├── yoko-harada.jpg │ │ │ ├── albert-banks.jpg │ │ │ ├── andrew-hinton.jpg │ │ │ ├── andrew-maier.jpg │ │ │ ├── ben-vandgrift.jpg │ │ │ ├── bryan-veloso.jpg │ │ │ ├── cameron-moll.jpg │ │ │ ├── greg-baugues.jpg │ │ │ ├── jason-vanlue.jpg │ │ │ ├── joel-van-dyke.jpg │ │ │ ├── larry-staton.jpg │ │ │ ├── lisa-welchman.jpg │ │ │ ├── marco-suarez.jpg │ │ │ ├── matt-stevens.jpg │ │ │ ├── meagan-fisher.jpg │ │ │ ├── mike-bifulco.jpg │ │ │ ├── mindy-wagner.jpg │ │ │ ├── rachel-nabors.jpg │ │ │ ├── rich-robinson.jpg │ │ │ ├── rikki-teeters.jpg │ │ │ ├── teresa-rench.jpg │ │ │ ├── tessa-harmon.jpg │ │ │ ├── vernon-kesner.jpg │ │ │ ├── amanda-costello.jpg │ │ │ ├── brandon-mathis.jpg │ │ │ ├── leslie-j-morse.jpg │ │ │ ├── magnus-bergmark.jpg │ │ │ ├── melinda-jackson.jpg │ │ │ ├── michael-chatten.jpg │ │ │ ├── pedro-sepulveda.jpg │ │ │ ├── rachel-parsons.jpg │ │ │ ├── rebecca-garcia.jpg │ │ │ ├── speaker-template.jpg │ │ │ ├── wynn-netherland.jpg │ │ │ ├── zoe-gillenwater.jpg │ │ │ ├── anders-frostenson.jpg │ │ │ ├── garren-dipasquale.jpg │ │ │ ├── garth-braithwaite.jpg │ │ │ ├── julie-ann-horvath.jpg │ │ │ ├── kendra-shillington.jpg │ │ │ ├── michael-parenteau.jpg │ │ │ ├── yesenia-perez-cruz.jpg │ │ │ ├── leslie-jensen-inman.jpg │ │ │ └── patrick-quattlebaum.jpg │ │ │ └── blend-conference-logo.png │ └── downloads │ │ ├── flemings-core-wine-list.pdf │ │ ├── flemings-dinner-options.pdf │ │ ├── flemings-local-wine-list.pdf │ │ ├── treehouse-media-release.pdf │ │ └── blendconf-speaker-agreement.pdf ├── schedule │ ├── template.html.slim │ └── index.html.slim ├── 2014.html.slim ├── speakers │ ├── index.html.slim │ └── template.html.slim ├── venue.html.slim ├── refund-policy.html.slim ├── wrapup.html.slim ├── purpose.html.slim ├── code-of-conduct.html.slim └── index.html.slim ├── CONTRIBUTE.md ├── config.ru ├── .gitignore ├── Gemfile ├── README.md ├── data ├── articles2013.yaml ├── sponsors.yml └── tweets2013.yml ├── Gemfile.lock └── config.rb /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.0.0-p247 2 | -------------------------------------------------------------------------------- /humans.txt: -------------------------------------------------------------------------------- 1 | humans.txt 2 | -------------------------------------------------------------------------------- /source/layouts/styleguide.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_dates.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_forms.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_tabs.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_accordion.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_badges.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_carousels.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_dropdown.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_modals.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_navigation.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_pagination.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_popovers.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_sharing.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_tables.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_thumbnails.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_tooltips.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_tabs.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CONTRIBUTE.md: -------------------------------------------------------------------------------- 1 | blendconf.com 2 | ========== 3 | 4 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_progress-bars.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_visualizations.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_accordion.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_badges.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_buttons.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_carousels.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_dates.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_dropdown.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_forms.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_modals.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_popovers.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_sharing.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_tables.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_tooltips.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_print.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_breadcrumbs.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_navigation.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_pagination.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_progress-bars.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_thumbnails.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_visualizations.css.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/assets/stylesheets/themes/theme.css.scss: -------------------------------------------------------------------------------- 1 | @import "compass"; 2 | -------------------------------------------------------------------------------- /config.ru: -------------------------------------------------------------------------------- 1 | require 'rubygems' 2 | require 'middleman' 3 | 4 | run Middleman.server -------------------------------------------------------------------------------- /source/assets/images/content/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/favicon.ico -------------------------------------------------------------------------------- /source/assets/stylesheets/responsive/_hdd.css.scss: -------------------------------------------------------------------------------- 1 | // 2x styles ----------------------------------------------------------------- 2 | 3 | 4 | -------------------------------------------------------------------------------- /source/assets/images/content/blend-conf-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/blend-conf-icon.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/adobe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/adobe.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/awdg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/awdg.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/cage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/cage.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/github.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/qcat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/qcat.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/balsamiq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/balsamiq.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/codepen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/codepen.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/it-ology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/it-ology.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/mad*pow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/mad*pow.png -------------------------------------------------------------------------------- /source/assets/downloads/flemings-core-wine-list.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/downloads/flemings-core-wine-list.pdf -------------------------------------------------------------------------------- /source/assets/downloads/flemings-dinner-options.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/downloads/flemings-dinner-options.pdf -------------------------------------------------------------------------------- /source/assets/downloads/flemings-local-wine-list.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/downloads/flemings-local-wine-list.pdf -------------------------------------------------------------------------------- /source/assets/downloads/treehouse-media-release.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/downloads/treehouse-media-release.pdf -------------------------------------------------------------------------------- /source/assets/images/content/speakers/adam-connor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/adam-connor.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/ashe-dryden.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/ashe-dryden.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/carl-smith.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/carl-smith.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/james-white.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/james-white.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/jina-bolton.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/jina-bolton.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/john-long.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/john-long.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/marc-bolick.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/marc-bolick.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/nick-finck.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/nick-finck.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/rik-catlow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/rik-catlow.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/ron-edelen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/ron-edelen.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/sara-blake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/sara-blake.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/shay-howe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/shay-howe.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/tim-smith.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/tim-smith.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/wren-lanier.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/wren-lanier.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/yoko-harada.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/yoko-harada.jpg -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/mailchimp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/mailchimp.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/rosenfeld.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/rosenfeld.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/treehouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/treehouse.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/usertesting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/usertesting.png -------------------------------------------------------------------------------- /source/assets/downloads/blendconf-speaker-agreement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/downloads/blendconf-speaker-agreement.pdf -------------------------------------------------------------------------------- /source/assets/images/content/blend-conference-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/blend-conference-logo.png -------------------------------------------------------------------------------- /source/assets/images/content/speakers/albert-banks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/albert-banks.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/andrew-hinton.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/andrew-hinton.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/andrew-maier.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/andrew-maier.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/ben-vandgrift.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/ben-vandgrift.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/bryan-veloso.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/bryan-veloso.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/cameron-moll.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/cameron-moll.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/greg-baugues.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/greg-baugues.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/jason-vanlue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/jason-vanlue.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/joel-van-dyke.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/joel-van-dyke.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/larry-staton.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/larry-staton.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/lisa-welchman.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/lisa-welchman.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/marco-suarez.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/marco-suarez.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/matt-stevens.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/matt-stevens.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/meagan-fisher.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/meagan-fisher.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/mike-bifulco.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/mike-bifulco.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/mindy-wagner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/mindy-wagner.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/rachel-nabors.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/rachel-nabors.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/rich-robinson.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/rich-robinson.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/rikki-teeters.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/rikki-teeters.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/teresa-rench.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/teresa-rench.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/tessa-harmon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/tessa-harmon.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/vernon-kesner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/vernon-kesner.jpg -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/a-book-apart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/a-book-apart.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/digital-saber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/digital-saber.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/lending-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/lending-tree.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/packard-place.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/packard-place.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/sticker-mule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/sticker-mule.png -------------------------------------------------------------------------------- /source/assets/images/content/speakers/amanda-costello.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/amanda-costello.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/brandon-mathis.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/brandon-mathis.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/leslie-j-morse.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/leslie-j-morse.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/magnus-bergmark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/magnus-bergmark.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/melinda-jackson.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/melinda-jackson.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/michael-chatten.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/michael-chatten.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/pedro-sepulveda.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/pedro-sepulveda.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/rachel-parsons.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/rachel-parsons.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/rebecca-garcia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/rebecca-garcia.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/speaker-template.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/speaker-template.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/wynn-netherland.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/wynn-netherland.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/zoe-gillenwater.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/zoe-gillenwater.jpg -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/aiga-charlotte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/aiga-charlotte.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/detailed-block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/detailed-block.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/the-daemon-fund.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/the-daemon-fund.png -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/the-idea-people.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/the-idea-people.png -------------------------------------------------------------------------------- /source/assets/images/content/speakers/anders-frostenson.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/anders-frostenson.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/garren-dipasquale.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/garren-dipasquale.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/garth-braithwaite.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/garth-braithwaite.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/julie-ann-horvath.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/julie-ann-horvath.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/kendra-shillington.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/kendra-shillington.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/michael-parenteau.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/michael-parenteau.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/yesenia-perez-cruz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/yesenia-perez-cruz.jpg -------------------------------------------------------------------------------- /source/assets/images/content/sponsors/cardinal-solutions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/sponsors/cardinal-solutions.png -------------------------------------------------------------------------------- /source/assets/images/content/speakers/leslie-jensen-inman.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/leslie-jensen-inman.jpg -------------------------------------------------------------------------------- /source/assets/images/content/speakers/patrick-quattlebaum.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shanselman/blendconf.com/master/source/assets/images/content/speakers/patrick-quattlebaum.jpg -------------------------------------------------------------------------------- /source/assets/javascripts/modules/_messaging.js: -------------------------------------------------------------------------------- 1 | .message { 2 | &.warning { 3 | 4 | } 5 | &.error { 6 | 7 | } 8 | &.info { 9 | 10 | } 11 | &.success { 12 | 13 | } 14 | } -------------------------------------------------------------------------------- /source/assets/stylesheets/modules/_messaging.css.scss: -------------------------------------------------------------------------------- 1 | .message { 2 | &.warning { 3 | 4 | } 5 | &.error { 6 | 7 | } 8 | &.info { 9 | 10 | } 11 | &.success { 12 | 13 | } 14 | } -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_icons.css.scss: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------- 2 | // Icons, 3 | // TODO, find a nice font icon library 4 | // -------------------------------------------------- -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_functions.css.scss: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------- 2 | // hexagons 3 | // -------------------------------------------------- 4 | // Calculates the ratio for width/height of the hexagons 5 | @function calc-ratio($width, $height) { 6 | @return ($width / $height); 7 | } 8 | @function calc-height($width, $ratio) { 9 | @return ($width / $ratio); 10 | } 11 | -------------------------------------------------------------------------------- /source/layouts/partials/_head.slim: -------------------------------------------------------------------------------- 1 | meta charset="utf-8" 2 | 3 | / Use title if it's in the page YAML frontmatter 4 | title #{current_page.data.title} 5 | meta name="description" content="#{current_page.data.description}"/ 6 | 7 | / Prevents zooming 8 | meta name="viewport" content="width=device-width, initial-scale=1" 9 | 10 | == stylesheet_link_tag "base", "scaffold" 11 | == javascript_include_tag "libs/modernizr" 12 | -------------------------------------------------------------------------------- /source/layouts/partials/_javascript.slim: -------------------------------------------------------------------------------- 1 | == javascript_include_tag "libs/jquery", "modules", "base" 2 | 3 | / Google Analytics 4 | javascript: 5 | var _gaq=[['_setAccount','UA-41535095-1'],['_trackPageview']]; 6 | (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0]; 7 | g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js'; 8 | s.parentNode.insertBefore(g,s)}(document,'script')); 9 | -------------------------------------------------------------------------------- /source/layouts/bare_layout.slim: -------------------------------------------------------------------------------- 1 | doctype html 2 | 3 | /[if lt IE 7] 4 | html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en" 5 | /[if IE 7] 6 | html class="no-js lt-ie9 lt-ie8" lang="en" 7 | /[if IE 8] 8 | html class="no-js lt-ie9" lang="en" 9 | /[if gt IE 8] 10 | html class="no-js" lang="en" 11 | 12 | head 13 | == partial "/layouts/partials/head" 14 | 15 | body id="#{current_page.data.id}" 16 | 17 | #container role="main" 18 | 19 | == yield 20 | 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | # 3 | # If you find yourself ignoring temporary files generated by your text editor 4 | # or operating system, you probably want to add a global ignore instead: 5 | # git config --global core.excludesfile ~/.gitignore_global 6 | 7 | # Ignore bundler config 8 | /.bundle 9 | 10 | # Ignore the build directory 11 | # /build 12 | 13 | # Ignore Sass' cache 14 | /.sass-cache 15 | 16 | # Ignore system files 17 | .DS_Store 18 | -------------------------------------------------------------------------------- /source/layouts/partials/_navigation.slim: -------------------------------------------------------------------------------- 1 | - if current_page.data.id != "home" 2 | ruby: 3 | noHashLink = "/" 4 | 5 | nav role="navigation" 6 | a.home href="/" Home 7 | a#nav-toggle href="#nav-toggle" Menu 8 | ul 9 | li: a href="/wrapup/" Wrap-up 10 | li: a href="/purpose/" Purpose 11 | li: a href="/speakers/" Speakers 12 | li: a href="/schedule/" Schedule 13 | li: a href="/venue/" Venue 14 | / li: a href="/blog/" Blog 15 | li: a href="/code-of-conduct/" Code of Conduct 16 | li: a.button href="https://tito.io/blendconf/blendconf-2013" Sold Out 17 | -------------------------------------------------------------------------------- /source/layouts/layout.slim: -------------------------------------------------------------------------------- 1 | doctype html 2 | 3 | /[if lt IE 7] 4 | html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en" 5 | /[if IE 7] 6 | html class="no-js lt-ie9 lt-ie8" lang="en" 7 | /[if IE 8] 8 | html class="no-js lt-ie9" lang="en" 9 | /[if gt IE 8] 10 | html class="no-js" lang="en" 11 | 12 | head 13 | == partial "/layouts/partials/head" 14 | 15 | body id="#{current_page.data.id}" 16 | 17 | #container role="main" 18 | 19 | == yield 20 | 21 | == partial "/layouts/partials/sponsors" 22 | == partial "/layouts/partials/footer" 23 | 24 | == partial "/layouts/partials/navigation" 25 | 26 | == partial "/layouts/partials/javascript" 27 | 28 | 29 | -------------------------------------------------------------------------------- /source/assets/stylesheets/responsive/_medium.css.scss: -------------------------------------------------------------------------------- 1 | @include with-grid-settings(8) { 2 | #container { 3 | @include container; 4 | @include susy-grid-background; 5 | max-width: 100%; 6 | } 7 | #skinny { 8 | @include clearfix; 9 | li { 10 | @include span-columns(4); 11 | } 12 | li:nth-child(even) { 13 | @include omega(); 14 | } 15 | } 16 | #wrapup { 17 | .quotes { 18 | @include clearfix; 19 | li:nth-child(odd) { 20 | @include span-columns(4); 21 | } 22 | li:nth-child(even) { 23 | @include span-columns(4); 24 | @include omega; 25 | } 26 | } 27 | } 28 | } 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /source/schedule/template.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: ~ 3 | id: session-detail 4 | --- 5 | ruby: 6 | s = locals[:speaker] 7 | 8 | #masthead role="banner" 9 | h1= s.talk.title 10 | - if s.talk.slides 11 | a.slides href="#{s.talk.slides}" View Slides 12 | 13 | 14 | article.basic-content 15 | .talk-details 16 | == s.talk.desc 17 | 18 | .speaker-details 19 | h2 About #{s.name} 20 | == s.bio 21 | 22 | / aside 23 | / a href="http://twitter.com/#{s.links.twitter}"= s.links.twitter 24 | / a href="http://github.com//#{s.links.github}"= s.links.github 25 | / a href="#{s.links.website}"= s.links.website 26 | / a href="http://dribbble.com/#{s.links.dribbble}"= s.links.dribbble 27 | 28 | == partial "/layouts/partials/navigation" -------------------------------------------------------------------------------- /source/layouts/partials/_footer.slim: -------------------------------------------------------------------------------- 1 | footer role="contentinfo" 2 | p © #{copyright_years(2013)} BlendConf, LLC. All rights reserved. Follow @blendconf or email us at hello@blendconf.com.
Organized by Bermon Painter. Find an error or want to add something? Pull requests are welcome over on GitHub. 3 | p 4 | |A couple of important items that we can't forget like the 5 | == link_to ' refund policy ', '/refund-policy/' 6 | | and 7 | == link_to ' code of conduct', '/code-of-conduct/' 8 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # If you have OpenSSL installed, we recommend updating 2 | # the following line to use "https" 3 | source 'https://rubygems.org' 4 | 5 | gem "middleman" 6 | gem "middleman-syntax" 7 | gem "middleman-deploy" 8 | gem "middleman-smusher" 9 | 10 | # Live-reloading plugin 11 | gem "middleman-livereload", "~> 3.1.0" 12 | 13 | # For faster file watcher updates on Windows: 14 | gem "wdm", "~> 0.1.0", :platforms => [:mswin, :mingw] 15 | gem "eventmachine", "~>1.0.3" 16 | require "em/pure_ruby" 17 | 18 | # Cross-templating language block fix for Ruby 1.8 19 | platforms :mri_18 do 20 | gem "ruby18_source_location" 21 | end 22 | 23 | # CSS Grid System 24 | gem "susy" 25 | 26 | # Slim HTML Preprocessor 27 | gem "slim" 28 | gem "redcarpet" 29 | 30 | # Living styleguide generator 31 | # gem "kss" -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_utilities.css.scss: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // utility classes 3 | // ---------------------------------------------------- 4 | 5 | // Quick floats 6 | .pull-right { 7 | float: right; 8 | } 9 | .pull-left { 10 | float: left; 11 | } 12 | 13 | // Toggling content 14 | .hide { 15 | display: none; 16 | } 17 | .show { 18 | display: block; 19 | } 20 | 21 | // Visibility 22 | .invisible { 23 | visibility: hidden; 24 | } 25 | 26 | .visible-phone{} 27 | .visible-tablet{} 28 | .visible-desktop{} 29 | 30 | .hidden-phone{} 31 | .hidden-tablet{} 32 | .hidden-desktop{} 33 | 34 | // clearfix 35 | .clearfix { 36 | @include clearfix(); 37 | } 38 | 39 | // image replacement 40 | .hide-text { 41 | @include hide-text(); 42 | } -------------------------------------------------------------------------------- /source/2014.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Blend Conference 2014 - Super Secret Unicorn Tickets 3 | id: unicorn-tickets 4 | --- 5 | 6 | == image_tag 'content/blend-conference-logo.png', :alt => 'Blend Conference' 7 | 8 | h1 Super Secret Unicorn Tickets 9 | 10 | p This is a super secret pass for BlendConf 2013 attendees. We'll be increasing the price a bit next year. We want to be able to up the quality of the conference just a little more and be able to pay our speakers for their time and the work it takes to create their presentations. To make that happen we'll up the price to $549. 11 | 12 | p For you, the folks that supported us for our very first year, we have 100 tickets available at the original price of $349. After each week the price will slowly increase $50. 13 | 14 | a.button href="https://tito.io/blendconf/blendconf2014?release_id=wgfzxwo-8jo" Purchase a ticket -------------------------------------------------------------------------------- /source/speakers/index.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Blend Conference - A 3 Day Conference about User Experience, UI Design, and Development in Charlotte, NC 3 | id: speaker-index 4 | --- 5 | 6 | #masthead role="banner" 7 | h1 50 Speakers Talking User Experience, Design, and Development 8 | 9 | article 10 | #speakers 11 | p We wanted some of the smartest & nicest folks in our industry to come to Charlotte. Boy were we excited when they said yes. Prepare to have your brains filled with some most excellent knowledge. 12 | ul.hive.hexagon 13 | - data.speakers.each do |speaker| 14 | li class="#{speaker.name.downcase.tr(" ", "-").tr(".", "")}" 15 | strong #{speaker.name} #{speaker.company.name} 16 | a href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/"
17 | 18 | == partial "/layouts/partials/navigation" 19 | -------------------------------------------------------------------------------- /source/speakers/template.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: ~ 3 | id: speaker-detail 4 | --- 5 | ruby: 6 | s = locals[:speaker] 7 | 8 | #masthead role="banner" 9 | h1= s.name 10 | a href="#{s.company.url}" #{s.company.name} 11 | 12 | 13 | article.basic-content 14 | .speaker-details 15 | h2 A little more about #{s.name.split[0..0].join(" ")} 16 | == s.bio 17 | 18 | .talk-details 19 | h2 #{s.name.split[0..0].join(" ")}'s Presentation 20 | 21 | - if s.talk.slides 22 | h3: a href="#{s.talk.slides}"== s.talk.title 23 | - else 24 | h3== s.talk.title 25 | 26 | p== s.talk.desc 27 | 28 | / aside 29 | / a href="http://twitter.com/#{s.links.twitter}"= s.links.twitter 30 | / a href="http://github.com//#{s.links.github}"= s.links.github 31 | / a href="#{s.links.website}"= s.links.website 32 | / a href="http://dribbble.com/#{s.links.dribbble}"= s.links.dribbble 33 | 34 | == partial "/layouts/partials/navigation" -------------------------------------------------------------------------------- /source/venue.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Venue - Blend Conference, Charlotte, NC 3 | id: venue-activities 4 | --- 5 | #masthead 6 | h1 The Venue 7 | 8 | article.basic-content 9 | 10 | h2 Classic Venue & Hotel in Downtown Charlotte 11 | 12 | p The conference will be held at The Sheraton (formerly the Blake Hotel).
The Sheraton is now full. 13 | 14 | p Hotels in downtown Charlotte have filled up. There is a 2nd very large convention at the Charlotte Convention Center the earlier part of the week. If you still haven't reserved your hotel room you could potentially find something on AirBNB. -------------------------------------------------------------------------------- /source/refund-policy.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Refund Policy - Blend Conference, Charlotte, NC 3 | backURL: ~ 4 | id: refund-policy 5 | --- 6 | #masthead 7 | h1 Refund Policy 8 | 9 | article.basic-content 10 | p If by chance you purchase your ticket and can no longer make it to Blend Conf, we recommend that you take a minute (or two) to review our return policy. 11 | 12 | h2 Refunds 13 | 14 | p If you decide to cancel your conference ticket, Blend Conf can refund you up until August 12th. There will be a $75 charge to to cancel and refund your ticket. After August 12th we won't be able to offer any refunds. We will be sending items to print and ordering a number of goodies (notebooks, tshirts, food) on August 12th which means that if you cancel after the 12th, the goodies still have to be paid for. 15 | 16 | h2 Transferring Your Pass 17 | 18 | p If you can't make it and would like to transfer your pass you can email us at tickets@blendconf.com and we'll take care of it for you. Like the refunds, the cutoff date for transfers will be August 12th. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BlendConf.com 2 | 3 | ## Installation 4 | 5 | The prototype was created with the static site generator Middleman. It requires Ruby to be installed. If you're using a Mac, Ruby is installed by default. If you're using Windows, you'll need to install Ruby first using the [RubyInstaller](http://rubyinstaller.org/). 6 | 7 | Open up your preferred command line application, change directories to the `blendconf.com` folder, and type the following (note: $ is just a representation of a command that should be typed in the command line, don't actually put it in the command line): 8 | 9 | $ gem install bundler 10 | 11 | Bundler is a package manager for Ruby that manages the dependencies that will need to be installed to run Middleman. Once bundler is installed then: 12 | 13 | $ bundle install 14 | 15 | ## Start Middleman 16 | 17 | This will install all of the required dependncies. You can now start up Middleman: 18 | 19 | $ bundle exec middleman 20 | 21 | This will start up a Sinatra server running Middleman. You can now view the prototype at [http://localhost:4567](http://localhost:4567). 22 | -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_grid.css.scss: -------------------------------------------------------------------------------- 1 | @import "variables"; 2 | //------------------------------------ 3 | // Grid 4 | //------------------------------------ 5 | .col-1, .col-2, .col-3, .col-4, .col-5, .col-6 { 6 | background-color: rgba(#666, .5); 7 | } 8 | .xx { 9 | > .col-1, 10 | > .col-2 { 11 | @include span-columns(8); 12 | } 13 | > .col-2 { 14 | @include omega; 15 | } 16 | } 17 | .xxx { 18 | > .col-1, 19 | > .col-2, 20 | > .col-3 { 21 | @include span-columns(5.11); 22 | } 23 | > .col-3 { 24 | @include omega; 25 | } 26 | } 27 | .xxxx { 28 | > .col-1, 29 | > .col-2, 30 | > .col-3, 31 | > .col-4 { 32 | @include span-columns(4); 33 | } 34 | > .col-4 { 35 | @include omega; 36 | } 37 | } 38 | .xxxxx { 39 | > .col-1, 40 | > .col-2, 41 | > .col-3, 42 | > .col-4, 43 | > .col-5 { 44 | @include span-columns(3); // Can't get this to calculate should be 18.8313% 45 | width: 18.73%; 46 | } 47 | > .col-5 { 48 | @include omega; 49 | } 50 | } 51 | 52 | .xxxxxx { 53 | > .col-1, 54 | > .col-2, 55 | > .col-3, 56 | > .col-4, 57 | > .col-5, 58 | > .col-6 { 59 | @include span-columns(2.55); 60 | } 61 | > .col-6 { 62 | @include omega; 63 | } 64 | } 65 | .xi { 66 | > .col-1 { 67 | @include span-columns(4); 68 | } 69 | > .col-2 { 70 | @include span-columns(12 omega); 71 | } 72 | } 73 | 74 | .ix { 75 | > .col-1 { 76 | @include span-columns(12); 77 | } 78 | > .col-2 { 79 | @include span-columns(4 omega); 80 | } 81 | } -------------------------------------------------------------------------------- /source/assets/javascripts/base.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function($) { 2 | $('#nav-toggle').on('click', function() { 3 | $(this).next().slideToggle(200); 4 | return false; 5 | }); 6 | // $('#home nav ul a').click(function(){ 7 | // $.scrollTo (this.hash, 1000, {offset: -36}); 8 | // if (Modernizr.mq('only screen and (max-width: 767px)')) { 9 | // $(this).parent().parent().slideUp(200); 10 | // } 11 | // if (this.attr('class') == 'button') { 12 | // return true; 13 | // } else { 14 | // return false; 15 | // } 16 | // }); 17 | 18 | // Make the speaker hexagon's clickable 19 | $('#speakers').find('li').click(function(){ 20 | window.location = $(this).find('a').attr('href'); 21 | return-false; 22 | }); 23 | 24 | $("a[data-type]").on('click',function(e){ 25 | var link = $(this).attr("href"); 26 | var outboundLinkType = $(this).data("type"); 27 | 28 | if (outboundLinkType == undefined || outboundLinkType == "") { 29 | outboundLinkType = "External"; 30 | } 31 | 32 | if (e.currentTarget.host != window.location.host) { 33 | _gat._getTrackerByName()._trackEvent(outboundLinkType, e.currentTarget, link, 0); 34 | if (e.metaKey || e.ctrlKey) { 35 | var newtab = true; 36 | } 37 | if (!newtab) { 38 | e.preventDefault(); 39 | setTimeout('document.location = "' + link + '"', 100); 40 | } 41 | } 42 | }); 43 | }); 44 | -------------------------------------------------------------------------------- /source/layouts/partials/_sponsors.slim: -------------------------------------------------------------------------------- 1 | #sponsors 2 | h2 Incredibly supportive sponsors that we love 3 | 4 | p We think sponsorship should be more than just a link and logo on a website. If you're looking to put your sponsorship dollars to use we have a few pretty nifty ideas to get you noticed and be a fun experience for our attendees. If you aren't boring you should contact us. 5 | 6 | ul.title 7 | - data.sponsors.each do |sponsor| 8 | - if sponsor.type == "title" 9 | li 10 | a href="#{sponsor.links.website}" title="#{sponsor.name}"==image_tag "content/sponsors/#{sponsor.name.downcase.tr(" ", "-").tr(".", "")}.png" 11 | ul.primary 12 | - data.sponsors.each do |sponsor| 13 | - if sponsor.type == "primary" 14 | li 15 | a href="#{sponsor.links.website}" title="#{sponsor.name}"==image_tag "content/sponsors/#{sponsor.name.downcase.tr(" ", "-").tr(".", "")}.png" 16 | 17 | ul.secondary 18 | - data.sponsors.each do |sponsor| 19 | - if sponsor.type == "secondary" 20 | li 21 | a href="#{sponsor.links.website}" title="#{sponsor.name}"==image_tag "content/sponsors/#{sponsor.name.downcase.tr(" ", "-").tr(".", "")}.png" 22 | 23 | ul.tertiary 24 | - data.sponsors.each do |sponsor| 25 | - if sponsor.type == "tertiary" 26 | li 27 | a href="#{sponsor.links.website}" title="#{sponsor.name}"==image_tag "content/sponsors/#{sponsor.name.downcase.tr(" ", "-").tr(".", "")}.png" 28 | 29 | ul.community 30 | - data.sponsors.each do |sponsor| 31 | - if sponsor.type == "community" 32 | li 33 | a href="#{sponsor.links.website}" title="#{sponsor.name}"==image_tag "content/sponsors/#{sponsor.name.downcase.tr(" ", "-").tr(".", "")}.png" 34 | 35 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base.css.scss: -------------------------------------------------------------------------------- 1 | // Compass needs to be loaded first to allow the use of 2 | // their mixins and various other goodies. 3 | @import "compass"; 4 | 5 | // Susy is a fixed or fluid width grid system built on 6 | // top of Compass. It needs to be loaded after Compass. 7 | // 8 | // if by chance you get the error "File to import not 9 | // found or unreadable: susy" clean up the sass cache 10 | // & recompile the SASS files with 'compass clean' via 11 | // the command line 12 | @import "susy"; 13 | 14 | // ---------------------------------------------------- 15 | // Base CSS 16 | // Built as a nice OOCSS system to make the creation of 17 | // individual pages easier to maintain & create. 18 | // 19 | // Combines the various structure, modules & responsive 20 | // partials. 21 | // ---------------------------------------------------- 22 | 23 | // Core variables and mixins 24 | @import "structure/variables"; 25 | @import "structure/mixins"; 26 | 27 | // CSS Reset 28 | @import "structure/normalize"; 29 | 30 | // Page structure 31 | @import "structure/utilities"; 32 | // @import "structure/grid"; 33 | @import "structure/typography"; 34 | // @import "structure/sprites"; 35 | // @import "structure/icons"; 36 | 37 | // modules: Navigation 38 | // @import "modules/navigation"; 39 | // @import "modules/tabs"; 40 | // @import "modules/dropdown"; 41 | // @import "modules/pagination"; 42 | // @import "modules/breadcrumbs"; 43 | 44 | // modules: Forms 45 | // @import "modules/forms"; 46 | // @import "modules/buttons"; 47 | 48 | // modules: Alerts & Messaging 49 | // @import "modules/messaging"; 50 | 51 | // modules: Misc 52 | // @import "modules/accordion"; 53 | // @import "modules/badges"; 54 | // @import "modules/carousels"; 55 | // @import "modules/dates"; 56 | // @import "modules/modals"; 57 | // @import "modules/popovers"; 58 | // @import "modules/progress-bars"; 59 | // @import "modules/sharing"; 60 | // @import "modules/tables"; 61 | // @import "modules/thumbnails"; 62 | // @import "modules/tooltips"; 63 | -------------------------------------------------------------------------------- /source/wrapup.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Blend Conference - A 3 Day Conference about User Experience, UI Design, and Development in Charlotte, NC 3 | id: wrapup 4 | --- 5 | 6 | #masthead role="banner" 7 | h1 We had a fantastic 2013 conference 8 | p Get ready for BlendConf 2014. Same format, amazing speakers, awesome food, and fabulous conversations. Get a ticket for 2014 9 | 10 | article.basic-content 11 | .wrapup-video 12 | 13 | 14 | h2 51 Amazing Speakers 15 | p We spent the first few days in September hearing topics covering design, user experience, and development. Check out the following list for their names, topics, and if we have them, their slides. The kind folks at Treehouse even recorded videos for us. Go check them out. 16 | 17 | ul.sessions 18 | - data.speakers.each do |speaker| 19 | li 20 | .speaker== speaker.name 21 | - if speaker.talk.slides 22 | h3: a href="#{speaker.talk.slides}" #{speaker.talk.title} (Slides) 23 | - else 24 | h3: #{speaker.talk.title} 25 | 26 | 27 | h2 Folks really enjoyed it 28 | 29 | ul.quotes 30 | - data.tweets2013.each do |tweet| 31 | - if tweet.published 32 | li 33 | span.tweet== tweet.text 34 | a.author href="#{tweet.url}" @#{tweet.author.split('/').last} 35 | 36 | h2 They even wrote about it 37 | 38 | ul.articles 39 | - data.articles2013.each do |article| 40 | li 41 | .author #{article.author} 42 | h3: a href="#{article.url}" #{article.title} 43 | 44 | h2 Get ready for BlendConf 2014 45 | p We have some pretty nifty things planned for 2014 that we think you'll really like. Right now we're shooting for Sept 11-13, 2014 right here in lovely Charlotte, NC. Speakers will be announced in January with the new site. Follow @blendconf to stay up-to-date. 46 | 47 | Grab a ticket 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /source/assets/stylesheets/responsive/_small.css.scss: -------------------------------------------------------------------------------- 1 | @include with-grid-settings(6) { 2 | #container { 3 | @include container; 4 | @include susy-grid-background; 5 | max-width: 100%; 6 | } 7 | 8 | .button { 9 | max-width: 370px; 10 | #be-notified &, 11 | nav[role="navigation"] & { 12 | max-width: 100%; 13 | } 14 | } 15 | 16 | .hive { 17 | width: 400px; 18 | // reset from the previous mq 19 | li:nth-child(even) { 20 | margin-left: 0; 21 | } 22 | li { 23 | float: left; 24 | margin-bottom: $hex-margin*3; 25 | } 26 | li:nth-child(3n+1) { 27 | float: left; 28 | } 29 | li:nth-child(3n+2) { 30 | float: right; 31 | } 32 | li:nth-child(3n+3) { 33 | margin-left: 105px; 34 | } 35 | } 36 | // Workshops 37 | .workshop { 38 | @include clearfix; 39 | h4 { 40 | margin: 4em 0 0 1em; 41 | } 42 | h4, p { 43 | text-align: left; 44 | } 45 | ul { 46 | float: left; 47 | padding: 0; 48 | width: auto; 49 | } 50 | li { 51 | margin: 4em 1em 4em; 52 | left: 0; 53 | } 54 | } 55 | 56 | #sponsors { 57 | .title { 58 | li { 59 | @include span-columns(4); 60 | @include push(1); 61 | } 62 | } 63 | .secondary, 64 | .primary { 65 | li { 66 | @include span-columns(3); 67 | &:nth-child(even) { 68 | @include omega(); 69 | } 70 | } 71 | } 72 | .primary { 73 | li:last-child { 74 | @include push(1.25); 75 | } 76 | } 77 | .tertiary, 78 | .community { 79 | li { 80 | @include reset-columns(); 81 | @include span-columns(2); 82 | &:nth-child(even) { 83 | @include remove-omega(); 84 | } 85 | &:nth-child(3n) { 86 | @include omega(); 87 | } 88 | &:last-child { 89 | @include push(0); 90 | } 91 | } 92 | } 93 | .tertiary li { 94 | &:last-child { 95 | @include push(2); 96 | } 97 | } 98 | .community li { 99 | &:nth-child(4n) { 100 | @include push(1); 101 | } 102 | } 103 | } 104 | } 105 | 106 | 107 | -------------------------------------------------------------------------------- /source/purpose.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Purpose - Blend Conference, Charlotte, NC 3 | backURL: ~ 4 | id: purpose 5 | --- 6 | #masthead 7 | h1 Purpose 8 | 9 | article.basic-content 10 | h2 Growing the Charlotte tech community 11 | 12 | p The Charlotte tech community has experienced a substantial amount of growth over the past few years. With the rise of community tools like Meetup.com, long standing local events like BarCamp Charlotte and Ignite Charlotte, and supportive companies like Skookum and Packard Place pushing the local city government to recognize our potential, things continue to grow at an accelerated pace. 13 | 14 | p The idea of hosting a national web conference in Charlotte was originally conceived by a group of local community organizers who recognized the need to provide our community with a little something extra. To test and see if the community would support a paid web conference, Packard Place along with local organizers and the kind folks at AWDG hosted the area's first successful web conference called Web Afternoon in the fall of 2012. 15 | 16 | h2 Taking a different approach to web conference 17 | 18 | p The past 4-5 years of work prepared the way for Charlotte to be able to host a large scale, national, web conference. We decided to take a very generalist and diverse approach to create a conference that focused on human beings, their connections face-to-face, and helping them work together. 19 | 20 | ol 21 | li We are bringing together 50+ speakers around the country that are some of top practitioners in user experience, design, and web development. 22 | li No devices are allowed in speaker sessions. We want to provide attendees with a way to disconnect a bit from technology and have conversations in-person without the constant distraction of being always tethered to the internet. 23 | li Instead of a wifi connection and devices we're going analog. We are providing each attendee with a custom hard cover notebook from a local vendor called Bound along a nice pen to write with. 24 | li As an industry we have a diverse culture but if you look at many conference speaker rosters their speaker lists tend to have primarily one group of people. We wanted to focus on creating a truly diverse group of speakers. While our gender diversity is probably the most apparent, our speakers come from various backgrounds, systems of belief, and the list could go on. 25 | 26 | p Overall, we care about our community. We want people from all walks of life to unite as a community, be inspired, and support each other as fellow human beings. -------------------------------------------------------------------------------- /data/articles2013.yaml: -------------------------------------------------------------------------------- 1 | - article: 2 | url: http://clclt.com/WayfaringTechNomad/archives/2013/09/04/blendconf-a-clt-homegrown-national-tech-conference-ftw 3 | title: "BlendConf: A CLT homegrown national tech conference FTW" 4 | author: "Desiree Kane - Creative Loafing" 5 | - article: 6 | url: http://www.bizjournals.com/charlotte/blog/bank_notes/2013/09/hi-tech-blend-conference-no-phones.html 7 | title: "Hi-tech Blend Conference: No phones, no tablets" 8 | author: "Adam O'Daniel - Charlotte Business Journal" 9 | - article: 10 | url: http://booc0mtaco.tumblr.com/post/60708318142/blendconf-2013-in-summary 11 | title: "BlendConf 2013: In Summary" 12 | author: "Andrew Holloway" 13 | - article: 14 | url: http://benlimmer.com/2013/09/08/blendconf-followup/ 15 | title: "BlendConf 2013 Follow-Up" 16 | author: "Ben Limmer" 17 | - article: 18 | url: http://yourbrandvox.com/blog/2013/9/9/how-getting-laryngitis-helped-me-get-the-most-out-of-blendconf 19 | title: "How Getting Laryngitis Helped Me Get The Most Out Of Blendconf" 20 | author: "Andrea Goulet Ford" 21 | - article: 22 | url: http://flyingdogcreative.com/what-i-learned-at-blendconf-2013/ 23 | title: "What I learned at BlendConf 2013" 24 | author: "Matt Pusateri" 25 | - article: 26 | url: http://ttimsmith.com/2013/09/blend-conf-2013/ 27 | title: "Blend Conf 2013" 28 | author: "Tim Smith" 29 | - article: 30 | url: http://benmccormick.org/blog/2013/09/10/BlendConf-takeaways/ 31 | title: "BlendConf 2013: Takeaways From a Very Human Tech Conference" 32 | author: "Ben McCormick" 33 | - article: 34 | url: http://mark.shropshires.net/blog/my-blendconf-2013-experience 35 | title: "My BlendConf 2013 Experience" 36 | author: "Mark Shropshire" 37 | - article: 38 | url: http://www.knowmad.com/blog/blendconf-recap-talking-user-experience-design-and-development-in-charlotte/ 39 | title: "BlendConf Recap: Talking User Experience, Design, and Development in Charlotte" 40 | author: "William McKee" 41 | - article: 42 | url: http://www.sarahauvil.com/2013/09/18/empowering-women-in-tech-unicorns-ux-misc-lessons-from-blend-conf/ 43 | title: "Empowering Women in Tech: Unicorns, UX & Misc Lessons from Blend Conf" 44 | author: "Sarah Auvil" 45 | - article: 46 | url: http://austingrigg.com/blog/look-up-and-start-a-conversation/ 47 | title: "Look Up and Start a Conversation" 48 | author: "Austin Grigg" 49 | - article: 50 | url: http://skookum.com/blog/blend-conf-charlotte-technology-event/ 51 | title: "Charlotte’s Blend Conf Talks Tech… Without Tech" 52 | author: "Tim Roberson" 53 | - article: 54 | url: http://tech.prandom.com/blog/?p=466 55 | title: "BlendConf 2013: Immediate Take Aways" 56 | author: "" 57 | - article: 58 | url: http://www.markrondina.com/blog/2013/09/thoughts-on-blendconf/ 59 | title: "Thoughts on blendconf" 60 | author: "Marc Rondina" 61 | - article: 62 | url: http://joshrucker.com/2013/09/blendconf-2013/ 63 | title: "BlendConf 2013" 64 | author: "Joshua Rucker" 65 | - article: 66 | url: http://briankelson.com/ux-blog 67 | title: "Blending In @ Blendconf" 68 | author: "Brian Kelson" 69 | - article: 70 | url: http://opensourcedesign.is/blogging_about/the-open-source-design-manifesto/ 71 | title: "The Open Source Design Manifesto" 72 | author: "Garth Braithwaite" -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_typography.css.scss: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700,400italic,600italic); 2 | 3 | // ---------------------------------------------------- 4 | // Typography 5 | // TODO, clean up 6 | // ---------------------------------------------------- 7 | 8 | // ---------------------------------------------------- 9 | // headings 10 | // TODO, calculate the font-size or use REM's 11 | // What are the font sizes from h1-h6 12 | // http://www.zurb.com/article/1000/foundation-30-typography-and-modular-scal 13 | // ---------------------------------------------------- 14 | h1, h2, h3, h4, h5, h6 { 15 | font-family: $font-family-headers; 16 | font-weight: bold; 17 | margin: 0; 18 | text-rendering: optimizelegibility; 19 | small { 20 | font-weight: normal; 21 | // color: $grayLight; 22 | } 23 | } 24 | h1, .h1 { 25 | font-size: 30px; 26 | } 27 | h2, .h2 { 28 | font-size: 20px; 29 | font-weight: normal; 30 | } 31 | h3, .h3 { 32 | font-size: 18px; 33 | } 34 | h4, .h4 { 35 | font-size: 14px; 36 | } 37 | h5, .h5 { 38 | font-size: 12px; 39 | } 40 | h6, .h6 { 41 | } 42 | 43 | // ---------------------------------------------------- 44 | // paragraphs 45 | // ---------------------------------------------------- 46 | p{ 47 | margin-bottom: $baseline; 48 | &:last-child{ 49 | margin-bottom: 0; 50 | } 51 | } 52 | 53 | // ---------------------------------------------------- 54 | // lists 55 | // ---------------------------------------------------- 56 | // unordered and ordered lists 57 | ul, ol { 58 | margin: 0 0 $baseline / 2 25px; 59 | padding: 0; 60 | } 61 | ul ul, 62 | ul ol, 63 | ol ol, 64 | ol ul { 65 | margin-bottom: 0; 66 | } 67 | ul { 68 | list-style: disc; 69 | } 70 | ol { 71 | list-style: decimal; 72 | } 73 | li { 74 | line-height: $baseline; 75 | } 76 | 77 | // definition lists 78 | dl { 79 | margin-bottom: $baseline; 80 | } 81 | dt, 82 | dd { 83 | line-height: $baseline; 84 | } 85 | dt { 86 | font-weight: bold; 87 | } 88 | dd { 89 | margin-left: $baseline / 2; 90 | } 91 | 92 | // ---------------------------------------------------- 93 | // misc 94 | // ---------------------------------------------------- 95 | 96 | // horizontal rules 97 | hr { 98 | margin: $baseline 0; 99 | border: 0; 100 | border-top: 1px solid #ccc; 101 | border-bottom: 1px solid #ccc; 102 | } 103 | 104 | // Emphasis 105 | strong, b { 106 | font-weight: bold; 107 | } 108 | em, i { 109 | font-style: italic; 110 | } 111 | .muted { 112 | // color: $grayLight; 113 | } 114 | 115 | // blockquotes 116 | blockquote { 117 | // border-left: 5px solid $grayLighter; 118 | margin: 0 0 $baseline; 119 | padding: 0 0 0 15px; 120 | p { 121 | margin-bottom: 0; 122 | } 123 | small { 124 | display: block; 125 | line-height: $baseline; 126 | // color: $grayLight; 127 | &:before { 128 | content: '\2014 \00A0'; 129 | } 130 | } 131 | } 132 | 133 | // quotes 134 | q:before, 135 | q:after, 136 | blockquote:before, 137 | blockquote:after { 138 | content: ""; 139 | } 140 | 141 | // addresses 142 | address { 143 | display: block; 144 | margin-bottom: $baseline; 145 | font-style: normal; 146 | line-height: $baseline; 147 | } 148 | 149 | // Misc 150 | small { 151 | font-size: 100%; 152 | } 153 | cite { 154 | font-style: normal; 155 | } -------------------------------------------------------------------------------- /source/code-of-conduct.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Code of Conduct - Blend Conference, Charlotte, NC 3 | backURL: ~ 4 | id: code-of-conduct 5 | --- 6 | #masthead 7 | h1 Code of Conduct 8 | 9 | article.basic-content 10 | p BlendConf is a community conference intended to allow folks that work on the web, or folks that would like to work on the web ways to network, to collaborate and help grow our communities. 11 | 12 | p We value the participation of each member of the community and want everybody to have an enjoyable experience, fill your days with meaningful conversations and get to know your peers and possibly some of your heroes. All attendees, volunteers, and sponsors are expected to show respect and courtesy to others throughout the conference and at all conferences events. 13 | 14 | p To understand what's expected we've outlined the following Code of Conduct. Organizers will enforce this code throughout the event. 15 | 16 | h2 Quick, Concise Version 17 | 18 | p BlendConf will be a conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. Harassment will not be tolerated in any form. 19 | 20 | ul 21 | li This is a professional conference, with industry professionals, newcomers and, we think, some downright amazing folks. Language or imagery that's sexual in nature or has sexual overtones or innuendos are not appropriate, even in conference talks. 22 | li Be kind. BlendConf is full of some of the best human beings you will encounter. Treat everyone as such. 23 | li No harassing, sexist, racist or exclusionary jokes. 24 | 25 | p If you violate the code of conduct you will be escorted off of conference grounds by hotel security and no refund will be given. 26 | 27 | h2 The Long Version 28 | 29 | p Harassment includes offensive verbal comments related to gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Participants asked to stop any harassing behavior are expected to comply immediately. 30 | 31 | p Exhibitors in the expo hall, sponsor or vendor booths, or similar activities are also subject to the anti-harassment policy. In particular, exhibitors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment. 32 | 33 | p If a participant engages in harassing behavior, the conference organizers will take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund. 34 | 35 | h2 If There's a Problem 36 | 37 | p If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff can be identified by t-shirts and special badges. 38 | 39 | p Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. 40 | 41 | p You can call or text Bermon Painter directly at (704) 759-6496. 42 | 43 | p This anti-harassment policy is based on the example policy from the Geek Feminism wiki, created by the Ada Initiative and other volunteers. 44 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (3.2.15) 5 | i18n (~> 0.6, >= 0.6.4) 6 | multi_json (~> 1.0) 7 | chunky_png (1.2.9) 8 | coffee-script (2.2.0) 9 | coffee-script-source 10 | execjs 11 | coffee-script-source (1.6.3) 12 | compass (0.12.2) 13 | chunky_png (~> 1.2) 14 | fssm (>= 0.2.7) 15 | sass (~> 3.1) 16 | em-websocket (0.5.0) 17 | eventmachine (>= 0.12.9) 18 | http_parser.rb (~> 0.5.3) 19 | eventmachine (1.0.3) 20 | execjs (1.4.0) 21 | multi_json (~> 1.0) 22 | ffi (1.9.3) 23 | fssm (0.2.10) 24 | haml (4.0.4) 25 | tilt 26 | hike (1.2.3) 27 | http_parser.rb (0.5.3) 28 | httpclient (2.3.4.1) 29 | i18n (0.6.5) 30 | json (1.8.1) 31 | kramdown (1.2.0) 32 | listen (1.3.1) 33 | rb-fsevent (>= 0.9.3) 34 | rb-inotify (>= 0.9) 35 | rb-kqueue (>= 0.2) 36 | middleman (3.2.0) 37 | coffee-script (~> 2.2.0) 38 | compass (>= 0.12.2) 39 | execjs (~> 1.4.0) 40 | haml (>= 3.1.6) 41 | kramdown (~> 1.2) 42 | middleman-core (= 3.2.0) 43 | middleman-sprockets (>= 3.1.2) 44 | sass (>= 3.1.20) 45 | uglifier (~> 2.1.0) 46 | middleman-core (3.2.0) 47 | activesupport (~> 3.2.6) 48 | bundler (~> 1.1) 49 | i18n (~> 0.6.1) 50 | listen (~> 1.1) 51 | rack (>= 1.4.5) 52 | rack-test (~> 0.6.1) 53 | thor (>= 0.15.2, < 2.0) 54 | tilt (~> 1.3.6) 55 | middleman-deploy (0.1.4) 56 | middleman-core (>= 3.0.0) 57 | net-sftp 58 | ptools 59 | middleman-livereload (3.1.0) 60 | em-websocket (>= 0.2.0) 61 | middleman-core (>= 3.0.2) 62 | multi_json (~> 1.0) 63 | rack-livereload 64 | middleman-smusher (3.0.0) 65 | middleman (>= 3.0.0) 66 | smusher (~> 0.4.9) 67 | middleman-sprockets (3.2.0) 68 | middleman-core (~> 3.2) 69 | sprockets (~> 2.1) 70 | sprockets-helpers (~> 1.0.0) 71 | sprockets-sass (~> 1.0.0) 72 | middleman-syntax (1.2.1) 73 | middleman-core (~> 3.0) 74 | rouge (~> 0.3.0) 75 | multi_json (1.8.2) 76 | net-sftp (2.1.2) 77 | net-ssh (>= 2.6.5) 78 | net-ssh (2.7.0) 79 | ptools (1.2.2) 80 | rack (1.5.2) 81 | rack-livereload (0.3.15) 82 | rack 83 | rack-test (0.6.2) 84 | rack (>= 1.0) 85 | rake (10.1.0) 86 | rb-fsevent (0.9.3) 87 | rb-inotify (0.9.2) 88 | ffi (>= 0.5.0) 89 | rb-kqueue (0.2.0) 90 | ffi (>= 0.5.0) 91 | redcarpet (3.0.0) 92 | rouge (0.3.10) 93 | thor 94 | ruby18_source_location (0.2) 95 | sass (3.2.12) 96 | slim (2.0.2) 97 | temple (~> 0.6.6) 98 | tilt (>= 1.3.3, < 2.1) 99 | smusher (0.4.9) 100 | httpclient (>= 2.2) 101 | json 102 | rake 103 | sprockets (2.10.1) 104 | hike (~> 1.2) 105 | multi_json (~> 1.0) 106 | rack (~> 1.0) 107 | tilt (~> 1.1, != 1.3.0) 108 | sprockets-helpers (1.0.1) 109 | sprockets (~> 2.0) 110 | sprockets-sass (1.0.2) 111 | sprockets (~> 2.0) 112 | tilt (~> 1.1) 113 | susy (1.0.9) 114 | compass (>= 0.12.2) 115 | sass (>= 3.2.0) 116 | temple (0.6.7) 117 | thor (0.18.1) 118 | tilt (1.3.7) 119 | uglifier (2.1.2) 120 | execjs (>= 0.3.0) 121 | multi_json (~> 1.0, >= 1.0.2) 122 | 123 | PLATFORMS 124 | ruby 125 | 126 | DEPENDENCIES 127 | eventmachine (~> 1.0.3) 128 | middleman 129 | middleman-deploy 130 | middleman-livereload (~> 3.1.0) 131 | middleman-smusher 132 | middleman-syntax 133 | redcarpet 134 | ruby18_source_location 135 | slim 136 | susy 137 | wdm (~> 0.1.0) 138 | -------------------------------------------------------------------------------- /source/assets/javascripts/modules.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2007-2013 Ariel Flesler - afleslergmailcom | http://flesler.blogspot.com 3 | * Dual licensed under MIT and GPL. 4 | * @author Ariel Flesler 5 | * @version 1.4.6 6 | */ 7 | ;(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(e==null)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,targ,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery); 8 | 9 | /** 10 | * Copyright (c) 2007-2010 Ariel Flesler - afleslergmailcom | http://flesler.blogspot.com 11 | * Dual licensed under MIT and GPL. 12 | * @author Ariel Flesler 13 | * @version 1.2.9b 14 | */ 15 | ;(function($){var h=location.href.replace(/#.*/,'');var i=$.localScroll=function(a){$('body').localScroll(a)};i.defaults={duration:1000,axis:'y',event:'click',stop:true,target:window,reset:true};i.hash=function(a){if(location.hash){a=$.extend({},i.defaults,a);a.hash=false;if(a.reset){var d=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=d}scroll(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},i.defaults,b);return b.lazy?this.bind(b.event,function(e){var a=$([e.target,e.target.parentNode]).filter(filter)[0];if(a)scroll(e,a,b)}):this.find('a,area').filter(filter).bind(b.event,function(e){scroll(e,this,b)}).end().end();function filter(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==h&&(!b.filter||$(this).is(b.filter))}};function scroll(e,a,b){var c=a.hash.slice(1),elem=document.getElementById(c)||document.getElementsByName(c)[0];if(!elem)return;if(e)e.preventDefault();var d=$(b.target);if(b.lock&&d.is(':animated')||b.onBefore&&b.onBefore(e,elem,d)===false)return;if(b.stop)d._scrollable().stop(true);if(b.hash){var f=b.offset;f=f&&f.top||f||0;var g=elem.id==c?'id':'name',$a=$(' ').attr(g,c).css({position:'absolute',top:$(window).scrollTop()+f,left:$(window).scrollLeft()});elem[g]='';$('body').prepend($a);location=a.hash;$a.remove();elem[g]=c}d.scrollTo(elem,b).trigger('notify.serialScroll',[elem])}})(jQuery); 16 | -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_mixins.css.scss: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------- 2 | // Mixins 3 | // TODO - add missing mixins that might be handy 4 | // check Zurb & Bootstrap 5 | // -------------------------------------------------- 6 | 7 | // -------------------------------------------------- 8 | // CLEARFIX 9 | // -------------------------------------------------- 10 | // For clearing floats like a boss h5bp.com/q 11 | @mixin clearfix { 12 | *zoom: 1; 13 | &:before, 14 | &:after { 15 | display: table; 16 | content: ""; 17 | } 18 | &:after { 19 | clear: both; 20 | } 21 | } 22 | 23 | // -------------------------------------------------- 24 | // tab focus 25 | // mimics webkit 26 | // -------------------------------------------------- 27 | @mixin tab-focus() { 28 | // Default 29 | outline: thin dotted #333; 30 | // Webkit 31 | outline: 5px auto -webkit-focus-ring-color; 32 | outline-offset: -2px; 33 | } 34 | 35 | // -------------------------------------------------- 36 | // center align 37 | // -------------------------------------------------- 38 | @mixin center-block() { 39 | display: block; 40 | margin-left: auto; 41 | margin-right: auto; 42 | } 43 | 44 | // -------------------------------------------------- 45 | // inline block - IE7 46 | // -------------------------------------------------- 47 | @mixin ie7-inline-block() { 48 | *display: inline; // IE7 inline-block hack 49 | *zoom: 1; 50 | } 51 | 52 | // -------------------------------------------------- 53 | // whitespace fix for inline block elements - IE7 54 | // -------------------------------------------------- 55 | @mixin ie7-restore-left-whitespace() { 56 | *margin-left: .3em; 57 | 58 | &:first-child { 59 | *margin-left: 0; 60 | } 61 | } 62 | 63 | @mixin ie7-restore-right-whitespace() { 64 | *margin-right: .3em; 65 | 66 | &:last-child { 67 | *margin-left: 0; 68 | } 69 | } 70 | 71 | // -------------------------------------------------- 72 | // image replacement 73 | // -------------------------------------------------- 74 | @mixin hide-text { 75 | font: 0/0 a; 76 | color: transparent; 77 | text-shadow: none; 78 | background-color: transparent; 79 | border: 0; 80 | } 81 | 82 | // -------------------------------------------------------- 83 | // arrows 84 | // -------------------------------------------------------- 85 | // $direction: top, left, right, bottom, top-left, top-right, bottom-left, bottom-right 86 | // $color: hex, rgb or rbga 87 | // $size: px or em 88 | // @example 89 | // .element{ 90 | // @include arrow(top, #000, 50px); 91 | // } 92 | @mixin arrow($direction, $color, $size){ 93 | display: block; 94 | height: 0; 95 | width: 0; 96 | 97 | @if $direction == 'top' { 98 | border-left: $size solid transparent; 99 | border-right: $size solid transparent; 100 | border-bottom: $size solid $color; 101 | } @else if $direction == 'right' { 102 | border-top: $size solid transparent; 103 | border-bottom: $size solid transparent; 104 | border-left: $size solid $color; 105 | } @else if $direction == 'bottom' { 106 | border-top: $size solid $color; 107 | border-right: $size solid transparent; 108 | border-left: $size solid transparent; 109 | } @else if $direction == 'left' { 110 | border-top: $size solid transparent; 111 | border-right: $size solid $color; 112 | border-bottom: $size solid transparent; 113 | } @else if $direction == 'top-left' { 114 | border-top: $size solid $color; 115 | border-right: $size solid transparent; 116 | } @else if $direction == 'top-right' { 117 | border-top: $size solid $color; 118 | border-left: $size solid transparent; 119 | } @else if $direction == 'bottom-left' { 120 | border-bottom: $size solid $color; 121 | border-right: $size solid transparent; 122 | } @else if $direction == 'bottom-right' { 123 | border-bottom: $size solid $color; 124 | border-left: $size solid transparent; 125 | } 126 | } -------------------------------------------------------------------------------- /source/layouts/partials/_sessions.slim: -------------------------------------------------------------------------------- 1 | ul class="#{ talkType == 'Keynotes' ? 'keynotes' : 'session' }" 2 | li.time #{talkTime} 3 | 4 | - data.speakers.each_with_index do |speaker, i| 5 | - if speaker.talk.type == "#{talkType}" && speaker.talk.day == talkDay && speaker.talk.session == talkSession && speaker.talk.discipline == "ux" 6 | - if speaker.talk.title == "The Design in Service Design" 7 | li.description.ux class="session-#{i}" 8 | h4.title: a href="/schedule/#{speaker.talk.title.downcase.tr(" ", "-").tr(".", "").tr(":", "")}/" #{speaker.talk.title} 9 | h5.track User Experience Track 10 | a.speaker href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/" Anders Frostenson & Magnus Bergmark 11 | a.company href="#{speaker.company.url}" #{speaker.company.name} 12 | 13 | - else 14 | li.description.ux 15 | h4.title: a href="/schedule/#{speaker.talk.title.downcase.tr(" ", "-").tr(".", "").tr(":", "")}/" #{speaker.talk.title} 16 | h5.track User Experience Track 17 | a.speaker href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/" #{speaker.name} 18 | a.company href="#{speaker.company.url}" #{speaker.company.name} 19 | .simple-hexagon class="#{speaker.name.downcase.tr(" ", "-").tr(".", "")}"
20 | - data.speakers.each_with_index do |speaker, i| 21 | - if speaker.talk.type == "#{talkType}" && speaker.talk.day == talkDay && speaker.talk.session == talkSession && speaker.talk.discipline == "ui" 22 | - if speaker.talk.title == "Think Like a Startup" 23 | li.description.ux class="session-#{i}" 24 | h4.title: a href="/schedule/#{speaker.talk.title.downcase.tr(" ", "-").tr(".", "").tr(":", "")}/" #{speaker.talk.title} 25 | h5.track Design Track 26 | a.speaker href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/" Joel Van Dyke, Kendra Shillington, & Marc Bolick 27 | a.company href="#{speaker.company.url}" #{speaker.company.name} 28 | - elsif speaker.talk.title == "Discovering Unexpected Ideas Using Generative Design" 29 | li.description.ui class="session-#{i}" 30 | h4.title: a href="/schedule/#{speaker.talk.title.downcase.tr(" ", "-").tr(".", "").tr(":", "")}/" #{speaker.talk.title} 31 | h5.track Design Track 32 | a.speaker href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/" Ron Edelen, Michael Chatten, & Albert Banks 33 | a.company href="#{speaker.company.url}" #{speaker.company.name} 34 | - else 35 | li.description.ui 36 | h4.title: a href="/schedule/#{speaker.talk.title.downcase.tr(" ", "-").tr(".", "").tr(":", "")}/" #{speaker.talk.title} 37 | h5.track Design Track 38 | a.speaker href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/" #{speaker.name} 39 | a.company href="#{speaker.company.url}" #{speaker.company.name} 40 | - data.speakers.each do |speaker| 41 | - if speaker.talk.type == "#{talkType}" && speaker.talk.day == talkDay && speaker.talk.session == talkSession && speaker.talk.discipline == "dev" 42 | li.description.dev 43 | h4.title: a href="/schedule/#{speaker.talk.title.downcase.tr(" ", "-").tr(".", "").tr(":", "")}/" #{speaker.talk.title} 44 | h5.track Development Track 45 | a.speaker href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/" #{speaker.name} 46 | a.company href="#{speaker.company.url}" #{speaker.company.name} 47 | - data.speakers.each do |speaker| 48 | - if speaker.talk.type == "Keynotes" && speaker.talk.day == talkDay && speaker.talk.session == talkSession 49 | li.description.dev 50 | h4.title: a href="/schedule/#{speaker.talk.title.downcase.tr(" ", "-").tr(".", "").tr(":", "")}/" #{speaker.talk.title} 51 | h5.track Keynote 52 | a.speaker href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/" #{speaker.name} 53 | a.company href="#{speaker.company.url}" #{speaker.company.name} 54 | 55 | 56 | -------------------------------------------------------------------------------- /source/schedule/index.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Blend Conference - A 3 Day Conference about User Experience, UI Design, and Development in Charlotte, NC 3 | id: sessions 4 | --- 5 | #masthead role="banner" 6 | h1 An amazing 3-day schedule 7 | 8 | article.session-groups 9 | .day#workshop-day 10 | h2 Workshops 11 | h3 Thursday, Sept. 5th 12 | 13 | ul.registration 14 | li.time 8:00am - 9:00am 15 | li.description: h4 Registration 16 | 17 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Workshops", :talkDay => 1, :talkSession => 1, :talkTime => "9:00am - 12:30pm"} 18 | 19 | ul.lunch 20 | li.time 12:30pm - 2:00pm 21 | li.description: h4 Lunch 22 | 23 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Workshops", :talkDay => 1, :talkSession => 2, :talkTime => "2:00pm - 5:30pm"} 24 | 25 | .day#conference-day 26 | h2 Conference Day 27 | h3 Friday, Sept. 6th 28 | 29 | ul.registration 30 | li.time 8:00am - 8:45am 31 | li.description: h4 Registration 32 | 33 | ul.opening 34 | li.time 8:45am - 9:00am 35 | li.description: h4 Opening Remarks 36 | 37 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Keynotes", :talkDay => 2, :talkSession => 0, :talkTime => "9:00am - 9:30am"} 38 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 2, :talkSession => 1, :talkTime => "9:45am - 10:30am"} 39 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 2, :talkSession => 2, :talkTime => "10:45am - 11:30am"} 40 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 2, :talkSession => 3, :talkTime => "11:45am - 12:30pm"} 41 | 42 | ul.lunch 43 | li.time 12:30pm - 1:45pm 44 | li.description: h4 Lunch 45 | 46 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 2, :talkSession => 4, :talkTime => "2:00pm - 2:45pm"} 47 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 2, :talkSession => 5, :talkTime => "3:00pm - 3:45pm"} 48 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 2, :talkSession => 6, :talkTime => "4:00pm - 4:45pm"} 49 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Keynotes", :talkDay => 2, :talkSession => 7, :talkTime => "5:00pm - 5:30pm"} 50 | 51 | .day#blend-day 52 | h2 Blend Day 53 | h3 Saturday, Sept. 7th 54 | 55 | ul.registration 56 | li.time 8:00am - 8:45am 57 | li.description: h4 Registration 58 | 59 | ul.opening 60 | li.time 8:45am - 9:00am 61 | li.description: h4 Opening Remarks 62 | 63 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Keynotes", :talkDay => 3, :talkSession => 0, :talkTime => "9:00am - 9:30am"} 64 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 3, :talkSession => 1, :talkTime => "9:45am - 10:30am"} 65 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 3, :talkSession => 2, :talkTime => "10:45am - 11:30am"} 66 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 3, :talkSession => 3, :talkTime => "11:45am - 12:30pm"} 67 | 68 | ul.lunch 69 | li.time 12:30pm - 1:45pm 70 | li.description: h4 Lunch 71 | 72 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 3, :talkSession => 4, :talkTime => "2:00pm - 2:45pm"} 73 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 3, :talkSession => 5, :talkTime => "3:00pm - 3:45pm"} 74 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Conference Speakers", :talkDay => 3, :talkSession => 6, :talkTime => "4:00pm - 4:45pm"} 75 | 76 | ul.remarks 77 | li.time 5:00pm - 5:15pm 78 | li.description: h4 Closing Remarks 79 | 80 | == partial "/layouts/partials/sessions", :locals => { :talkType => "Keynotes", :talkDay => 3, :talkSession => 7, :talkTime => "5:15pm - 5:45pm"} 81 | 82 | ul.party 83 | li.time 7:00pm 84 | li.description: h4 After Party -------------------------------------------------------------------------------- /data/sponsors.yml: -------------------------------------------------------------------------------- 1 | - sponsor: 2 | type: title 3 | name: Cardinal Solutions 4 | description: ~ 5 | links: 6 | twitter: ~ 7 | facebook: ~ 8 | website: http://www.cardinalsolutions.com/ 9 | - sponsor: 10 | type: primary 11 | name: MailChimp 12 | description: ~ 13 | links: 14 | twitter: ~ 15 | facebook: ~ 16 | website: http://www.mailchimp.com/ 17 | - sponsor: 18 | type: primary 19 | name: Adobe 20 | description: ~ 21 | links: 22 | twitter: ~ 23 | facebook: ~ 24 | website: http://blogs.adobe.com/webplatform/ 25 | - sponsor: 26 | type: primary 27 | name: Treehouse 28 | description: ~ 29 | links: 30 | twitter: ~ 31 | facebook: ~ 32 | website: http://teamtreehouse.com/ 33 | - sponsor: 34 | type: secondary 35 | name: Lending Tree 36 | description: ~ 37 | links: 38 | twitter: ~ 39 | facebook: ~ 40 | website: http://www.lendingtree.com/ 41 | - sponsor: 42 | type: secondary 43 | name: Mad*Pow 44 | description: ~ 45 | links: 46 | twitter: ~ 47 | facebook: ~ 48 | website: http://www.madpow.com/ 49 | - sponsor: 50 | type: secondary 51 | name: The Idea People 52 | description: ~ 53 | links: 54 | twitter: ~ 55 | facebook: ~ 56 | website: http://www.theideapeople.com/ 57 | - sponsor: 58 | type: secondary 59 | name: Digital Saber 60 | description: ~ 61 | links: 62 | twitter: ~ 63 | facebook: ~ 64 | website: http://www.digitalsaber.net/ 65 | - sponsor: 66 | type: tertiary 67 | name: GitHub 68 | description: ~ 69 | links: 70 | twitter: ~ 71 | facebook: ~ 72 | website: http://www.github.com/ 73 | - sponsor: 74 | type: tertiary 75 | name: Balsamiq 76 | description: ~ 77 | links: 78 | twitter: ~ 79 | facebook: ~ 80 | website: http://www.balsamiq.com/ 81 | - sponsor: 82 | type: tertiary 83 | name: UserTesting 84 | description: ~ 85 | links: 86 | twitter: ~ 87 | facebook: ~ 88 | website: http://www.usertesting.com/ 89 | - sponsor: 90 | type: tertiary 91 | name: Rosenfeld 92 | description: ~ 93 | links: 94 | twitter: ~ 95 | facebook: ~ 96 | website: http://rosenfeldmedia.com/ 97 | - sponsor: 98 | type: tertiary 99 | name: Sticker Mule 100 | description: ~ 101 | links: 102 | twitter: ~ 103 | facebook: ~ 104 | website: http://www.stickermule.com/ 105 | - sponsor: 106 | type: tertiary 107 | name: qCat 108 | description: ~ 109 | links: 110 | twitter: ~ 111 | facebook: ~ 112 | website: http://qcatpro.com/ 113 | - sponsor: 114 | type: tertiary 115 | name: A Book Apart 116 | description: ~ 117 | links: 118 | twitter: ~ 119 | facebook: ~ 120 | website: http://www.abookapart.com/ 121 | - sponsor: 122 | type: tertiary 123 | name: Cage 124 | description: ~ 125 | links: 126 | twitter: ~ 127 | facebook: ~ 128 | website: http://cageapp.com/ 129 | - sponsor: 130 | type: tertiary 131 | name: Codepen 132 | description: ~ 133 | links: 134 | twitter: ~ 135 | facebook: ~ 136 | website: http://codepen.io/ 137 | - sponsor: 138 | type: tertiary 139 | name: The Daemon Fund 140 | description: ~ 141 | links: 142 | twitter: ~ 143 | facebook: ~ 144 | website: http://daemonfund.com/ 145 | - sponsor: 146 | type: community 147 | name: "iT-ology" 148 | description: ~ 149 | links: 150 | twitter: ~ 151 | facebook: ~ 152 | website: http://it-ology.org/ 153 | - sponsor: 154 | type: community 155 | name: Detailed Block 156 | description: ~ 157 | links: 158 | twitter: ~ 159 | facebook: ~ 160 | website: http://detailedblock.com/ 161 | - sponsor: 162 | type: community 163 | name: Packard Place 164 | description: ~ 165 | links: 166 | twitter: ~ 167 | facebook: ~ 168 | website: http://packardplace.us/ 169 | - sponsor: 170 | type: community 171 | name: AWDG 172 | description: ~ 173 | links: 174 | twitter: ~ 175 | facebook: ~ 176 | website: http://www.meetup.com/atlantawebdesign/ 177 | - sponsor: 178 | type: community 179 | name: AIGA Charlotte 180 | description: ~ 181 | links: 182 | twitter: ~ 183 | facebook: ~ 184 | website: http://www.aigacharlotte.org/ 185 | 186 | -------------------------------------------------------------------------------- /source/assets/stylesheets/responsive/_huge.css.scss: -------------------------------------------------------------------------------- 1 | @include with-grid-settings(16) { 2 | #container { 3 | @include container; 4 | @include susy-grid-background; 5 | max-width: 100%; 6 | } 7 | .hive { 8 | max-width: ($hex-width*5)+($hex-margin)*4; 9 | &#keynotes { 10 | max-width: ($hex-width*4)+($hex-margin)*3; 11 | } 12 | width: ($hex-width*5)+($hex-margin)*4; 13 | // reset from the previous mq 14 | li:nth-child(5n+1), 15 | li:nth-child(5n+2), 16 | li:nth-child(5n+3), 17 | li:nth-child(5n+4), 18 | li:nth-child(5n+5) { 19 | float: left; 20 | } 21 | li:nth-child(9n-8) { 22 | margin-left: 0; 23 | } 24 | li:nth-child(9n-7), 25 | li:nth-child(9n-6), 26 | li:nth-child(9n-5), 27 | li:nth-child(9n-4), 28 | li:nth-child(9n-2), 29 | li:nth-child(9n-1), 30 | li:nth-child(9n-0) { 31 | margin-left: $hex-margin; 32 | } 33 | li:nth-child(9n-3) { 34 | margin-left: 105px; 35 | } 36 | li.more{ 37 | margin-left: $hex-width*2+($hex-margin)*2; 38 | } 39 | } 40 | 41 | //-------------------------------------------------------- 42 | // basic content 43 | //-------------------------------------------------------- 44 | .basic-content { 45 | #masthead { 46 | h1 { 47 | text-align: center; 48 | } 49 | } 50 | } 51 | 52 | article { 53 | padding-left: 0; 54 | padding-right: 0; 55 | } 56 | 57 | //-------------------------------------------------------- 58 | // newsletter / updates 59 | //-------------------------------------------------------- 60 | #be-notified { 61 | .email-subscription { 62 | width: columns(8); 63 | input { 64 | margin-right: 2%; 65 | width: columns(8); 66 | } 67 | button { 68 | width: columns(7); 69 | } 70 | } 71 | .social-subscription { 72 | padding: 0 0 0 $baseline*4; 73 | width: columns(6); 74 | } 75 | .and { 76 | left: -20%; 77 | &:before, &:after { 78 | display: block; 79 | } 80 | } 81 | } 82 | 83 | #schedule, #skinny { 84 | .schedules, 85 | ul { 86 | margin-left: auto; 87 | margin-right: auto; 88 | max-width: $max-container-width; 89 | } 90 | } 91 | //-------------------------------------------------------- 92 | // sponsors 93 | //-------------------------------------------------------- 94 | #sponsors { 95 | ul { 96 | margin-left: auto; 97 | margin-right: auto; 98 | max-width: $max-container-width; 99 | } 100 | .title { 101 | li { 102 | @include span-columns(7); 103 | @include push(4.5); 104 | } 105 | } 106 | .primary { 107 | li { 108 | @include reset-columns(); 109 | @include span-columns(5.15); 110 | &:first-child { 111 | // @include push(2); 112 | } 113 | &:last-child { 114 | @include push(0); 115 | // @include remove-omega; 116 | } 117 | } 118 | } 119 | .secondary { 120 | li { 121 | @include reset-columns(); 122 | @include span-columns(4); 123 | &:nth-child(even) { 124 | @include remove-omega(); 125 | } 126 | &:nth-child(3n) { 127 | @include remove-omega(); 128 | // @include omega(); 129 | } 130 | &:nth-child(4n) { 131 | @include omega(); 132 | } 133 | &:last-child { 134 | @include push(0); 135 | } 136 | } 137 | } 138 | .tertiary, 139 | .community { 140 | li { 141 | @include reset-columns(); 142 | @include span-columns(3); 143 | &:nth-child(even) { 144 | @include reset-columns(); 145 | @include span-columns(3); 146 | } 147 | &:nth-child(4n) { 148 | @include remove-omega(); 149 | } 150 | &:nth-child(6n) { 151 | @include push(1.85); 152 | } 153 | &:first-child { 154 | @include push(.5); 155 | } 156 | &:last-child { 157 | @include push(0); 158 | } 159 | } 160 | } 161 | .tertiary li { 162 | &:nth-child(6n) { 163 | @include push(.5); 164 | } 165 | &:nth-child(9n) { 166 | @include push(0); 167 | } 168 | } 169 | } 170 | } 171 | 172 | 173 | -------------------------------------------------------------------------------- /config.rb: -------------------------------------------------------------------------------- 1 | # ---------------------------------------------- 2 | # Basic Setup 3 | # ---------------------------------------------- 4 | # Reload the browser automatically whenever files change 5 | activate :livereload 6 | # Use relative URLs 7 | activate :relative_assets 8 | set :relative_links, true 9 | # Use pretty URLs 10 | activate :directory_indexes 11 | # Automatic image dimensions on image_tag helper 12 | # activate :automatic_image_sizes 13 | 14 | # ---------------------------------------------- 15 | # Page Processing 16 | # ---------------------------------------------- 17 | require 'slim' 18 | set :slim, :pretty => true 19 | 20 | set :markdown_engine, :redcarpet 21 | set :markdown, :fenced_code_blocks => true, :autolink => true, :smartypants => true 22 | 23 | # ---------------------------------------------- 24 | # CSS Processing 25 | # ---------------------------------------------- 26 | # Compass 27 | compass_config do |config| 28 | config.output_style = :expanded 29 | end 30 | 31 | # Susy grids in Compass 32 | # First: gem install susy --pre 33 | require 'susy' 34 | 35 | # ---------------------------------------------- 36 | # Page options, layouts, aliases and proxies 37 | # ---------------------------------------------- 38 | 39 | # Per-page layout changes: 40 | # 41 | # With no layout 42 | # page "/path/to/file.html", :layout => false 43 | # 44 | # With alternative layout 45 | # page "/path/to/file.html", :layout => :otherlayout 46 | # 47 | # A path which all have the same layout 48 | # with_layout :admin do 49 | # page "/admin/*" 50 | # end 51 | 52 | # Proxy (fake) files 53 | # page "/this-page-has-no-template.html", :proxy => "/template-file.html" do 54 | # @which_fake_page = "Rendering a fake page with a variable" 55 | # end 56 | 57 | # Generate speaker pages from /data/speakers.yml 58 | data.speakers.each do |speaker| 59 | proxy "/speakers/#{speaker[:name].downcase.tr(" ", "-").tr(".", "")}.html", "/speakers/template.html", :locals => { :speaker => speaker }, :ignore => true 60 | end 61 | 62 | # Generate schedule detail pages from /data/speakers.yml 63 | data.speakers.each do |speaker| 64 | proxy "/schedule/#{speaker[:talk][:title].downcase.tr(" ", "-").tr(".", "").tr(":", "")}.html", "/schedule/template.html", :locals => { :speaker => speaker }, :ignore => true 65 | end 66 | 67 | page "/2014.html", :layout => :bare_layout 68 | 69 | # ---------------------------------------------- 70 | # Helpers 71 | # ---------------------------------------------- 72 | 73 | # Automatic image dimensions on image_tag helper 74 | # activate :automatic_image_sizes 75 | 76 | # Methods defined in the helpers block are available in templates 77 | # helpers do 78 | # def some_helper 79 | # "Helping" 80 | # end 81 | # end 82 | 83 | # KSS 84 | helpers do 85 | # Calculate the years for a copyright 86 | def copyright_years(start_year) 87 | end_year = Date.today.year 88 | if start_year == end_year 89 | start_year.to_s 90 | else 91 | start_year.to_s + '-' + end_year.to_s 92 | end 93 | end 94 | end 95 | 96 | # ---------------------------------------------- 97 | # Directories 98 | # ---------------------------------------------- 99 | set :css_dir, 'assets/stylesheets' 100 | 101 | set :js_dir, 'assets/javascripts' 102 | 103 | set :images_dir, 'assets/images' 104 | 105 | # ---------------------------------------------- 106 | # International 107 | # ---------------------------------------------- 108 | # activate :translation_helper 109 | # activate :directory_indexes 110 | # activate :i18n, :mount_at_root => :en 111 | 112 | # ---------------------------------------------- 113 | # Build-specific configuration 114 | # ---------------------------------------------- 115 | configure :build do 116 | # For example, change the Compass output style for deployment 117 | activate :minify_css 118 | 119 | # Minify Javascript on build 120 | activate :minify_javascript 121 | 122 | # Enable cache buster 123 | activate :asset_hash 124 | 125 | # Change Compass configuration 126 | compass_config do |config| 127 | # config.preferred_syntax = :sass 128 | config.output_style = :compressed 129 | config.sass_options = { :line_comments => false} 130 | end 131 | 132 | # Compress PNGs after build 133 | # First: gem install middleman-smusher 134 | require "middleman-smusher" 135 | activate :smusher 136 | 137 | # Or use a different image path 138 | # set :http_path, "/Content/images/" 139 | end -------------------------------------------------------------------------------- /source/assets/javascripts/libs/selectivizr.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * selectivizr v1.0.2 - (c) Keith Clark, freely distributable under the terms of the MIT license. 3 | * selectivizr.com 4 | */ 5 | (function(j){function A(a){return a.replace(B,h).replace(C,function(a,d,b){for(var a=b.split(","),b=0,e=a.length;b0){var a=l,f,e=s.substring(0,e).replace(H,i);if(e==i||e.charAt(e.length-1)==o)e+="*";try{f=t(e)}catch(k){}if(f){e=0;for(c=f.length;e-1&&(a=a.substring(0,l));if(a.charAt(0)==":")switch(a.slice(1)){case "root":c=function(a){return b?a!=p:a==p};break;case "target":if(m==8){c=function(a){function c(){var d=location.hash,e=d.slice(1);return b?d==i||a.id!=e:d!=i&&a.id==e}k(j,"hashchange",function(){g(a,d,c())});return c()};break}return!1;case "checked":c=function(a){J.test(a.type)&&k(a,"propertychange",function(){event.propertyName=="checked"&&g(a,d,a.checked!==b)});return a.checked!==b};break;case "disabled":b=!b;case "enabled":c=function(c){if(K.test(c.tagName))return k(c,"propertychange",function(){event.propertyName=="$disabled"&&g(c,d,c.a===b)}),q.push(c),c.a=c.disabled,c.disabled===b;return a==":enabled"?b:!b};break;case "focus":e="focus",f="blur";case "hover":e||(e="mouseenter",f="mouseleave");c=function(a){k(a,b?f:e,function(){g(a,d,!0)});k(a,b?e:f,function(){g(a,d,!1)});return b};break;default:if(!L.test(a))return!1}return{className:d,b:c}}function w(a){return M+"-"+(m==6&&N?O++:a.replace(P,function(a){return a.charCodeAt(0)}))}function D(a){return a.replace(x,h).replace(Q,o)}function g(a,c,d){var b=a.className,c=u(b,c,d);if(c!=b)a.className=c,a.parentNode.className+=i}function u(a,c,d){var b=RegExp("(^|\\s)"+c+"(\\s|$)"),e=b.test(a);return d?e?a:a+o+c:e?a.replace(b,h).replace(x,h):a}function k(a,c,d){a.attachEvent("on"+c,d)}function r(a,c){if(/^https?:\/\//i.test(a))return c.substring(0,c.indexOf("/",8))==a.substring(0,a.indexOf("/",8))?a:null;if(a.charAt(0)=="/")return c.substring(0,c.indexOf("/",8))+a;var d=c.split(/[?#]/)[0];a.charAt(0)!="?"&&d.charAt(d.length-1)!="/"&&(d=d.substring(0,d.lastIndexOf("/")+1));return d+a}function y(a){if(a)return n.open("GET",a,!1),n.send(),(n.status==200?n.responseText:i).replace(R,i).replace(S,function(c,d,b,e,f){return y(r(b||f,a))}).replace(T,function(c,d,b){d=d||i;return" url("+d+r(b,a)+d+") "});return i}function U(){var a,c;a=f.getElementsByTagName("BASE");for(var d=a.length>0?a[0].href:f.location.href,b=0;b0&&setInterval(function(){for(var a=0,c=q.length;a8||!n)){var z={NW:"*.Dom.select",MooTools:"$$",DOMAssistant:"*.$",Prototype:"$$",YAHOO:"*.util.Selector.query",Sizzle:"*",jQuery:"*",dojo:"*.query"},t,q=[],O=0,N=!0,M="slvzr",R=/(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g,S=/@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g,T=/\burl\(\s*(["']?)(?!data:)([^"')]+)\1\s*\)/g,L=/^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/,B=/:(:first-(?:line|letter))/g,C=/(^|})\s*([^\{]*?[\[:][^{]+)/g,G=/([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g,H=/(:not\()?:(hover|enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g,P=/[^\w-]/g,K=/^(INPUT|SELECT|TEXTAREA|BUTTON)$/,J=/^(checkbox|radio)$/,v=m>6?/[\$\^*]=(['"])\1/:null,E=/([(\[+~])\s+/g,F=/\s+([)\]+~])/g,Q=/\s+/g,x=/^\s*((?:[\S\s]*\S)?)\s*$/,i="",o=" ",h="$1";(function(a,c){function d(){try{p.doScroll("left")}catch(a){setTimeout(d,50);return}b("poll")}function b(d){if(!(d.type=="readystatechange"&&f.readyState!="complete")&&((d.type=="load"?a:f).detachEvent("on"+d.type,b,!1),!e&&(e=!0)))c.call(a,d.type||d)}var e=!1,g=!0;if(f.readyState=="complete")c.call(a,i);else{if(f.createEventObject&&p.doScroll){try{g=!a.frameElement}catch(h){}g&&d()}k(f,"readystatechange",b);k(a,"load",b)}})(j,function(){for(var a in z){var c,d,b=j;if(j[a]){for(c=z[a].replace("*",a).split(".");(d=c.shift())&&(b=b[d]););if(typeof b=="function"){t=b;U();break}}}})}}})(this); -------------------------------------------------------------------------------- /source/index.html.slim: -------------------------------------------------------------------------------- 1 | --- 2 | title: Blend Conference - A 3 Day Conference about User Experience, UI Design, and Development in Charlotte, NC 3 | id: home 4 | --- 5 | 6 | #intro role="banner" 7 | h1== image_tag 'content/blend-conference-logo.png', :alt => 'Blend Conference' 8 | h2 September 5 - 7, 2013 Charlotte, NC 9 | p A generalist conference featuring 50 diverse speakers sharing ideas and conversations about user experience, design, and web development. The 2013 conference was a success. Thank-you for making it amazing. 10 | 11 | a.button href="/wrapup/" Read the Wrap-up 12 | / a.button href="https://tito.io/blendconf/blendconf-2013" data-type="Register - Primary" Sold Out 13 | 14 | #skinny 15 | h2 A slightly different spin on web conferences 16 | ul 17 | li 50+ Speakers Some of the finest practitioners in user experience, design, and web development will be joining us to share some amazing ideas. 18 | li 40 Talks Over the 2 conference days there will be 40 talks total spread across 3 tracks. Pick and choose the topics that you find interesting. 19 | li 6 Workshops A full day of hands-on workshops that'll make your brain catch fire. 20 | li No Devices Wait. What? You read that right. We're going to rip you apart from the technology you love so much. Laptops, tablets and phones won't be allowed to be used during the conference sessions. 21 | li Custom Notebooks We're going analog. Each attendee will receive a nice, custom BlendConf notebook along with something fancy to write with. You'll thank us later. 22 | li Diversity We've spent fair amount of time curating speakers. We're talking basically a 50/50 male/female speaker ratio. You're going to really like these folks. 23 | 24 | form#be-notified action="http://blendconf.us7.list-manage2.com/subscribe/post?u=6091fee205a566406f3cbb24b&id=b29fcb12bc" method="post" name="mc-embedded-subscribe-form" 25 | label.h2 for="mce-EMAIL" Stay up-to-date with the latest details 26 | .email-subscription 27 | input#mce-EMAIL type="email" name="EMAIL" placeholder="Your Email Address" 28 | button type="submit" Subscribe 29 | 30 | .social-subscription 31 | span.and And 32 | a.button href="http://twitter.com/blendconf" Follow @blendconf 33 | 34 | #speakers 35 | h2 50+ speakers covering user experience, development, and design 36 | p We wanted some of the smartest & nicest folks in our industry to come to Charlotte. Boy were we excited when they said yes. Prepare to have your brains filled with some most excellent knowledge. 37 | ul.hive.hexagon 38 | - data.speakers.shuffle.first(9).each do |speaker| 39 | li class="#{speaker.name.downcase.tr(" ", "-").tr(".", "")}" 40 | strong #{speaker.name} #{speaker.company.name} 41 | a href="/speakers/#{speaker.name.downcase.tr(" ", "-").tr(".", "")}/"
42 | li class="more" 43 | strong + 43 more 44 | a href="/speakers/" 45 | 46 | #schedule 47 | h2 An amazing 3-day schedule 48 | p Each day of our web conference has 3 tracks going on at the same time covering user experience, design, and web development. 49 | 50 | ul.schedules 51 | li 52 | h3==link_to "Workshops", "/schedule#workshop-day" 53 | h4 Thursday, Sept. 5th 54 | p During our workshop day there are 6 half-day to choose from. 3 in the morning and 3 in the evening. You can pick from 2. 55 | li 56 | h3==link_to "Conference Day", "/schedule#conference-day" 57 | h4 Friday, Sept. 6th 58 | p The conference day is jam packed with two amazing keynote speakers and 16 sessions you can choose from. 59 | li 60 | h3==link_to "Blend Day", "/schedule#blend-day" 61 | h4 Saturday, Sept. 7th 62 | p Our blend day is something special. You still have 16 sessions to choose from but talks are aimed at helping you discover your inner generalist. 63 | 64 | a==link_to "Full Schedule", "/schedule/", :class => 'button' 65 | 66 | #venue 67 | / #map 68 | h2 Classic Venue & Hotel in Downtown Charlotte 69 | 70 | p The conference will be held at The Sheraton (formerly the Blake Hotel).
The Sheraton is now full. 71 | 72 | p Hotels in downtown Charlotte have filled up. There is a 2nd very large convention at the Charlotte Convention Center the earlier part of the week. If you still haven't reserved your hotel room you could potentially find something on AirBNB. 73 | 74 | a==link_to "Things to Do in Charlotte", "/venue/", :class => 'button' 75 | 76 | -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_variables.css.scss: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // Variables 3 | // Used for grayboxing. To update the theme you should 4 | // TODO: convert this to a function to generate 5 | // with color functions 6 | // ---------------------------------------------------- 7 | $black: #000 !default; 8 | $grayDarker: #222 !default; 9 | $grayDark: #333 !default; 10 | $gray: #555 !default; 11 | $grayLight: #999 !default; 12 | $grayLighter: #eee !default; 13 | $white: #fff !default; 14 | 15 | // -------------------------------------------------- 16 | // globals 17 | // -------------------------------------------------- 18 | $sub-baseline : 6px; 19 | $baseline : $sub-baseline * 3; // 18px 20 | $max-container-width : 1086px; 21 | 22 | // -------------------------------------------------- 23 | // grid 24 | // to be used with Susy 25 | // magically converts pixels to % for a fluid grid 26 | // -------------------------------------------------- 27 | $total-columns : 4; 28 | $column-width : 4em; 29 | $gutter-width : 1em; 30 | $grid-padding : 0; 31 | $show-grid-backgrounds : false; 32 | 33 | // -------------------------------------------------- 34 | // iOS dimensions 35 | // -------------------------------------------------- 36 | $navbar-height: 44px; 37 | 38 | // -------------------------------------------------- 39 | // responsive breakpoints 40 | // -------------------------------------------------- 41 | $breakpoint-tiny : 320px; 42 | $breakpoint-small : 480px; 43 | $breakpoint-medium : 600px; 44 | $breakpoint-large : 768px; 45 | $breakpoint-huge : 1080px; 46 | $breakpoint-ginormous : 1400px; 47 | 48 | // -------------------------------------------------- 49 | // colors 50 | // -------------------------------------------------- 51 | $brown : #69504a !default; 52 | $lavender : #5e79a6 !default; 53 | $aqua : #63b3b8 !default; 54 | $yellow : #e5ba3a !default; 55 | $green : #86b44e !default; 56 | $red : #dc563e !default; 57 | $dark-gray : #3e4243 !default; 58 | $light-gray : #7f888a !default; 59 | $light-blue : #bbd5d1 !default; 60 | 61 | $color-navbar : #333 !default; 62 | $color-background : lighten($color-navbar, 78%) !default; 63 | $color-aside : lighten($color-navbar, 10%) !default; 64 | 65 | $color-body-background: $color-background; 66 | $color-text : #333 !default; 67 | 68 | $color-link : #08c !default; 69 | $color-link-hover : darken($color-link, 15%) !default; 70 | 71 | // -------------------------------------------------- 72 | // hexagons 73 | // -------------------------------------------------- 74 | $hexagon-colors: ($aqua, $red, $yellow, $green, $lavender); 75 | $ratio-width: 190px; 76 | $ratio-height: 110px; 77 | $hex-ratio: calc-ratio($ratio-width, $ratio-height); 78 | $hex-width: 190px; 79 | $hex-height: calc-height($hex-width, $hex-ratio); 80 | $hex-margin: 25px; 81 | 82 | // -------------------------------------------------- 83 | // speakers 84 | // -------------------------------------------------- 85 | $speakers: (adam-connor, 86 | albert-banks, 87 | amanda-costello, 88 | anders-frostenson, 89 | andrew-hinton, 90 | andrew-maier, 91 | ashe-dryden, 92 | ben-vandgrift, 93 | brandon-mathis, 94 | bryan-veloso, 95 | cameron-moll, 96 | carl-smith, 97 | garren-dipasquale, 98 | garth-braithwaite, 99 | greg-baugues, 100 | james-white, 101 | jason-vanlue, 102 | jina-bolton, 103 | joel-van-dyke, 104 | john-long, 105 | kendra-shillington, 106 | larry-staton, 107 | leslie-j-morse, 108 | leslie-jensen-inman, 109 | lisa-welchman, 110 | magnus-bergmark, 111 | marco-suarez, 112 | marc-bolick, 113 | matt-stevens, 114 | michael-parenteau, 115 | michael-chatten, 116 | mike-bifulco, 117 | mindy-wagner, 118 | nick-finck, 119 | patrick-quattlebaum, 120 | rachel-nabors, 121 | rachel-parsons, 122 | rich-robinson, 123 | rikki-teeters, 124 | ron-edelen, 125 | sara-blake, 126 | shay-howe, 127 | teresa-rench, 128 | tessa-harmon, 129 | tim-smith, 130 | vernon-kesner, 131 | wren-lanier, 132 | wynn-netherland, 133 | yesenia-perez-cruz, 134 | yoko-harada, 135 | zoe-gillenwater 136 | ); 137 | 138 | // -------------------------------------------------- 139 | // typography 140 | // -------------------------------------------------- 141 | $font-family-sans: "Open Sans", Helvetica, Arial, sans-serif !default; 142 | $font-family-serif: Georgia, "Times New Roman", Times, serif !default; 143 | $font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace !default; 144 | 145 | $font-size-base: 14px !default; 146 | $line-height-base: $baseline !default; 147 | 148 | $font-family-headers: $font-family-sans !default; 149 | 150 | // -------------------------------------------------- 151 | // z-index 152 | // -------------------------------------------------- 153 | $z-index-dropdown: 1000 !default; 154 | $z-index-popover: 1010 !default; 155 | $z-index-tooltip: 1020 !default; 156 | $z-index-fixed: 1030 !default; 157 | $z-index-modal-background: 1040 !default; 158 | $z-index-modal: 1050 !default; 159 | -------------------------------------------------------------------------------- /source/assets/stylesheets/structure/_normalize.css.scss: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // Normalize 3 | // ---------------------------------------------------- 4 | 5 | // ---------------------------------------------------- 6 | // Resets every element to use border-box, a much 7 | // more friendly way to calculate margins, padding, 8 | // borders, etc. for the box model 9 | // ---------------------------------------------------- 10 | * { 11 | @include box-sizing("border-box"); 12 | } 13 | 14 | // ---------------------------------------------------- 15 | // HTML5 Fixes 16 | // Corrects block display not defined in IE6/7/8/9 & FF3 17 | // ---------------------------------------------------- 18 | article, 19 | aside, 20 | details, 21 | figcaption, 22 | figure, 23 | footer, 24 | header, 25 | hgroup, 26 | nav, 27 | section { 28 | display: block; 29 | } 30 | 31 | // ---------------------------------------------------- 32 | // Fixes inline-block on IE6-9, FF3 33 | // ---------------------------------------------------- 34 | audio, 35 | canvas, 36 | video { 37 | display: inline-block; 38 | *display: inline; 39 | *zoom: 1; 40 | } 41 | 42 | // ---------------------------------------------------- 43 | // Prevents from displaying 'audio' without controls 44 | // ---------------------------------------------------- 45 | audio:not([controls]) { 46 | display: none; 47 | } 48 | 49 | // ---------------------------------------------------- 50 | // Helps hidden attr work in IE7-9, FF3 51 | // ---------------------------------------------------- 52 | [hidden] { 53 | display: none; 54 | } 55 | 56 | // ---------------------------------------------------- 57 | // Root element fixes 58 | // 1. Fixes text resize in IE6-7 59 | // 2. Always shows the scroll bar 60 | // 3. Fixes iOS text size adjustment after orientation change 61 | // ---------------------------------------------------- 62 | html { 63 | font-size: 100%; 64 | overflow-y: scroll; 65 | -webkit-text-size-adjust: 100%; 66 | -ms-text-size-adjust: 100%; 67 | } 68 | body { 69 | margin: 0; 70 | } 71 | 72 | // ---------------------------------------------------- 73 | // Links 74 | // ---------------------------------------------------- 75 | a:focus { 76 | outline: thin dotted; 77 | } 78 | 79 | a:hover, 80 | a:active { 81 | outline: 0; 82 | } 83 | 84 | // ---------------------------------------------------- 85 | // Typography 86 | // ---------------------------------------------------- 87 | abbr[title] { 88 | border-bottom: 1px dotted; 89 | } 90 | 91 | b, strong { 92 | font-weight: bold; 93 | } 94 | 95 | dfn { 96 | font-style: italic; 97 | } 98 | 99 | mark { 100 | background: #ff0; 101 | color: #000; 102 | } 103 | 104 | pre, 105 | code, 106 | kbd, 107 | samp { 108 | font-family: monospace, serif; 109 | _font-family: 'courier new', monospace; 110 | font-size: 1em; 111 | } 112 | 113 | pre { 114 | white-space: pre; 115 | white-space: pre-wrap; 116 | word-wrap: break-word; 117 | } 118 | 119 | sub, sup { 120 | font-size: 75%; 121 | line-height: 0; 122 | position: relative; 123 | vertical-align: baseline; 124 | } 125 | 126 | sup { 127 | top: -0.5em; 128 | } 129 | 130 | sub { 131 | bottom: -0.25em; 132 | } 133 | 134 | // ---------------------------------------------------- 135 | // Lists 136 | // ---------------------------------------------------- 137 | ul, 138 | ol { 139 | margin-left: 0; 140 | padding: 0 0 0 40px; 141 | } 142 | 143 | dd { 144 | margin: 0 0 0 40px; 145 | } 146 | 147 | nav ul, 148 | nav ol { 149 | list-style: none; 150 | list-style-image: none; 151 | } 152 | 153 | // ---------------------------------------------------- 154 | // Embedded content 155 | // ---------------------------------------------------- 156 | img { 157 | border: 0; 158 | -ms-interpolation-mode: bicubic; 159 | } 160 | svg:not(:root) { 161 | overflow: hidden; 162 | } 163 | 164 | // ---------------------------------------------------- 165 | // Figures, fixes margin in IE6-9 166 | // ---------------------------------------------------- 167 | figure { 168 | margin: 0; 169 | } 170 | 171 | // ---------------------------------------------------- 172 | // Forms 173 | // ---------------------------------------------------- 174 | form { 175 | margin: 0; 176 | } 177 | 178 | fieldset { 179 | border: 1px solid #c0c0c0; 180 | margin: 0 2px; 181 | padding: 0.35em 0.625em 0.75em; 182 | } 183 | 184 | legend { 185 | border: 0; 186 | *margin-left: -7px; 187 | } 188 | 189 | button, 190 | input, 191 | select, 192 | textarea { 193 | font-size: 100%; 194 | margin: 0; 195 | vertical-align: baseline; 196 | *vertical-align: middle; 197 | } 198 | 199 | button, 200 | input { 201 | line-height: normal; 202 | } 203 | 204 | button, 205 | input[type="button"], 206 | input[type="reset"], 207 | input[type="submit"] { 208 | cursor: pointer; 209 | -webkit-appearance: button; 210 | *overflow: visible; 211 | } 212 | 213 | input[type="checkbox"], 214 | input[type="radio"] { 215 | box-sizing: border-box; 216 | padding: 0; 217 | } 218 | 219 | input[type="search"] { 220 | -webkit-appearance: textfield; 221 | -moz-box-sizing: content-box; 222 | -webkit-box-sizing: content-box; 223 | box-sizing: content-box; 224 | } 225 | 226 | // Removes inner padding that is displayed in S5, Chrome on OS X 227 | input[type="search"]::-webkit-search-decoration { 228 | -webkit-appearance: none; 229 | } 230 | 231 | // Removes inner padding and border in FF3+ 232 | button::-moz-focus-inner, 233 | input::-moz-focus-inner { 234 | border: 0; 235 | padding: 0; 236 | } 237 | 238 | textarea { 239 | overflow: auto; 240 | vertical-align: top; 241 | } 242 | 243 | 244 | // ---------------------------------------------------- 245 | // Tables 246 | // ---------------------------------------------------- 247 | table { 248 | border-collapse: collapse; 249 | border-spacing: 0; 250 | } 251 | -------------------------------------------------------------------------------- /source/assets/stylesheets/responsive/_large.css.scss: -------------------------------------------------------------------------------- 1 | @include with-grid-settings(12) { 2 | #container { 3 | @include container; 4 | @include susy-grid-background; 5 | max-width: 100%; 6 | } 7 | #home div > div[id], 8 | #home div > form[id], 9 | #sponsors { 10 | h2, .h2 { 11 | border-left: 0px; 12 | margin-left: auto; 13 | margin-right: auto; 14 | padding-left: 0; 15 | text-align: center; 16 | } 17 | > p { 18 | text-align: center; 19 | } 20 | } 21 | #skinny { 22 | @include clearfix; 23 | ul { 24 | margin: 0 auto; 25 | // max-width: 850px; 26 | } 27 | li { 28 | @include span-columns(4); 29 | min-height: 180px; 30 | } 31 | li:nth-child(even) { 32 | @include remove-omega; 33 | } 34 | li:nth-child(3n) { 35 | @include omega; 36 | } 37 | } 38 | 39 | #masthead { 40 | h1 { 41 | text-align: center; 42 | } 43 | #speaker-detail & { 44 | text-align: center; 45 | } 46 | } 47 | 48 | //-------------------------------------------------------- 49 | // main nav 50 | //-------------------------------------------------------- 51 | nav[role="navigation"] { 52 | height: $baseline*3; 53 | line-height: auto; 54 | margin: 0 auto; 55 | min-height: auto; 56 | padding: 0; 57 | ul { 58 | background-color: transparent; 59 | display: block; 60 | margin: 0 0 0 80px; 61 | padding-bottom: 0; 62 | top: -9px; 63 | #home & { 64 | margin-left: 0; 65 | } 66 | } 67 | li { 68 | display: inline-block; 69 | margin: 0 $sub-baseline; 70 | &:first-child a { 71 | border: 0; 72 | } 73 | &:last-child { 74 | position: absolute; 75 | right: 6px; 76 | a { 77 | padding: 0 $baseline; 78 | } 79 | } 80 | a { 81 | border: 0; 82 | display: inline-block; 83 | height: $baseline*2; 84 | line-height: $baseline*2; 85 | padding: $baseline $sub-baseline; 86 | } 87 | } 88 | #nav-toggle { 89 | display: none; 90 | } 91 | .home { 92 | background-color: inherit; 93 | #home & { 94 | display: none; 95 | } 96 | } 97 | } 98 | //-------------------------------------------------------- 99 | // newsletter / updates 100 | //-------------------------------------------------------- 101 | #be-notified { 102 | .email-subscription { 103 | float: left; 104 | width: columns(6); 105 | } 106 | .social-subscription { 107 | float: right; 108 | padding: $sub-baseline*5 0 0 $baseline*4; 109 | position: relative; 110 | width: columns(6); 111 | } 112 | .and { 113 | float: left; 114 | margin: 0; 115 | position: absolute; 116 | left: 0; 117 | &:before, &:after { 118 | display: none; 119 | } 120 | } 121 | .button { 122 | float: left; 123 | } 124 | } 125 | 126 | //-------------------------------------------------------- 127 | // speaker hive 128 | //-------------------------------------------------------- 129 | .hive { 130 | width: ($hex-width*3)+($hex-margin)*2; 131 | // reset from the previous mq 132 | li:nth-child(3n+1), 133 | li:nth-child(3n+2), 134 | li:nth-child(3n+3) { 135 | margin-left: 0; 136 | } 137 | li:nth-child(5n+1) { 138 | float: left; 139 | } 140 | li:nth-child(5n+2) { 141 | float: left; 142 | margin-left: $hex-margin; 143 | } 144 | li:nth-child(5n+3) { 145 | float: left; 146 | margin-left: $hex-margin; 147 | } 148 | li:nth-child(5n+4) { 149 | float: left; 150 | margin-left: 108px; 151 | } 152 | li:nth-child(5n+5) { 153 | float: left; 154 | margin-left: $hex-margin; 155 | } 156 | } 157 | 158 | //-------------------------------------------------------- 159 | // schedule / sessions 160 | //-------------------------------------------------------- 161 | .session-groups { 162 | @include clearfix; 163 | .day, .time { 164 | clear: both; 165 | } 166 | .session { 167 | @include clearfix; 168 | .ux, .ui, .dev { 169 | @include span-columns(4); 170 | } 171 | .dev { 172 | @include omega(); 173 | } 174 | } 175 | } 176 | #schedule { 177 | .schedules { 178 | @include clearfix; 179 | margin-bottom: 0; 180 | li { 181 | @include span-columns(4); 182 | &:last-child { 183 | @include omega(); 184 | } 185 | } 186 | p { 187 | text-align: left; 188 | } 189 | } 190 | } 191 | #sponsors { 192 | .title { 193 | 194 | } 195 | .primary { 196 | li { 197 | @include reset-columns(); 198 | @include span-columns(6); 199 | } 200 | } 201 | .secondary { 202 | li { 203 | @include reset-columns(); 204 | @include span-columns(4); 205 | &:nth-child(even) { 206 | @include remove-omega(); 207 | } 208 | &:nth-child(3n) { 209 | @include omega(); 210 | } 211 | &:last-child { 212 | @include push(4); 213 | } 214 | } 215 | } 216 | .tertiary, 217 | .community { 218 | li { 219 | @include reset-columns(); 220 | @include span-columns(3); 221 | &:nth-child(even) { 222 | @include reset-columns(); 223 | @include span-columns(3); 224 | } 225 | &:nth-child(3n) { 226 | @include remove-omega(); 227 | } 228 | &:nth-child(4n) { 229 | @include omega(); 230 | } 231 | &:last-child { 232 | @include push(4.35); 233 | } 234 | } 235 | } 236 | .community li { 237 | &:nth-child(4n) { 238 | @include push(0); 239 | } 240 | } 241 | .tertiary li { 242 | &:last-child { 243 | @include push(0); 244 | } 245 | &:nth-child(9n) { 246 | @include push(3); 247 | } 248 | } 249 | } 250 | //-------------------------------------------------------- 251 | // wrapup 252 | //-------------------------------------------------------- 253 | #wrapup { 254 | #masthead { 255 | h1 { 256 | margin-bottom: $baseline/2; 257 | } 258 | p { 259 | text-align: center; 260 | } 261 | .button { 262 | margin: $baseline/2 auto 0; 263 | } 264 | } 265 | } 266 | } 267 | 268 | 269 | -------------------------------------------------------------------------------- /source/assets/javascripts/libs/modernizr.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-shiv-mq-cssclasses-teststyles-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function w(a){j.cssText=a}function x(a,b){return w(prefixes.join(a+";")+(b||""))}function y(a,b){return typeof a===b}function z(a,b){return!!~(""+a).indexOf(b)}function A(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:y(f,"function")?f.bind(d||b):f}return!1}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m={},n={},o={},p=[],q=p.slice,r,s=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},t=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return s("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},u={}.hasOwnProperty,v;!y(u,"undefined")&&!y(u.call,"undefined")?v=function(a,b){return u.call(a,b)}:v=function(a,b){return b in a&&y(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=q.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(q.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(q.call(arguments)))};return e});for(var B in m)v(m,B)&&(r=B.toLowerCase(),e[r]=m[B](),p.push((e[r]?"":"no-")+r));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)v(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},w(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e.mq=t,e.testStyles=s,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+p.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f div[id], 22 | #home div > form[id] { 23 | padding: $baseline*5 5% $baseline*3; 24 | position: relative; 25 | &:before { 26 | content: ""; 27 | @include arrow(bottom, #000, 50px); 28 | margin-left: -50px; 29 | position: absolute; 30 | top: 0; 31 | left: 50%; 32 | } 33 | h2, .h2 { 34 | max-width: $max-container-width; 35 | } 36 | p { 37 | max-width: $max-container-width/1.5; 38 | } 39 | } 40 | 41 | h2, .h2 { 42 | border-left: 1px solid; 43 | font-size: 42px; 44 | font-weight: 200; 45 | line-height: 1; 46 | margin: 0 auto $baseline*3; 47 | max-width: $max-container-width; 48 | padding-left: $sub-baseline*2; 49 | text-align: left; 50 | text-transform: uppercase; 51 | } 52 | p, ul { 53 | margin: 0 auto 1em; 54 | max-width: $max-container-width; 55 | &:last-child { 56 | margin-bottom: 0; 57 | } 58 | } 59 | a { 60 | color: $lavender; 61 | text-decoration: underline; 62 | } 63 | article { 64 | background-color: transparent; 65 | margin: 0 auto; 66 | padding: $baseline*5 5% $baseline*3; 67 | max-width: $max-container-width; 68 | &.basic-content { 69 | max-width: $max-container-width/1.4; 70 | h2 { 71 | margin-top: $baseline*2; 72 | margin-bottom: $baseline; 73 | } 74 | ul { 75 | padding-left: $baseline; 76 | } 77 | li { 78 | margin-bottom: $sub-baseline; 79 | &:last-child { 80 | margin-bottom: 0; 81 | } 82 | } 83 | } 84 | } 85 | 86 | //-------------------------------------------------------- 87 | // main nav 88 | //-------------------------------------------------------- 89 | nav[role="navigation"] { 90 | background-color: $dark-gray; 91 | @include clearfix; 92 | min-height: $baseline*3; 93 | position: fixed; 94 | top: 0; 95 | right: 0; 96 | left: 0; 97 | z-index: 1000; 98 | ul { 99 | background-color: $dark-gray; 100 | display: none; 101 | margin: 0 auto; 102 | max-width: 100%; 103 | // padding: 0 5%; 104 | padding-bottom: $baseline; 105 | position: relative; 106 | top: $baseline*3; 107 | } 108 | li { 109 | margin: 0 $baseline; 110 | &:first-child a { 111 | border-top: 1px solid lighten($dark-gray, 3%); 112 | } 113 | a { 114 | color: lighten($light-gray, 20%); 115 | border-bottom: 1px solid lighten($dark-gray, 3%); 116 | display: block; 117 | padding: $baseline; 118 | text-align: center; 119 | text-decoration: none; 120 | &:hover, &:focus { 121 | color: #fff; 122 | } 123 | &.button { 124 | color: #fff; 125 | margin-top: $baseline; 126 | } 127 | } 128 | } 129 | .home, 130 | #nav-toggle { 131 | background-color: darken($dark-gray, 5%); 132 | @include border-radius(4px); 133 | color: lighten($dark-gray, 40%); 134 | height: $sub-baseline*7; 135 | line-height: $sub-baseline*7; 136 | padding: 0 $sub-baseline*2; 137 | text-decoration: none; 138 | } 139 | .home { 140 | 141 | position: absolute; 142 | top: $sub-baseline; 143 | left: $sub-baseline; 144 | #home & { 145 | display: none; 146 | } 147 | } 148 | #nav-toggle { 149 | position: absolute; 150 | top: $sub-baseline; 151 | right: $sub-baseline; 152 | } 153 | } 154 | 155 | //-------------------------------------------------------- 156 | // intro 157 | //-------------------------------------------------------- 158 | #intro { 159 | background-color: $aqua; 160 | color: $dark-gray; 161 | padding-top: $baseline*3 !important; 162 | text-align: center; 163 | &:before { 164 | display: none !important; 165 | // border-top-color: $dark-gray !important; 166 | } 167 | h1 { 168 | margin: 0 auto .5em; 169 | max-width: 320px; 170 | padding-bottom: 0; 171 | } 172 | h2 { 173 | border-width: 0; 174 | font-size: 20px; 175 | font-style: italic; 176 | font-weight: 400; 177 | padding-left: 0; 178 | text-align: center; 179 | text-transform: uppercase; 180 | span { 181 | display: block; 182 | } 183 | } 184 | img { 185 | display: block; 186 | width: 100%; 187 | } 188 | p { 189 | font-size: 18px; 190 | margin: 2em auto; 191 | } 192 | .button { 193 | font-size: 18px; 194 | } 195 | } 196 | 197 | //-------------------------------------------------------- 198 | // newsletter / updates 199 | //-------------------------------------------------------- 200 | #be-notified { 201 | background-color: $dark-gray; 202 | @include clearfix; 203 | color: lighten($light-gray, 30%); 204 | padding: $baseline*3 5%; 205 | &:before { 206 | border-top-color: $red !important; 207 | } 208 | label { 209 | display: block; 210 | } 211 | input { 212 | border: 1px solid darken($dark-gray, 10%); 213 | @include border-radius(4px); 214 | margin-bottom: $sub-baseline; 215 | padding: $baseline 0; 216 | text-align: center; 217 | width: 100%; 218 | } 219 | button { 220 | margin-bottom: $baseline*2; 221 | width: 100%; 222 | } 223 | .and { 224 | background-color: lighten($dark-gray, 10%); 225 | @include border-radius($baseline*3); 226 | display: block; 227 | height: $baseline*3; 228 | font-style: italic; 229 | line-height: $baseline*3; 230 | margin: 0 auto $baseline*2; 231 | position: relative; 232 | text-align: center; 233 | text-transform: uppercase; 234 | width: $baseline*3; 235 | &:before, &:after { 236 | background-color: lighten($dark-gray, 10%); 237 | content: ""; 238 | display: block; 239 | height: 1px; 240 | position: absolute; 241 | top: ($baseline*3)/2; 242 | width: $baseline*2; 243 | } 244 | &:before { 245 | left: -$baseline*3; 246 | } 247 | &:after { 248 | right: -$baseline*3; 249 | } 250 | } 251 | } 252 | 253 | //-------------------------------------------------------- 254 | // button 255 | //-------------------------------------------------------- 256 | .cta { 257 | clear: both; 258 | } 259 | .button, button { 260 | background-color: $red; 261 | border: 0px; 262 | @include border-radius(4px); 263 | color: #fff; 264 | display: inline-block; 265 | padding: 1em; 266 | position: relative; 267 | text-align: center; 268 | text-transform: uppercase; 269 | width: 100%; 270 | text-decoration: none; 271 | &:hover { 272 | background-color: darken($red, 5%); 273 | } 274 | span { 275 | color: darken($aqua, 30%); 276 | font-size: .8em; 277 | position: absolute; 278 | left: 0; 279 | right: 0; 280 | bottom: -24px; 281 | } 282 | } 283 | 284 | //-------------------------------------------------------- 285 | // news 286 | //-------------------------------------------------------- 287 | #news { 288 | background-color: $dark-gray; 289 | color: lighten($dark-gray, 50%); 290 | padding-top: 2em; 291 | padding-bottom: 2em; 292 | text-align: center; 293 | } 294 | 295 | //-------------------------------------------------------- 296 | // the skinny 297 | //-------------------------------------------------------- 298 | #skinny { 299 | background-color: $red; 300 | color: darken($red, 40%); 301 | &:before { 302 | border-top-color: $aqua !important; 303 | } 304 | ul { 305 | @include clearfix; 306 | list-style: none; 307 | margin: 0; 308 | padding: 0; 309 | } 310 | li { 311 | line-height: 1.4; 312 | margin-bottom: 1.2em; 313 | } 314 | strong{ 315 | display: block; 316 | font-size: 1.2em; 317 | text-transform: uppercase; 318 | } 319 | a { 320 | color: lighten($red, 10%); 321 | &:hover { 322 | color: lighten($red, 20%); 323 | } 324 | } 325 | } 326 | 327 | //-------------------------------------------------------- 328 | // speakers 329 | //-------------------------------------------------------- 330 | #speakers { 331 | color: $dark-gray; 332 | &:before { 333 | border-top-color: $dark-gray !important; 334 | } 335 | .button { 336 | background-color: $aqua; 337 | display: block; 338 | margin: .5em auto 0; 339 | &:hover { 340 | background-color: darken($aqua, 10%); 341 | } 342 | } 343 | } 344 | .simple-hexagon { 345 | 346 | } 347 | .hexagon { 348 | > li { 349 | display: block; 350 | margin: 0 0 $hex-margin*4 ; 351 | position: relative; 352 | z-index: 10; 353 | height: $hex-height; 354 | 355 | &:before, &:after { 356 | content: ""; 357 | display: block; 358 | height: $hex-height; 359 | position: absolute; 360 | top: 0; 361 | left: 0; 362 | width: $hex-width; 363 | z-index: -3; 364 | -webkit-backface-visibility: hidden; 365 | } 366 | &:before { 367 | @include rotate(60deg); 368 | } 369 | &:after { 370 | @include rotate(-60deg); 371 | } 372 | 373 | strong{ 374 | color: lighten($aqua, 35%); 375 | @include opacity(0); 376 | position: absolute; 377 | top: 50%; 378 | left: 0; 379 | right: 0; 380 | text-align: center; 381 | text-transform: uppercase; 382 | z-index: 15; 383 | @include transition(all 0.2s ease); 384 | span { 385 | display: block; 386 | font-size: .8em; 387 | font-weight: normal; 388 | text-transform: none; 389 | } 390 | } 391 | .right-hex, .left-hex { 392 | height: $hex-height; 393 | overflow: hidden; 394 | position: absolute; 395 | top: 0; 396 | left: 0; 397 | z-index: -2; 398 | width: $hex-width; 399 | -webkit-backface-visibility: hidden; 400 | 401 | &:before { 402 | background-position: 50% 50%; 403 | @include background-size(116% auto); 404 | position: absolute; 405 | top: -55px; 406 | left: 0; 407 | content: ""; 408 | width: $hex-width; 409 | height: $hex-height*2; 410 | } 411 | } 412 | .right-hex { 413 | @include rotate(-60deg); 414 | &:before { 415 | @include rotate(60deg); 416 | } 417 | } 418 | .left-hex { 419 | @include rotate(60deg); 420 | &:before { 421 | @include rotate(-60deg); 422 | } 423 | } 424 | a { 425 | background-position: 50% 50%; 426 | @include background-size(116% auto); 427 | border: none; 428 | cursor: default; 429 | display: block; 430 | height: $hex-height; 431 | @include transition(all 0.2s ease); 432 | width: $hex-width; 433 | } 434 | &:hover { 435 | a{ 436 | opacity: .2; 437 | } 438 | strong { 439 | opacity: 1; 440 | top: 35%; 441 | } 442 | } 443 | } 444 | } 445 | 446 | .hive { 447 | @include clearfix; 448 | list-style: none; 449 | margin: 0 auto; 450 | padding: 4em 0 0; 451 | width: 260px; 452 | li { 453 | *{ 454 | cursor: pointer; 455 | } 456 | &:nth-child(even) { 457 | margin-left: $hex-margin*3; 458 | } 459 | float: left; 460 | @for $i from 1 through length($hexagon-colors) { 461 | &:nth-child(5n+#{$i}),&:nth-child(5n+#{$i}):before, &:nth-child(5n+#{$i}):after { 462 | background-color: nth($hexagon-colors, $i); 463 | } 464 | } 465 | @each $speaker in $speakers { 466 | &.#{$speaker} a, &.#{$speaker} .right-hex:before, &.#{$speaker} .left-hex:before { 467 | background-image: url('/assets/images/content/speakers/#{$speaker}.jpg'); 468 | } 469 | } 470 | &.more { 471 | &, 472 | &:before, 473 | &:after { 474 | background-color: $dark-gray; 475 | } 476 | strong { 477 | @include opacity(1); 478 | text-decoration: underline; 479 | top: 40%; 480 | } 481 | } 482 | } 483 | } 484 | 485 | #speaker-detail { 486 | #masthead { 487 | a { 488 | color: fff; 489 | } 490 | } 491 | } 492 | 493 | 494 | #speaker-index article { 495 | p { 496 | max-width: $max-container-width/1.5; 497 | } 498 | } 499 | 500 | //-------------------------------------------------------- 501 | // schedule 502 | //-------------------------------------------------------- 503 | #schedule { 504 | background-color: $lavender; 505 | color: darken($lavender, 40%); 506 | &:before { 507 | border-top-color: $color-body-background !important; 508 | } 509 | a { 510 | color: darken($lavender, 40%); 511 | &:hover, &:focus { 512 | color: darken($lavender, 30%); 513 | } 514 | } 515 | a.button { 516 | background-color: darken($lavender, 30%); 517 | color: lighten($lavender, 30%); 518 | display: block; 519 | margin: 0 auto; 520 | &:hover, &:focus { 521 | background-color: darken($lavender, 35%); 522 | color: lighten($lavender, 40%); 523 | } 524 | } 525 | .schedules { 526 | margin: $baseline*2 0; 527 | padding: 0; 528 | list-style: none; 529 | h4 { 530 | font-weight: normal; 531 | font-style: italic; 532 | margin-bottom: $sub-baseline; 533 | } 534 | li { 535 | margin-bottom: $baseline*2; 536 | &:last-child { 537 | margin-bottom: 0; 538 | } 539 | } 540 | } 541 | } 542 | 543 | //-------------------------------------------------------- 544 | // venue 545 | //-------------------------------------------------------- 546 | #venue { 547 | background-color: $yellow; 548 | color: darken($yellow, 40%); 549 | &:before { 550 | border-top-color: $lavender !important; 551 | } 552 | a { 553 | color: darken($yellow, 60%); 554 | text-decoration: underline; 555 | &:hover { 556 | color: darken($yellow, 70%); 557 | } 558 | } 559 | a.button { 560 | background-color: darken($yellow, 20%); 561 | display: block; 562 | margin: 0 auto; 563 | color: lighten($yellow, 30%); 564 | text-decoration: none; 565 | &:hover, &:focus { 566 | background-color: darken($yellow, 25%); 567 | color: lighten($yellow, 40%); 568 | } 569 | } 570 | } 571 | //-------------------------------------------------------- 572 | // sponsorship 573 | //-------------------------------------------------------- 574 | #sponsors { 575 | background-color: $green; 576 | color: darken($green, 40%); 577 | padding: $baseline*3 5%; 578 | &:before { 579 | border-top-color: $yellow !important; 580 | } 581 | a { 582 | color: darken($green, 60%); 583 | text-decoration: underline; 584 | &:hover { 585 | color: darken($green, 80%); 586 | } 587 | } 588 | p { 589 | margin-bottom: $baseline*3; 590 | max-width: $max-container-width/1.5; 591 | } 592 | img { 593 | display: block; 594 | margin: 0 auto; 595 | width: 100%; 596 | } 597 | ul { 598 | border-bottom: 1px solid lighten($green, 5%); 599 | @include clearfix; 600 | margin: 0; 601 | padding: $baseline*2 0 $baseline; 602 | list-style: none; 603 | li { 604 | background: lighten($green, 10%); 605 | @include border-radius(4px); 606 | margin-bottom: $baseline; 607 | } 608 | a { 609 | display: block; 610 | padding: $baseline; 611 | } 612 | } 613 | .community li, 614 | .tertiary li { 615 | @include span-columns(2); 616 | &:nth-child(even) { 617 | @include omega(); 618 | } 619 | &:last-child { 620 | @include push(1); 621 | } 622 | } 623 | .tertiary li { 624 | &:last-child { 625 | @include push(0); 626 | } 627 | } 628 | } 629 | //-------------------------------------------------------- 630 | // footer 631 | //-------------------------------------------------------- 632 | footer[role="contentinfo"] { 633 | background-color: $dark-gray; 634 | color: lighten($dark-gray, 50%); 635 | font-size: 80%; 636 | padding: $baseline*3 5%; 637 | text-align: center; 638 | } 639 | 640 | //-------------------------------------------------------- 641 | // masthead 642 | //-------------------------------------------------------- 643 | #masthead { 644 | padding: $baseline*3 5%; 645 | position: relative; 646 | #sessions &, 647 | #wrapup & { 648 | background-color: $lavender; 649 | color: lighten($lavender, 35%); 650 | &:before { 651 | border-top-color: $lavender !important; 652 | } 653 | } 654 | #refund-policy & { 655 | background-color: $red; 656 | color: lighten($red, 35%); 657 | &:before { 658 | border-top-color: $red !important; 659 | } 660 | } 661 | #venue-activities & { 662 | background-color: $yellow; 663 | color: lighten($yellow, 35%); 664 | &:before { 665 | border-top-color: $yellow !important; 666 | } 667 | } 668 | #code-of-conduct &, 669 | #purpose & { 670 | background-color: $red; 671 | color: lighten($red, 35%); 672 | &:before { 673 | border-top-color: $red !important; 674 | } 675 | } 676 | #speaker-index &, 677 | #speaker-detail &, 678 | #session-detail & { 679 | background-color: $aqua; 680 | color: lighten($aqua, 35%); 681 | &:before { 682 | border-top-color: $aqua !important; 683 | } 684 | a { 685 | color: lighten($aqua, 35%); 686 | font-size: 1.2em; 687 | font-style: italic; 688 | &:before { 689 | content: "of "; 690 | } 691 | &:hover, &:focus { 692 | text-decoration: underline; 693 | } 694 | } 695 | } 696 | &:before { 697 | content: ""; 698 | @include arrow(bottom, #000, 50px); 699 | margin-left: -50px; 700 | position: absolute; 701 | bottom: -50px; 702 | left: 50%; 703 | } 704 | h1 { 705 | font-size: 54px; 706 | font-weight: 200; 707 | line-height: 1; 708 | text-transform: uppercase; 709 | margin: 0 auto; 710 | max-width: $max-container-width; 711 | } 712 | } 713 | //-------------------------------------------------------- 714 | // sessions 715 | //-------------------------------------------------------- 716 | .session-groups{ 717 | padding: $baseline*5 5% $baseline*3; 718 | h2 { 719 | font-size: 2.6em; 720 | margin-bottom: 0; 721 | } 722 | h3 { 723 | font-style: italic; 724 | font-weight: 200; 725 | margin: 0 0 $baseline*2 $sub-baseline*2; 726 | } 727 | } 728 | .day { 729 | padding-bottom: $baseline*2; 730 | &:last-child { 731 | padding-bottom: 0; 732 | } 733 | .titles { 734 | display: none; 735 | } 736 | ul { 737 | margin: 0 0 $baseline;; 738 | padding: 0; 739 | position: relative; 740 | list-style: none; 741 | .time { 742 | border-bottom: 1px solid lighten($dark-gray, 60%); 743 | color: lighten($dark-gray, 30%); 744 | font-weight: normal; 745 | padding: 0 5% $sub-baseline 0; 746 | } 747 | } 748 | a { 749 | color: $color-text; 750 | cursor: pointer; 751 | font-size: .9em; 752 | text-decoration: none; 753 | &:hover, &:focus { 754 | color: $color-text; 755 | text-decoration: underline; 756 | } 757 | } 758 | .description { 759 | padding: $sub-baseline 0 $sub-baseline*2; 760 | } 761 | h4 { 762 | color: $lavender; 763 | font-size: 1.4em; 764 | font-weight: bold; 765 | line-height: 1.2; 766 | a, a:hover { 767 | color: $lavender; 768 | } 769 | } 770 | .lunch h4, 771 | .registration h4 { 772 | color: $color-text; 773 | } 774 | h5 { 775 | color: lighten($dark-gray, 40%); 776 | font-size: .8em; 777 | font-weight: normal; 778 | font-style: italic; 779 | margin-bottom: $sub-baseline; 780 | } 781 | 782 | .speaker { 783 | font-weight: bold; 784 | line-height: 1; 785 | &:after { 786 | color: lighten($dark-gray, 50%); 787 | content: "/"; 788 | // display: inline-block; 789 | font-style: italic; 790 | font-weight: normal; 791 | margin: 0 $sub-baseline; 792 | text-align: center; 793 | } 794 | .company { 795 | line-height: 1; 796 | } 797 | } 798 | // hiding duplicate sessions 799 | // super hackish but /shrug 800 | .session-20, 801 | .session-27, 802 | .session-25, 803 | .session-31, 804 | .session-39 { 805 | display: none !important; // just in-case something of a higher specificity tries overrides 806 | } 807 | } 808 | 809 | #unicorn-tickets { 810 | background-color: $aqua; 811 | text-align: center; 812 | img { 813 | display: block; 814 | margin: 0 auto $baseline*2; 815 | width: 80%; 816 | } 817 | #container { 818 | margin: 20px auto; 819 | padding: 5%; 820 | max-width: 500px; 821 | } 822 | } 823 | 824 | //-------------------------------------------------------- 825 | // Wrapup 826 | //-------------------------------------------------------- 827 | .wrapup-video { 828 | position: relative; 829 | padding-bottom: 56.25%; /* 16:9 */ 830 | height: 0; 831 | iframe { 832 | position: absolute; 833 | top: 0; 834 | left: 0; 835 | width: 100%; 836 | height: 100%; 837 | } 838 | } 839 | 840 | #wrapup { 841 | #masthead { 842 | h1 { 843 | margin-bottom: $baseline*2; 844 | } 845 | .button { 846 | display: block; 847 | margin-top: $baseline; 848 | padding: $baseline/3 $baseline; 849 | width: 100%; 850 | } 851 | } 852 | .sessions, .articles { 853 | list-style: none; 854 | margin: 0; 855 | padding: 0; 856 | h3 small { 857 | font-size: .8em; 858 | } 859 | li { 860 | border-bottom: 1px solid lighten($light-gray, 30%); 861 | padding: $baseline/2 0 $baseline; 862 | } 863 | a { 864 | text-decoration: none; 865 | &:hover { 866 | text-decoration: underline; 867 | } 868 | } 869 | .speaker, .author { 870 | font-size: .8em; 871 | } 872 | } 873 | .slides { 874 | display: inline-block; 875 | font-size: .8em; 876 | margin-left: $sub-baseline; 877 | } 878 | .quotes { 879 | list-style: none; 880 | margin: 0; 881 | padding: 0; 882 | li { 883 | padding: $baseline 0; 884 | } 885 | .tweet { 886 | margin-right: $baseline/2; 887 | } 888 | a { 889 | display: inline-block; 890 | text-decoration: none; 891 | &:before { 892 | content: "– "; 893 | } 894 | &:hover { 895 | text-decoration: underline; 896 | } 897 | } 898 | } 899 | } 900 | 901 | #session-detail { 902 | #masthead { 903 | a { 904 | display: block; 905 | margin: $baseline auto 0; 906 | text-align: center; 907 | &:before { 908 | content: ""; 909 | } 910 | } 911 | } 912 | } 913 | // @media print { 914 | // @import "themes/print"; 915 | // } 916 | 917 | // Mobile 918 | //-------------------------------------------------------- 919 | @media only screen and (min-width: $breakpoint-small) { 920 | @import "responsive/small"; 921 | } 922 | 923 | // Tablet 924 | //-------------------------------------------------------- 925 | @media only screen and (min-width: $breakpoint-medium) { 926 | @import "responsive/medium"; 927 | } 928 | 929 | // Desktop 930 | //-------------------------------------------------------- 931 | @media only screen and (min-width: $breakpoint-large) { 932 | @import "responsive/large"; 933 | } 934 | @media only screen and (min-width: $breakpoint-huge) { 935 | @import "responsive/huge"; 936 | } 937 | 938 | // Retina/High Density Displays 939 | // @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { 940 | // @import "responsive/hdd"; 941 | // } 942 | -------------------------------------------------------------------------------- /source/assets/javascripts/libs/zepto.js: -------------------------------------------------------------------------------- 1 | /* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event ajax form fx - zeptojs.com/license */ 2 | (function(a){String.prototype.trim===a&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Array.prototype.reduce===a&&(Array.prototype.reduce=function(b){if(this===void 0||this===null)throw new TypeError;var c=Object(this),d=c.length>>>0,e=0,f;if(typeof b!="function")throw new TypeError;if(d==0&&arguments.length==1)throw new TypeError;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);while(e0?c.fn.concat.apply([],a):a}function O(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function P(a){return a in j?j[a]:j[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function Q(a,b){return typeof b=="number"&&!l[O(a)]?b+"px":b}function R(a){var b,c;return i[a]||(b=h.createElement(a),h.body.appendChild(b),c=k(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),i[a]=c),i[a]}function S(a){return"children"in a?f.call(a.children):c.map(a.childNodes,function(a){if(a.nodeType==1)return a})}function T(c,d,e){for(b in d)e&&(J(d[b])||K(d[b]))?(J(d[b])&&!J(c[b])&&(c[b]={}),K(d[b])&&!K(c[b])&&(c[b]=[]),T(c[b],d[b],e)):d[b]!==a&&(c[b]=d[b])}function U(b,d){return d===a?c(b):c(b).filter(d)}function V(a,b,c,d){return F(b)?b.call(a,c,d):b}function W(a,b,c){c==null?a.removeAttribute(b):a.setAttribute(b,c)}function X(b,c){var d=b.className,e=d&&d.baseVal!==a;if(c===a)return e?d.baseVal:d;e?d.baseVal=c:b.className=c}function Y(a){var b;try{return a?a=="true"||(a=="false"?!1:a=="null"?null:isNaN(b=Number(a))?/^[\[\{]/.test(a)?c.parseJSON(a):a:b):a}catch(d){return a}}function Z(a,b){b(a);for(var c in a.childNodes)Z(a.childNodes[c],b)}var a,b,c,d,e=[],f=e.slice,g=e.filter,h=window.document,i={},j={},k=h.defaultView.getComputedStyle,l={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},m=/^\s*<(\w+|!)[^>]*>/,n=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,o=/^(?:body|html)$/i,p=["val","css","html","text","data","width","height","offset"],q=["after","prepend","before","append"],r=h.createElement("table"),s=h.createElement("tr"),t={tr:h.createElement("tbody"),tbody:r,thead:r,tfoot:r,td:s,th:s,"*":h.createElement("div")},u=/complete|loaded|interactive/,v=/^\.([\w-]+)$/,w=/^#([\w-]*)$/,x=/^[\w-]+$/,y={},z=y.toString,A={},B,C,D=h.createElement("div");return A.matches=function(a,b){if(!a||a.nodeType!==1)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=D).appendChild(a),d=~A.qsa(e,b).indexOf(a),f&&D.removeChild(a),d},B=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},C=function(a){return g.call(a,function(b,c){return a.indexOf(b)==c})},A.fragment=function(b,d,e){b.replace&&(b=b.replace(n,"<$1>")),d===a&&(d=m.test(b)&&RegExp.$1),d in t||(d="*");var g,h,i=t[d];return i.innerHTML=""+b,h=c.each(f.call(i.childNodes),function(){i.removeChild(this)}),J(e)&&(g=c(h),c.each(e,function(a,b){p.indexOf(a)>-1?g[a](b):g.attr(a,b)})),h},A.Z=function(a,b){return a=a||[],a.__proto__=c.fn,a.selector=b||"",a},A.isZ=function(a){return a instanceof A.Z},A.init=function(b,d){if(!b)return A.Z();if(F(b))return c(h).ready(b);if(A.isZ(b))return b;var e;if(K(b))e=M(b);else if(I(b))e=[J(b)?c.extend({},b):b],b=null;else if(m.test(b))e=A.fragment(b.trim(),RegExp.$1,d),b=null;else{if(d!==a)return c(d).find(b);e=A.qsa(h,b)}return A.Z(e,b)},c=function(a,b){return A.init(a,b)},c.extend=function(a){var b,c=f.call(arguments,1);return typeof a=="boolean"&&(b=a,a=c.shift()),c.forEach(function(c){T(a,c,b)}),a},A.qsa=function(a,b){var c;return H(a)&&w.test(b)?(c=a.getElementById(RegExp.$1))?[c]:[]:a.nodeType!==1&&a.nodeType!==9?[]:f.call(v.test(b)?a.getElementsByClassName(RegExp.$1):x.test(b)?a.getElementsByTagName(b):a.querySelectorAll(b))},c.contains=function(a,b){return a!==b&&a.contains(b)},c.type=E,c.isFunction=F,c.isWindow=G,c.isArray=K,c.isPlainObject=J,c.isEmptyObject=function(a){var b;for(b in a)return!1;return!0},c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.camelCase=B,c.trim=function(a){return a.trim()},c.uuid=0,c.support={},c.expr={},c.map=function(a,b){var c,d=[],e,f;if(L(a))for(e=0;e=0?b:b+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){this.parentNode!=null&&this.parentNode.removeChild(this)})},each:function(a){return e.every.call(this,function(b,c){return a.call(b,c,b)!==!1}),this},filter:function(a){return F(a)?this.not(this.not(a)):c(g.call(this,function(b){return A.matches(b,a)}))},add:function(a,b){return c(C(this.concat(c(a,b))))},is:function(a){return this.length>0&&A.matches(this[0],a)},not:function(b){var d=[];if(F(b)&&b.call!==a)this.each(function(a){b.call(this,a)||d.push(this)});else{var e=typeof b=="string"?this.filter(b):L(b)&&F(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},has:function(a){return this.filter(function(){return I(a)?c.contains(this,a):c(this).find(a).size()})},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!I(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!I(a)?a:c(a)},find:function(a){var b,d=this;return typeof a=="object"?b=c(a).filter(function(){var a=this;return e.some.call(d,function(b){return c.contains(b,a)})}):this.length==1?b=c(A.qsa(this[0],a)):b=this.map(function(){return A.qsa(this,a)}),b},closest:function(a,b){var d=this[0],e=!1;typeof a=="object"&&(e=c(a));while(d&&!(e?e.indexOf(d)>=0:A.matches(d,a)))d=d!==b&&!H(d)&&d.parentNode;return c(d)},parents:function(a){var b=[],d=this;while(d.length>0)d=c.map(d,function(a){if((a=a.parentNode)&&!H(a)&&b.indexOf(a)<0)return b.push(a),a});return U(b,a)},parent:function(a){return U(C(this.pluck("parentNode")),a)},children:function(a){return U(this.map(function(){return S(this)}),a)},contents:function(){return this.map(function(){return f.call(this.childNodes)})},siblings:function(a){return U(this.map(function(a,b){return g.call(S(b.parentNode),function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return c.map(this,function(b){return b[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null),k(this,"").getPropertyValue("display")=="none"&&(this.style.display=R(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){var b=F(a);if(this[0]&&!b)var d=c(a).get(0),e=d.parentNode||this.length>1;return this.each(function(f){c(this).wrapAll(b?a.call(this,f):e?d.cloneNode(!0):d)})},wrapAll:function(a){if(this[0]){c(this[0]).before(a=c(a));var b;while((b=a.children()).length)a=b.first();c(a).append(this)}return this},wrapInner:function(a){var b=F(a);return this.each(function(d){var e=c(this),f=e.contents(),g=b?a.call(this,d):a;f.length?f.wrapAll(g):e.append(g)})},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(b){return this.each(function(){var d=c(this);(b===a?d.css("display")=="none":b)?d.show():d.hide()})},prev:function(a){return c(this.pluck("previousElementSibling")).filter(a||"*")},next:function(a){return c(this.pluck("nextElementSibling")).filter(a||"*")},html:function(b){return b===a?this.length>0?this[0].innerHTML:null:this.each(function(a){var d=this.innerHTML;c(this).empty().append(V(this,b,a,d))})},text:function(b){return b===a?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1)return;if(I(c))for(b in c)W(this,b,c[b]);else W(this,c,V(this,d,a,this.getAttribute(c)))})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&W(this,a)})},prop:function(b,c){return c===a?this[0]&&this[0][b]:this.each(function(a){this[b]=V(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+O(b),c);return d!==null?Y(d):a},val:function(b){return b===a?this[0]&&(this[0].multiple?c(this[0]).find("option").filter(function(a){return this.selected}).pluck("value"):this[0].value):this.each(function(a){this.value=V(this,b,a,this.value)})},offset:function(a){if(a)return this.each(function(b){var d=c(this),e=V(this,a,b,d.offset()),f=d.offsetParent().offset(),g={top:e.top-f.top,left:e.left-f.left};d.css("position")=="static"&&(g.position="relative"),d.css(g)});if(this.length==0)return null;var b=this[0].getBoundingClientRect();return{left:b.left+window.pageXOffset,top:b.top+window.pageYOffset,width:Math.round(b.width),height:Math.round(b.height)}},css:function(a,c){if(arguments.length<2&&typeof a=="string")return this[0]&&(this[0].style[B(a)]||k(this[0],"").getPropertyValue(a));var d="";if(E(a)=="string")!c&&c!==0?this.each(function(){this.style.removeProperty(O(a))}):d=O(a)+":"+Q(a,c);else for(b in a)!a[b]&&a[b]!==0?this.each(function(){this.style.removeProperty(O(b))}):d+=O(b)+":"+Q(b,a[b])+";";return this.each(function(){this.style.cssText+=";"+d})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return e.some.call(this,function(a){return this.test(X(a))},P(a))},addClass:function(a){return this.each(function(b){d=[];var e=X(this),f=V(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&X(this,e+(e?" ":"")+d.join(" "))})},removeClass:function(b){return this.each(function(c){if(b===a)return X(this,"");d=X(this),V(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(P(a)," ")}),X(this,d.trim())})},toggleClass:function(b,d){return this.each(function(e){var f=c(this),g=V(this,b,e,X(this));g.split(/\s+/g).forEach(function(b){(d===a?!f.hasClass(b):d)?f.addClass(b):f.removeClass(b)})})},scrollTop:function(){if(!this.length)return;return"scrollTop"in this[0]?this[0].scrollTop:this[0].scrollY},position:function(){if(!this.length)return;var a=this[0],b=this.offsetParent(),d=this.offset(),e=o.test(b[0].nodeName)?{top:0,left:0}:b.offset();return d.top-=parseFloat(c(a).css("margin-top"))||0,d.left-=parseFloat(c(a).css("margin-left"))||0,e.top+=parseFloat(c(b[0]).css("border-top-width"))||0,e.left+=parseFloat(c(b[0]).css("border-left-width"))||0,{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||h.body;while(a&&!o.test(a.nodeName)&&c(a).css("position")=="static")a=a.offsetParent;return a})}},c.fn.detach=c.fn.remove,["width","height"].forEach(function(b){c.fn[b]=function(d){var e,f=this[0],g=b.replace(/./,function(a){return a[0].toUpperCase()});return d===a?G(f)?f["inner"+g]:H(f)?f.documentElement["offset"+g]:(e=this.offset())&&e[b]:this.each(function(a){f=c(this),f.css(b,V(this,d,a,f[b]()))})}}),q.forEach(function(a,b){var d=b%2;c.fn[a]=function(){var a,e=c.map(arguments,function(b){return a=E(b),a=="object"||a=="array"||b==null?b:A.fragment(b)}),f,g=this.length>1;return e.length<1?this:this.each(function(a,h){f=d?h:h.parentNode,h=b==0?h.nextSibling:b==1?h.firstChild:b==2?h:null,e.forEach(function(a){if(g)a=a.cloneNode(!0);else if(!f)return c(a).remove();Z(f.insertBefore(a,h),function(a){a.nodeName!=null&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&!a.src&&window.eval.call(window,a.innerHTML)})})})},c.fn[d?a+"To":"insert"+(b?"Before":"After")]=function(b){return c(b)[a](this),this}}),A.Z.prototype=c.fn,A.uniq=C,A.deserializeValue=Y,c.zepto=A,c}();window.Zepto=Zepto,"$"in window||(window.$=Zepto),function(a){function b(a){var b=this.os={},c=this.browser={},d=a.match(/WebKit\/([\d.]+)/),e=a.match(/(Android)\s+([\d.]+)/),f=a.match(/(iPad).*OS\s([\d_]+)/),g=!f&&a.match(/(iPhone\sOS)\s([\d_]+)/),h=a.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),i=h&&a.match(/TouchPad/),j=a.match(/Kindle\/([\d.]+)/),k=a.match(/Silk\/([\d._]+)/),l=a.match(/(BlackBerry).*Version\/([\d.]+)/),m=a.match(/(BB10).*Version\/([\d.]+)/),n=a.match(/(RIM\sTablet\sOS)\s([\d.]+)/),o=a.match(/PlayBook/),p=a.match(/Chrome\/([\d.]+)/)||a.match(/CriOS\/([\d.]+)/),q=a.match(/Firefox\/([\d.]+)/);if(c.webkit=!!d)c.version=d[1];e&&(b.android=!0,b.version=e[2]),g&&(b.ios=b.iphone=!0,b.version=g[2].replace(/_/g,".")),f&&(b.ios=b.ipad=!0,b.version=f[2].replace(/_/g,".")),h&&(b.webos=!0,b.version=h[2]),i&&(b.touchpad=!0),l&&(b.blackberry=!0,b.version=l[2]),m&&(b.bb10=!0,b.version=m[2]),n&&(b.rimtabletos=!0,b.version=n[2]),o&&(c.playbook=!0),j&&(b.kindle=!0,b.version=j[1]),k&&(c.silk=!0,c.version=k[1]),!k&&b.android&&a.match(/Kindle Fire/)&&(c.silk=!0),p&&(c.chrome=!0,c.version=p[1]),q&&(c.firefox=!0,c.version=q[1]),b.tablet=!!(f||o||e&&!a.match(/Mobile/)||q&&a.match(/Tablet/)),b.phone=!b.tablet&&!!(e||g||h||l||m||p&&a.match(/Android/)||p&&a.match(/CriOS\/([\d.]+)/)||q&&a.match(/Mobile/))}b.call(a,navigator.userAgent),a.__detect=b}(Zepto),function(a){function g(a){return a._zid||(a._zid=d++)}function h(a,b,d,e){b=i(b);if(b.ns)var f=j(b.ns);return(c[g(a)]||[]).filter(function(a){return a&&(!b.e||a.e==b.e)&&(!b.ns||f.test(a.ns))&&(!d||g(a.fn)===g(d))&&(!e||a.sel==e)})}function i(a){var b=(""+a).split(".");return{e:b[0],ns:b.slice(1).sort().join(" ")}}function j(a){return new RegExp("(?:^| )"+a.replace(" "," .* ?")+"(?: |$)")}function k(b,c,d){a.type(b)!="string"?a.each(b,d):b.split(/\s/).forEach(function(a){d(a,c)})}function l(a,b){return a.del&&(a.e=="focus"||a.e=="blur")||!!b}function m(a){return f[a]||a}function n(b,d,e,h,j,n){var o=g(b),p=c[o]||(c[o]=[]);k(d,e,function(c,d){var e=i(c);e.fn=d,e.sel=h,e.e in f&&(d=function(b){var c=b.relatedTarget;if(!c||c!==this&&!a.contains(this,c))return e.fn.apply(this,arguments)}),e.del=j&&j(d,c);var g=e.del||d;e.proxy=function(a){var c=g.apply(b,[a].concat(a.data));return c===!1&&(a.preventDefault(),a.stopPropagation()),c},e.i=p.length,p.push(e),b.addEventListener(m(e.e),e.proxy,l(e,n))})}function o(a,b,d,e,f){var i=g(a);k(b||"",d,function(b,d){h(a,b,d,e).forEach(function(b){delete c[i][b.i],a.removeEventListener(m(b.e),b.proxy,l(b,f))})})}function t(b){var c,d={originalEvent:b};for(c in b)!r.test(c)&&b[c]!==undefined&&(d[c]=b[c]);return a.each(s,function(a,c){d[a]=function(){return this[c]=p,b[a].apply(b,arguments)},d[c]=q}),d}function u(a){if(!("defaultPrevented"in a)){a.defaultPrevented=!1;var b=a.preventDefault;a.preventDefault=function(){this.defaultPrevented=!0,b.call(this)}}}var b=a.zepto.qsa,c={},d=1,e={},f={mouseenter:"mouseover",mouseleave:"mouseout"};e.click=e.mousedown=e.mouseup=e.mousemove="MouseEvents",a.event={add:n,remove:o},a.proxy=function(b,c){if(a.isFunction(b)){var d=function(){return b.apply(c,arguments)};return d._zid=g(b),d}if(typeof c=="string")return a.proxy(b[c],b);throw new TypeError("expected function")},a.fn.bind=function(a,b){return this.each(function(){n(this,a,b)})},a.fn.unbind=function(a,b){return this.each(function(){o(this,a,b)})},a.fn.one=function(a,b){return this.each(function(c,d){n(this,a,b,null,function(a,b){return function(){var c=a.apply(d,arguments);return o(d,b,a),c}})})};var p=function(){return!0},q=function(){return!1},r=/^([A-Z]|layer[XY]$)/,s={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};a.fn.delegate=function(b,c,d){return this.each(function(e,f){n(f,c,d,b,function(c){return function(d){var e,g=a(d.target).closest(b,f).get(0);if(g)return e=a.extend(t(d),{currentTarget:g,liveFired:f}),c.apply(g,[e].concat([].slice.call(arguments,1)))}})})},a.fn.undelegate=function(a,b,c){return this.each(function(){o(this,b,c,a)})},a.fn.live=function(b,c){return a(document.body).delegate(this.selector,b,c),this},a.fn.die=function(b,c){return a(document.body).undelegate(this.selector,b,c),this},a.fn.on=function(b,c,d){return!c||a.isFunction(c)?this.bind(b,c||d):this.delegate(c,b,d)},a.fn.off=function(b,c,d){return!c||a.isFunction(c)?this.unbind(b,c||d):this.undelegate(c,b,d)},a.fn.trigger=function(b,c){if(typeof b=="string"||a.isPlainObject(b))b=a.Event(b);return u(b),b.data=c,this.each(function(){"dispatchEvent"in this&&this.dispatchEvent(b)})},a.fn.triggerHandler=function(b,c){var d,e;return this.each(function(f,g){d=t(typeof b=="string"?a.Event(b):b),d.data=c,d.target=g,a.each(h(g,b.type||b),function(a,b){e=b.proxy(d);if(d.isImmediatePropagationStopped())return!1})}),e},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(b){a.fn[b]=function(a){return a?this.bind(b,a):this.trigger(b)}}),["focus","blur"].forEach(function(b){a.fn[b]=function(a){return a?this.bind(b,a):this.each(function(){try{this[b]()}catch(a){}}),this}}),a.Event=function(a,b){typeof a!="string"&&(b=a,a=b.type);var c=document.createEvent(e[a]||"Events"),d=!0;if(b)for(var f in b)f=="bubbles"?d=!!b[f]:c[f]=b[f];return c.initEvent(a,d,!0,null,null,null,null,null,null,null,null,null,null,null,null),c.isDefaultPrevented=function(){return this.defaultPrevented},c}}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b);return $(a).trigger(d,c),!d.defaultPrevented}function triggerGlobal(a,b,c,d){if(a.global)return triggerAndReturn(b||document,c,d)}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1)return!1;triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c){var d=c.context,e="success";c.success.call(d,a,e,b),triggerGlobal(c,d,"ajaxSuccess",[b,c,a]),ajaxComplete(e,b,c)}function ajaxError(a,b,c,d){var e=d.context;d.error.call(e,c,b,a),triggerGlobal(d,e,"ajaxError",[c,d,a]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a=a.split(";",2)[0]),a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){a.processData&&a.data&&$.type(a.data)!="string"&&(a.data=$.param(a.data,a.traditional)),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data))}function parseArguments(a,b,c,d){var e=!$.isFunction(b);return{url:a,data:e?b:undefined,success:e?$.isFunction(c)?c:undefined:b,dataType:e?d||c:c}}function serialize(a,b,c,d){var e,f=$.isArray(b);$.each(b,function(b,g){e=$.type(g),d&&(b=c?d:d+"["+(f?"":b)+"]"),!d&&f?a.add(g.name,g.value):e=="array"||!c&&e=="object"?serialize(a,g,c,b):a.add(b,g)})}var jsonpID=0,document=window.document,key,name,rscript=/)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a){if("type"in a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){clearTimeout(g),$(c).remove(),delete window[b]},e=function(c){d();if(!c||c=="timeout")window[b]=empty;ajaxError(null,c||"abort",f,a)},f={abort:e},g;return ajaxBeforeSend(f,a)===!1?(e("abort"),!1):(window[b]=function(b){d(),ajaxSuccess(b,f,a)},c.onerror=function(){e("error")},c.src=a.url.replace(/=\?/,"="+b),$("head").append(c),a.timeout>0&&(g=setTimeout(function(){e("timeout")},a.timeout)),f)}return $.ajax(a)},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},$.ajax=function(options){var settings=$.extend({},options||{});for(key in $.ajaxSettings)settings[key]===undefined&&(settings[key]=$.ajaxSettings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host),settings.url||(settings.url=window.location.toString()),serializeData(settings),settings.cache===!1&&(settings.url=appendQuery(settings.url,"_="+Date.now()));var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),$.ajaxJSONP(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=settings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.contentType||settings.contentType!==!1&&settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){xhr.onreadystatechange=empty,clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:$.parseJSON(result))}catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings):ajaxSuccess(result,xhr,settings)}else ajaxError(null,xhr.status?"error":"abort",xhr,settings)}};var async="async"in settings?settings.async:!0;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);return ajaxBeforeSend(xhr,settings)===!1?(xhr.abort(),!1):(settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)},$.get=function(a,b,c,d){return $.ajax(parseArguments.apply(null,arguments))},$.post=function(a,b,c,d){var e=parseArguments.apply(null,arguments);return e.type="POST",$.ajax(e)},$.getJSON=function(a,b,c){var d=parseArguments.apply(null,arguments);return d.dataType="json",$.ajax(d)},$.fn.load=function(a,b,c){if(!this.length)return this;var d=this,e=a.split(/\s/),f,g=parseArguments(a,b,c),h=g.success;return e.length>1&&(g.url=e[0],f=e[1]),g.success=function(a){d.html(f?$("
").html(a.replace(rscript,"")).find(f):a),h&&h.apply(d,arguments)},$.ajax(g),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace(/%20/g,"+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a(Array.prototype.slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(a,b){function s(a){return t(a.replace(/([a-z])([A-Z])/,"$1-$2"))}function t(a){return a.toLowerCase()}function u(a){return d?d+a:t(a)}var c="",d,e,f,g={Webkit:"webkit",Moz:"",O:"o",ms:"MS"},h=window.document,i=h.createElement("div"),j=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i,k,l,m,n,o,p,q,r={};a.each(g,function(a,e){if(i.style[a+"TransitionProperty"]!==b)return c="-"+t(a)+"-",d=e,!1}),k=c+"transform",r[l=c+"transition-property"]=r[m=c+"transition-duration"]=r[n=c+"transition-timing-function"]=r[o=c+"animation-name"]=r[p=c+"animation-duration"]=r[q=c+"animation-timing-function"]="",a.fx={off:d===b&&i.style.transitionProperty===b,speeds:{_default:400,fast:200,slow:600},cssPrefix:c,transitionEnd:u("TransitionEnd"),animationEnd:u("AnimationEnd")},a.fn.animate=function(b,c,d,e){return a.isPlainObject(c)&&(d=c.easing,e=c.complete,c=c.duration),c&&(c=(typeof c=="number"?c:a.fx.speeds[c]||a.fx.speeds._default)/1e3),this.anim(b,c,d,e)},a.fn.anim=function(c,d,e,f){var g,h={},i,t="",u=this,v,w=a.fx.transitionEnd;d===b&&(d=.4),a.fx.off&&(d=0);if(typeof c=="string")h[o]=c,h[p]=d+"s",h[q]=e||"linear",w=a.fx.animationEnd;else{i=[];for(g in c)j.test(g)?t+=g+"("+c[g]+") ":(h[g]=c[g],i.push(s(g)));t&&(h[k]=t,i.push(k)),d>0&&typeof c=="object"&&(h[l]=i.join(", "),h[m]=d+"s",h[n]=e||"linear")}return v=function(b){if(typeof b!="undefined"){if(b.target!==b.currentTarget)return;a(b.target).unbind(w,v)}a(this).css(r),f&&f.call(this)},d>0&&this.bind(w,v),this.size()&&this.get(0).clientLeft,this.css(h),d<=0&&setTimeout(function(){u.each(function(){v.call(this)})},0),this},i=null}(Zepto) --------------------------------------------------------------------------------