parent
0a2c8caf97
commit
8f3136f955
@ -1,4 +1,6 @@ |
|||||||
/resources/ |
/resources/ |
||||||
public/ |
public/ |
||||||
node_modules/ |
node_modules/ |
||||||
|
.firebase/ |
||||||
|
.idea/ |
||||||
.firebase/ |
.firebase/ |
@ -0,0 +1,3 @@ |
|||||||
|
[submodule "themes/devfest-theme-hugo"] |
||||||
|
path = themes/devfest-theme-hugo |
||||||
|
url = https://github.com/GDGToulouse/devfest-theme-hugo.git |
@ -1,155 +0,0 @@ |
|||||||
- name: Julien Del Rio |
|
||||||
title: GDG Toulouse |
|
||||||
photoUrl: /images/people/julien_delrio.jpg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/JulienDelRio' |
|
||||||
name: Twitter |
|
||||||
|
|
||||||
- name: Julien Renaux |
|
||||||
title: GDG Toulouse |
|
||||||
photoUrl: /images/people/julien_renaux.jpg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/julienrenaux' |
|
||||||
name: Twitter |
|
||||||
- icon: github |
|
||||||
link: 'https://github.com/shprink' |
|
||||||
name: Github |
|
||||||
- icon: linkedin |
|
||||||
link: 'https://www.linkedin.com/in/julienrenaux/' |
|
||||||
name: LinkedIn |
|
||||||
|
|
||||||
- name: Alexia Audevart |
|
||||||
title: Toulouse Data Science |
|
||||||
photoUrl: 'https://www.ekito.fr/img/team/aaudevart.jpg' |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://www.twitter.com/aaudevart' |
|
||||||
name: Twitter |
|
||||||
- icon: github |
|
||||||
link: 'https://github.com/aaudevart' |
|
||||||
name: Github |
|
||||||
- icon: linkedin |
|
||||||
link: 'https://www.linkedin.com/in/alexia-audevart-450b8a1/' |
|
||||||
name: Linkedin |
|
||||||
|
|
||||||
- name: Kevin Davin |
|
||||||
title: GDG Toulouse & Toulouse JUG |
|
||||||
photoUrl: /images/people/kevin_davin.png |
|
||||||
socials: |
|
||||||
- icon: gplus |
|
||||||
link: 'https://plus.google.com/+KevinDavin' |
|
||||||
name: Google+ |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/davinkevin' |
|
||||||
name: Twitter |
|
||||||
- icon: github |
|
||||||
link: 'https://github.com/davinkevin/' |
|
||||||
name: Github |
|
||||||
- icon: linkedin |
|
||||||
link: www.linkedin.com/in/davinkevin |
|
||||||
name: LinkedIn |
|
||||||
|
|
||||||
- name: Aurélie Vache |
|
||||||
title: Duchess France / Toulouse Data Science |
|
||||||
photoUrl: /images/people/aurelie_vache.png |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://www.twitter.com/aurelievache' |
|
||||||
name: Twitter |
|
||||||
- icon: website |
|
||||||
link: 'http://scraly.com/' |
|
||||||
name: Site |
|
||||||
- icon: linkedin |
|
||||||
link: 'https://www.linkedin.com/in/aurelievache' |
|
||||||
name: LinkedIn |
|
||||||
- icon: github |
|
||||||
link: 'https://github.com/scraly' |
|
||||||
name: Github |
|
||||||
|
|
||||||
- name: Maxime Pawlak |
|
||||||
title: GDG Toulouse |
|
||||||
photoUrl: /images/people/maxime_pawlak.jpg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/Maxime_Pawlak' |
|
||||||
name: Twitter |
|
||||||
|
|
||||||
- name: Michaël Bitard |
|
||||||
title: Electron liiiibre |
|
||||||
photoUrl: /images/people/michael_bitard.jpg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/bitardmichael' |
|
||||||
name: Twitter |
|
||||||
|
|
||||||
- name: Didier Plaindoux |
|
||||||
title: Toulouse JUG |
|
||||||
photoUrl: /images/people/didier_plaindoux.jpeg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/dplaindoux' |
|
||||||
name: Twitter |
|
||||||
|
|
||||||
- name: Vincent Ferries |
|
||||||
title: Toulouse JUG |
|
||||||
photoUrl: >- |
|
||||||
https://pbs.twimg.com/profile_images/697834407407849472/bzv1VZJm_400x400.jpg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/VincentFERRIES' |
|
||||||
name: Twitter |
|
||||||
|
|
||||||
- name: Igor Laborie |
|
||||||
title: Folivoraphile |
|
||||||
photoUrl: >- |
|
||||||
https://pbs.twimg.com/profile_images/3404066863/94e02f3bca9b038c4546f4e42ed05bc6.jpeg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/ilaborie' |
|
||||||
name: Twitter |
|
||||||
- icon: github |
|
||||||
link: 'https://github.com/ilaborie' |
|
||||||
name: Github |
|
||||||
|
|
||||||
- name: Emmanuel Vinas |
|
||||||
title: GDG Toulouse |
|
||||||
photoUrl: /images/people/emmanuel_vinas.jpeg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/EmmanuelVinas' |
|
||||||
name: Twitter |
|
||||||
|
|
||||||
- name: Lionel Porcheron |
|
||||||
title: Toulouse DevOps |
|
||||||
photoUrl: /images/people/lionel_porcheron.jpg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/lporcheron' |
|
||||||
name: Twitter |
|
||||||
|
|
||||||
- name: Michaël Pailloncy |
|
||||||
title: Toulouse JAM / JUG |
|
||||||
photoUrl: 'https://s.gravatar.com/avatar/1b42d100589ea585ce9a1f359b8d4496?s=160' |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/mpailloncy' |
|
||||||
name: Twitter |
|
||||||
- icon: github |
|
||||||
link: 'https://github.com/mpailloncy' |
|
||||||
name: Github |
|
||||||
- icon: linkedin |
|
||||||
link: 'https://www.linkedin.com/in/michael-pailloncy-21119827/' |
|
||||||
name: LinkedIn |
|
||||||
|
|
||||||
- name: Elodie Lerare |
|
||||||
title: '' |
|
||||||
photoUrl: images/people/elodie_lerare.jpg |
|
||||||
socials: |
|
||||||
- icon: twitter |
|
||||||
link: 'https://twitter.com/EloBlou' |
|
||||||
name: Twitter |
|
||||||
- icon: linkedin |
|
||||||
link: 'https://www.linkedin.com/in/elodie-lerare-223a6b41/' |
|
||||||
name: LinkedIn |
|
@ -0,0 +1,158 @@ |
|||||||
|
title: Équipe |
||||||
|
type: team |
||||||
|
members: |
||||||
|
- name: Julien Del Rio |
||||||
|
title: GDG Toulouse |
||||||
|
photoUrl: /images/people/julien_delrio.jpg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/JulienDelRio' |
||||||
|
name: Twitter |
||||||
|
|
||||||
|
- name: Julien Renaux |
||||||
|
title: GDG Toulouse |
||||||
|
photoUrl: /images/people/julien_renaux.jpg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/julienrenaux' |
||||||
|
name: Twitter |
||||||
|
- icon: github |
||||||
|
link: 'https://github.com/shprink' |
||||||
|
name: Github |
||||||
|
- icon: linkedin |
||||||
|
link: 'https://www.linkedin.com/in/julienrenaux/' |
||||||
|
name: LinkedIn |
||||||
|
|
||||||
|
- name: Alexia Audevart |
||||||
|
title: Toulouse Data Science |
||||||
|
photoUrl: 'https://www.ekito.fr/img/team/aaudevart.jpg' |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://www.twitter.com/aaudevart' |
||||||
|
name: Twitter |
||||||
|
- icon: github |
||||||
|
link: 'https://github.com/aaudevart' |
||||||
|
name: Github |
||||||
|
- icon: linkedin |
||||||
|
link: 'https://www.linkedin.com/in/alexia-audevart-450b8a1/' |
||||||
|
name: Linkedin |
||||||
|
|
||||||
|
- name: Kevin Davin |
||||||
|
title: GDG Toulouse & Toulouse JUG |
||||||
|
photoUrl: /images/people/kevin_davin.png |
||||||
|
socials: |
||||||
|
- icon: gplus |
||||||
|
link: 'https://plus.google.com/+KevinDavin' |
||||||
|
name: Google+ |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/davinkevin' |
||||||
|
name: Twitter |
||||||
|
- icon: github |
||||||
|
link: 'https://github.com/davinkevin/' |
||||||
|
name: Github |
||||||
|
- icon: linkedin |
||||||
|
link: www.linkedin.com/in/davinkevin |
||||||
|
name: LinkedIn |
||||||
|
|
||||||
|
- name: Aurélie Vache |
||||||
|
title: Duchess France / Toulouse Data Science |
||||||
|
photoUrl: /images/people/aurelie_vache.png |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://www.twitter.com/aurelievache' |
||||||
|
name: Twitter |
||||||
|
- icon: website |
||||||
|
link: 'http://scraly.com/' |
||||||
|
name: Site |
||||||
|
- icon: linkedin |
||||||
|
link: 'https://www.linkedin.com/in/aurelievache' |
||||||
|
name: LinkedIn |
||||||
|
- icon: github |
||||||
|
link: 'https://github.com/scraly' |
||||||
|
name: Github |
||||||
|
|
||||||
|
- name: Maxime Pawlak |
||||||
|
title: GDG Toulouse |
||||||
|
photoUrl: /images/people/maxime_pawlak.jpg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/Maxime_Pawlak' |
||||||
|
name: Twitter |
||||||
|
|
||||||
|
- name: Michaël Bitard |
||||||
|
title: Electron liiiibre |
||||||
|
photoUrl: /images/people/michael_bitard.jpg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/bitardmichael' |
||||||
|
name: Twitter |
||||||
|
|
||||||
|
- name: Didier Plaindoux |
||||||
|
title: Toulouse JUG |
||||||
|
photoUrl: /images/people/didier_plaindoux.jpeg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/dplaindoux' |
||||||
|
name: Twitter |
||||||
|
|
||||||
|
- name: Vincent Ferries |
||||||
|
title: Toulouse JUG |
||||||
|
photoUrl: >- |
||||||
|
https://pbs.twimg.com/profile_images/697834407407849472/bzv1VZJm_400x400.jpg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/VincentFERRIES' |
||||||
|
name: Twitter |
||||||
|
|
||||||
|
- name: Igor Laborie |
||||||
|
title: Folivoraphile |
||||||
|
photoUrl: >- |
||||||
|
https://pbs.twimg.com/profile_images/3404066863/94e02f3bca9b038c4546f4e42ed05bc6.jpeg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/ilaborie' |
||||||
|
name: Twitter |
||||||
|
- icon: github |
||||||
|
link: 'https://github.com/ilaborie' |
||||||
|
name: Github |
||||||
|
|
||||||
|
- name: Emmanuel Vinas |
||||||
|
title: GDG Toulouse |
||||||
|
photoUrl: /images/people/emmanuel_vinas.jpeg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/EmmanuelVinas' |
||||||
|
name: Twitter |
||||||
|
|
||||||
|
- name: Lionel Porcheron |
||||||
|
title: Toulouse DevOps |
||||||
|
photoUrl: /images/people/lionel_porcheron.jpg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/lporcheron' |
||||||
|
name: Twitter |
||||||
|
|
||||||
|
- name: Michaël Pailloncy |
||||||
|
title: Toulouse JAM / JUG |
||||||
|
photoUrl: 'https://s.gravatar.com/avatar/1b42d100589ea585ce9a1f359b8d4496?s=160' |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/mpailloncy' |
||||||
|
name: Twitter |
||||||
|
- icon: github |
||||||
|
link: 'https://github.com/mpailloncy' |
||||||
|
name: Github |
||||||
|
- icon: linkedin |
||||||
|
link: 'https://www.linkedin.com/in/michael-pailloncy-21119827/' |
||||||
|
name: LinkedIn |
||||||
|
|
||||||
|
- name: Elodie Lerare |
||||||
|
title: '' |
||||||
|
photoUrl: images/people/elodie_lerare.jpg |
||||||
|
socials: |
||||||
|
- icon: twitter |
||||||
|
link: 'https://twitter.com/EloBlou' |
||||||
|
name: Twitter |
||||||
|
- icon: linkedin |
||||||
|
link: 'https://www.linkedin.com/in/elodie-lerare-223a6b41/' |
||||||
|
name: LinkedIn |
@ -1,20 +0,0 @@ |
|||||||
{ |
|
||||||
"name": "proto-site-2019", |
|
||||||
"version": "1.0.0", |
|
||||||
"main": "index.js", |
|
||||||
"author": "Igor Laborie <ilaborie@gmail.com>", |
|
||||||
"license": "MIT", |
|
||||||
"scripts": { |
|
||||||
"extract-data": "node tools/extract-data.js", |
|
||||||
"speakers": "node tools/generate-speakers.js", |
|
||||||
"sessions": "node tools/generate-sessions.js", |
|
||||||
"partners": "node tools/generate-partners.js", |
|
||||||
"publish": "firebase deploy", |
|
||||||
"publish:prod": "echo 'TODO: firebase deploy -P devfest-prod'" |
|
||||||
}, |
|
||||||
"devDependencies": { |
|
||||||
"firebase-tools": "^6.2.2", |
|
||||||
"js-yaml": "^3.12.0", |
|
||||||
"slugify": "^1.3.4" |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1 @@ |
|||||||
|
Subproject commit 532b06692705112b3f84a1834b8c32ec3bd24d1c |
@ -1,6 +0,0 @@ |
|||||||
<article class="error"> |
|
||||||
<h1> |
|
||||||
This is not the page you were looking for |
|
||||||
</h1> |
|
||||||
</article> |
|
||||||
|
|
@ -1,20 +0,0 @@ |
|||||||
The MIT License (MIT) |
|
||||||
|
|
||||||
Copyright (c) 2018 GDGToulouse |
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of |
|
||||||
this software and associated documentation files (the "Software"), to deal in |
|
||||||
the Software without restriction, including without limitation the rights to |
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of |
|
||||||
the Software, and to permit persons to whom the Software is furnished to do so, |
|
||||||
subject to the following conditions: |
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all |
|
||||||
copies or substantial portions of the Software. |
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS |
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR |
|
||||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
@ -1,4 +0,0 @@ |
|||||||
# Devfest Toulouse Theme |
|
||||||
|
|
||||||
|
|
||||||
TODO: add more info here |
|
@ -1,9 +0,0 @@ |
|||||||
--- |
|
||||||
title: "{{ replace .TranslationBaseName "-" " " | title }}" |
|
||||||
date: {{ .Date }} |
|
||||||
image: "a header image" |
|
||||||
brief: "A short brief" |
|
||||||
draft: true |
|
||||||
--- |
|
||||||
|
|
||||||
TODO |
|
@ -1,6 +0,0 @@ |
|||||||
--- |
|
||||||
title: "{{ replace .TranslationBaseName "-" " " | title }}" |
|
||||||
--- |
|
||||||
|
|
||||||
{{< hero >}} |
|
||||||
{{< /hero >}} |
|
@ -1,15 +0,0 @@ |
|||||||
--- |
|
||||||
title: "{{ replace .TranslationBaseName "-" " " | title }}" |
|
||||||
date: {{ .Date }} |
|
||||||
type: partner |
|
||||||
category: platinium |
|
||||||
website: 'https://www.airbus.com/' |
|
||||||
logo: /images/partners/logo-airbus.png |
|
||||||
socials: |
|
||||||
- name: twitter |
|
||||||
url: 'https://twitter.com/airbus' |
|
||||||
- name: linkedin |
|
||||||
url: 'https://www.linkedin.com/in/airbus' |
|
||||||
--- |
|
||||||
|
|
||||||
TODO Description |
|
@ -1,6 +0,0 @@ |
|||||||
// Helpers
|
|
||||||
const $ = selector => |
|
||||||
document.querySelector(selector); |
|
||||||
|
|
||||||
const $$ = selector => |
|
||||||
Array.from(document.querySelectorAll(selector)); |
|
@ -1,6 +0,0 @@ |
|||||||
// Shuffle
|
|
||||||
$$('ul.shuffle').forEach(listElt => { |
|
||||||
for (let i = listElt.children.length; i >= 0; i--) { |
|
||||||
listElt.appendChild(listElt.children[Math.random() * i | 0]); |
|
||||||
} |
|
||||||
}); |
|
@ -1,16 +0,0 @@ |
|||||||
// Subscription
|
|
||||||
$$('form.subscribe').forEach(formElt => { |
|
||||||
console.log('subscribe', formElt); |
|
||||||
formElt.onsubmit = () => { |
|
||||||
const values = Array.from(formElt.elements) |
|
||||||
.reduce( |
|
||||||
(acc, elt) => { |
|
||||||
if (elt.name) { |
|
||||||
acc[elt.name] = elt.value; |
|
||||||
} |
|
||||||
return acc; |
|
||||||
}, |
|
||||||
{}); |
|
||||||
subscribe(values); |
|
||||||
}; |
|
||||||
}); |
|
@ -1,95 +0,0 @@ |
|||||||
:root { |
|
||||||
--primary: #673AB7; |
|
||||||
--primary-txt: #fff; |
|
||||||
|
|
||||||
--base: #FFF; |
|
||||||
--base-text: #424242; |
|
||||||
--base-secondary-text: #757575; |
|
||||||
|
|
||||||
--darken-1: rgba(0, 0, 0, .125); |
|
||||||
--darken-2: rgba(0, 0, 0, .25); |
|
||||||
--darken-3: rgba(0, 0, 0, .5); |
|
||||||
|
|
||||||
--lighten-1: hsla(0, 100%, 100%, .125); |
|
||||||
--lighten-2: hsla(0, 100%, 100%, .25); |
|
||||||
--lighten-3: hsla(0, 100%, 100%, .5); |
|
||||||
|
|
||||||
--color-hero: ghostwhite; |
|
||||||
|
|
||||||
--color-platium: #73737a; |
|
||||||
--color-gold: #b7935b; |
|
||||||
--color-error: firebrick; |
|
||||||
|
|
||||||
--space-1: .125rem; |
|
||||||
--space-2: .25rem; |
|
||||||
--space-3: .5rem; |
|
||||||
--space-4: 1rem; |
|
||||||
|
|
||||||
--container-margin: 10vw; |
|
||||||
--toolbar-height: 3rem; |
|
||||||
|
|
||||||
--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, |
|
||||||
Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; |
|
||||||
/*--font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;*/ |
|
||||||
|
|
||||||
/* Tags */ |
|
||||||
/*from https://github.com/d3/d3-scale-chromatic#schemePastel2*/ |
|
||||||
--tag1: #b3e2cd; |
|
||||||
--tag2: #fdcdac; |
|
||||||
--tag3: #cbd5e8; |
|
||||||
--tag4: #f4cae4; |
|
||||||
--tag5: #e6f5c9; |
|
||||||
--tag6: #fff2ae; |
|
||||||
--tag7: #f1e2cc; |
|
||||||
--tag8: #cccccc; |
|
||||||
|
|
||||||
--native-mobile-apps: var(--tag2); |
|
||||||
--web: var(--tag6); |
|
||||||
--method-tools: var(--tag5); |
|
||||||
--big-data-ml-ai: var(--tag3); |
|
||||||
--iot: var(--tag7); |
|
||||||
--cloud: var(--tag4); |
|
||||||
--languages: var(--tag1); |
|
||||||
--wtf: var(--tag7); |
|
||||||
--general: var(--tag8); |
|
||||||
|
|
||||||
/* Partners */ |
|
||||||
--partner-support-height: 60px; |
|
||||||
--partner-platinum-height: calc(var(--partner-support-height) * 3); |
|
||||||
--partner-gold-height: calc(var(--partner-support-height) * 2); |
|
||||||
|
|
||||||
--animation: 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
|
||||||
|
|
||||||
--extruded-dark: 1px 0 0 var(--darken-3); |
|
||||||
--extruded-light: 1px 0 0 var(--lighten-3); |
|
||||||
|
|
||||||
--box-shadow-1: 0 0 2px 0 rgba(0, 0, 0, 0.07), 0 2px 2px 0 rgba(0, 0, 0, 0.15); |
|
||||||
--box-shadow-2: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12); |
|
||||||
} |
|
||||||
|
|
||||||
@import "partials/base"; |
|
||||||
@import "partials/header"; |
|
||||||
@import "partials/main"; |
|
||||||
@import "partials/footer"; |
|
||||||
@import "partials/buttons"; |
|
||||||
@import "partials/socials"; |
|
||||||
@import "partials/jumbo"; |
|
||||||
@import "partials/hero"; |
|
||||||
@import "partials/table_of_contents"; |
|
||||||
@import "partials/speakers"; |
|
||||||
@import "partials/tickets"; |
|
||||||
@import "partials/partners"; |
|
||||||
@import "partials/tags"; |
|
||||||
@import "partials/type"; |
|
||||||
|
|
||||||
@import "pages/home"; |
|
||||||
@import "pages/sessions"; |
|
||||||
@import "pages/session"; |
|
||||||
@import "pages/parteners"; |
|
||||||
@import "pages/speakers"; |
|
||||||
@import "pages/speaker"; |
|
||||||
@import "pages/blogs"; |
|
||||||
@import "pages/blog"; |
|
||||||
@import "pages/team"; |
|
||||||
@import "pages/faq"; |
|
||||||
@import "pages/code_of_conduct"; |
|
@ -1,53 +0,0 @@ |
|||||||
.page.blog { |
|
||||||
|
|
||||||
.hero { |
|
||||||
.img { |
|
||||||
padding: var(--container-margin); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-size: cover; |
|
||||||
background-position: center center; |
|
||||||
|
|
||||||
text-shadow: 1px 0 0 var(--lighten-3); |
|
||||||
} |
|
||||||
|
|
||||||
h1 { |
|
||||||
color: var(--primary); |
|
||||||
padding-left: 0; |
|
||||||
padding-right: 0; |
|
||||||
small { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.content { |
|
||||||
padding-left: 0; |
|
||||||
padding-right: 0; |
|
||||||
margin: 2rem var(--container-margin); |
|
||||||
|
|
||||||
img { |
|
||||||
max-width: 100%; |
|
||||||
} |
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 { |
|
||||||
color: var(--primary); |
|
||||||
} |
|
||||||
|
|
||||||
p { |
|
||||||
margin-left: var(--space-4); |
|
||||||
text-align: justify; |
|
||||||
|
|
||||||
&::first-letter { |
|
||||||
margin-left: var(--space-4); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
ul { |
|
||||||
margin-left: 2rem; |
|
||||||
|
|
||||||
li { |
|
||||||
line-height: 1.25; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,65 +0,0 @@ |
|||||||
.section.blog { |
|
||||||
|
|
||||||
|
|
||||||
main > section { |
|
||||||
padding-left: 0; |
|
||||||
padding-right: 0; |
|
||||||
margin: 2rem var(--container-margin); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
.blogs { |
|
||||||
display: grid; |
|
||||||
grid-gap: var(--space-4); |
|
||||||
|
|
||||||
a { |
|
||||||
text-decoration: none; |
|
||||||
padding: var(--space-4); |
|
||||||
border-radius: var(--space-3); |
|
||||||
min-height: 25vw; |
|
||||||
display: grid; |
|
||||||
grid-template-columns: auto 1fr; |
|
||||||
grid-template-rows: auto 1fr; |
|
||||||
grid-gap: var(--space-4); |
|
||||||
color: inherit; |
|
||||||
border: thin solid var(--darken-1); |
|
||||||
|
|
||||||
box-shadow: var(--space-1) var(--space-1) var(--space-2) var(--darken-2); |
|
||||||
transition: box-shadow var(--animation); |
|
||||||
|
|
||||||
.img { |
|
||||||
display: inline-block; |
|
||||||
background-position: center center; |
|
||||||
background-size: cover; |
|
||||||
--size: 6rem; |
|
||||||
height: var(--size); |
|
||||||
width: var(--size); |
|
||||||
border-radius: var(--space-2); |
|
||||||
} |
|
||||||
|
|
||||||
.info { |
|
||||||
justify-content: center; |
|
||||||
.reading { |
|
||||||
align-self: flex-end; |
|
||||||
|
|
||||||
&::after { |
|
||||||
content: ' min.'; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.date { |
|
||||||
align-self: flex-start; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
p { |
|
||||||
grid-column: 1 / -1; |
|
||||||
} |
|
||||||
|
|
||||||
&:hover, &:focus { |
|
||||||
box-shadow: var(--space-2) var(--space-2) var(--space-2) var(--darken-3); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,18 +0,0 @@ |
|||||||
.page.code-of-conduct .content { |
|
||||||
|
|
||||||
p { |
|
||||||
margin-left: var(--space-4); |
|
||||||
text-align: justify; |
|
||||||
|
|
||||||
&::first-letter { |
|
||||||
margin-left: var(--space-4); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
ul { |
|
||||||
margin-left: 2rem; |
|
||||||
li { |
|
||||||
line-height: 1.25; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,10 +0,0 @@ |
|||||||
/* FAQ */ |
|
||||||
.page.faq .content { |
|
||||||
h1, h2, h3, h4, h5, h6 { |
|
||||||
color: var(--primary); |
|
||||||
} |
|
||||||
|
|
||||||
h3, h4, h5, h6, ul, ol, p { |
|
||||||
margin-left: calc(var(--container-margin) - 2rem); |
|
||||||
} |
|
||||||
} |
|
@ -1,134 +0,0 @@ |
|||||||
.home { |
|
||||||
|
|
||||||
main > section { |
|
||||||
margin: 0; |
|
||||||
padding: 2rem; |
|
||||||
} |
|
||||||
|
|
||||||
section > h2 { |
|
||||||
margin-bottom: 1.5rem; |
|
||||||
padding: 0; |
|
||||||
font-size: 2rem; |
|
||||||
line-height: 1.875rem; |
|
||||||
font-weight: 300; |
|
||||||
} |
|
||||||
|
|
||||||
section.info > div { |
|
||||||
display: flex; |
|
||||||
|
|
||||||
.numbers { |
|
||||||
margin: 0 2rem; |
|
||||||
min-width: 33vw; |
|
||||||
justify-content: center; |
|
||||||
display: grid; |
|
||||||
grid-template-columns: repeat(2, 1fr); |
|
||||||
grid-column-gap: 2rem; |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
|
|
||||||
.number { |
|
||||||
strong { |
|
||||||
font-size: 3.5rem; |
|
||||||
font-weight: 100; |
|
||||||
|
|
||||||
&::after { |
|
||||||
content: ''; |
|
||||||
display: block; |
|
||||||
height: .125rem; |
|
||||||
width: 2rem; |
|
||||||
background-color: var(--primary); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
div { |
|
||||||
margin: var(--space-1) 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
section.speakers { |
|
||||||
ul { |
|
||||||
padding-left: 0; |
|
||||||
list-style: none; |
|
||||||
display: flex; |
|
||||||
justify-content: space-around; |
|
||||||
align-items: flex-start; |
|
||||||
flex-wrap: wrap; |
|
||||||
|
|
||||||
li { |
|
||||||
margin: var(--space-4); |
|
||||||
} |
|
||||||
|
|
||||||
// Keep only 4 first speakers |
|
||||||
li:nth-child(n+5) { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
section.subscribe { |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
align-items: center; |
|
||||||
} |
|
||||||
|
|
||||||
section.tickets { |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
align-items: center; |
|
||||||
} |
|
||||||
|
|
||||||
section.location { |
|
||||||
padding: 0; |
|
||||||
position: relative; |
|
||||||
background: var(--darken-1); |
|
||||||
font-weight: 300; |
|
||||||
|
|
||||||
.map { |
|
||||||
display: block; |
|
||||||
height: 664px; |
|
||||||
background-position: center center; |
|
||||||
background-size: cover; |
|
||||||
} |
|
||||||
|
|
||||||
.description { |
|
||||||
display: inline-block; |
|
||||||
padding: var(--space-4); |
|
||||||
width: 400px; |
|
||||||
position: absolute; |
|
||||||
bottom: -2rem; |
|
||||||
right: 2rem; |
|
||||||
background-color: var(--primary); |
|
||||||
color: var(--primary-txt); |
|
||||||
|
|
||||||
.direction { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (max-width: 60rem) { |
|
||||||
|
|
||||||
.home { |
|
||||||
.jumbo .inner h1 { |
|
||||||
img { |
|
||||||
max-width: 100%; |
|
||||||
} |
|
||||||
font-size: 1.5rem; |
|
||||||
} |
|
||||||
|
|
||||||
section.info>div { |
|
||||||
flex-direction: column; |
|
||||||
} |
|
||||||
|
|
||||||
section.location .description { |
|
||||||
position: relative; |
|
||||||
top: unset; |
|
||||||
bottom: unset; |
|
||||||
right: unset; |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,9 +0,0 @@ |
|||||||
.page.partners { |
|
||||||
|
|
||||||
|
|
||||||
.content { |
|
||||||
img { |
|
||||||
width: 50vw; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,141 +0,0 @@ |
|||||||
|
|
||||||
.talk { |
|
||||||
.complexity::before { |
|
||||||
content: 'Niveau : '; |
|
||||||
} |
|
||||||
|
|
||||||
.type::before { |
|
||||||
content: 'Type : '; |
|
||||||
} |
|
||||||
|
|
||||||
.type::after { |
|
||||||
font-weight: 100; |
|
||||||
content: ' (' var(--duration, '') ' min.)'; |
|
||||||
} |
|
||||||
|
|
||||||
.speakers { |
|
||||||
.speaker { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
padding: var(--space-1) var(--space-3); |
|
||||||
--img-size: 2rem; |
|
||||||
|
|
||||||
.speaker-img { |
|
||||||
--img-size: 3rem; |
|
||||||
height: var(--img-size); |
|
||||||
min-width: var(--img-size); |
|
||||||
border-radius: 100%; |
|
||||||
background-size: cover; |
|
||||||
margin-right: var(--space-4); |
|
||||||
} |
|
||||||
|
|
||||||
.info { |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
} |
|
||||||
|
|
||||||
.speaker-company { |
|
||||||
img { |
|
||||||
height: 2rem; |
|
||||||
} |
|
||||||
|
|
||||||
figcaption { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
.page.talks { |
|
||||||
|
|
||||||
.talk { |
|
||||||
display: grid; |
|
||||||
grid-template-columns: 2fr 1fr; |
|
||||||
grid-gap: var(--space-3); |
|
||||||
//grid |
|
||||||
|
|
||||||
header { |
|
||||||
grid-column: 1 / -1; |
|
||||||
border-radius: var(--space-2); |
|
||||||
padding: var(--space-2); |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
h1 { |
|
||||||
flex-grow: 1; |
|
||||||
} |
|
||||||
|
|
||||||
.tags { |
|
||||||
margin-right: 1ch; |
|
||||||
white-space: nowrap; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.content { |
|
||||||
margin: var(--space-4) 0; |
|
||||||
border-top: thin solid var(--darken-1); |
|
||||||
border-bottom: thin solid var(--darken-1); |
|
||||||
} |
|
||||||
|
|
||||||
.speakers { |
|
||||||
list-style: none; |
|
||||||
padding: 0; |
|
||||||
align-self: start; |
|
||||||
border-radius: var(--space-2); |
|
||||||
|
|
||||||
.speaker { |
|
||||||
margin: var(--space-4) 0; |
|
||||||
border: thin solid var(--darken-1); |
|
||||||
box-shadow: var(--space-1) var(--space-1) var(--space-2) var(--darken-2); |
|
||||||
transition: box-shadow var(--animation); |
|
||||||
border-radius: var(--space-2); |
|
||||||
|
|
||||||
&:hover, &:focus { |
|
||||||
box-shadow: var(--space-2) var(--space-2) var(--space-2) var(--darken-3); |
|
||||||
} |
|
||||||
|
|
||||||
display: grid; |
|
||||||
grid-template-columns: 4rem 1fr auto; |
|
||||||
grid-auto-flow: dense; |
|
||||||
text-decoration: none; |
|
||||||
color: inherit; |
|
||||||
|
|
||||||
p { |
|
||||||
grid-column: 1 / -1; |
|
||||||
} |
|
||||||
|
|
||||||
figure { |
|
||||||
grid-column: 3; |
|
||||||
padding: var(--space-2); |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: flex-end; |
|
||||||
|
|
||||||
img { |
|
||||||
order: 2; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.media { |
|
||||||
grid-column: 1 / -1; |
|
||||||
|
|
||||||
a { |
|
||||||
padding: var(--space-3) 0; |
|
||||||
font-size: 1rem; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (max-width: 60rem) { |
|
||||||
.page.talks { |
|
||||||
.talk { |
|
||||||
grid-template-columns: 1fr; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,63 +0,0 @@ |
|||||||
.section.talks, .taxonomy.tags { |
|
||||||
|
|
||||||
ul.talks { |
|
||||||
list-style: none; |
|
||||||
padding: 0; |
|
||||||
margin: 0; |
|
||||||
display: grid; |
|
||||||
grid-gap: 2rem; |
|
||||||
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); |
|
||||||
|
|
||||||
a { |
|
||||||
border: thin solid var(--darken-1); |
|
||||||
box-shadow: var(--space-1) var(--space-1) var(--space-2) var(--darken-2); |
|
||||||
transition: box-shadow var(--animation); |
|
||||||
border-radius: var(--space-2); |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
text-decoration: none; |
|
||||||
color: inherit; |
|
||||||
height: 100%; |
|
||||||
|
|
||||||
&:hover, &:focus { |
|
||||||
box-shadow: var(--space-2) var(--space-2) var(--space-2) var(--darken-3); |
|
||||||
} |
|
||||||
|
|
||||||
h2, .info { |
|
||||||
padding: var(--space-4); |
|
||||||
} |
|
||||||
|
|
||||||
h2 { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
} |
|
||||||
|
|
||||||
hr { |
|
||||||
width: calc(100% - var(--space-3)); |
|
||||||
margin: 0 auto; |
|
||||||
} |
|
||||||
|
|
||||||
.info { |
|
||||||
flex-grow: 1; |
|
||||||
|
|
||||||
.tags { |
|
||||||
float: right; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
.speakers { |
|
||||||
border: thin solid transparent; |
|
||||||
border-radius: var(--space-2); |
|
||||||
background: var(--base); |
|
||||||
padding-left: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.speaker + .speaker { |
|
||||||
border-top: thin solid var(--darken-1); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,87 +0,0 @@ |
|||||||
.page.speakers { |
|
||||||
|
|
||||||
.hero { |
|
||||||
header, .description { |
|
||||||
padding: var(--space-4) var(--container-margin); |
|
||||||
} |
|
||||||
|
|
||||||
header { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
.speaker-img { |
|
||||||
--size: 6rem; |
|
||||||
height: var(--size); |
|
||||||
min-width: var(--size); |
|
||||||
border-radius: 100%; |
|
||||||
background-size: cover; |
|
||||||
box-shadow: 0 0 var(--space-3) var(--darken-3); |
|
||||||
margin-right: var(--space-4); |
|
||||||
} |
|
||||||
|
|
||||||
h1 { |
|
||||||
margin: 0; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
ul.socials { |
|
||||||
display: flex; |
|
||||||
list-style: none; |
|
||||||
padding: 0; |
|
||||||
margin: 0; |
|
||||||
font-size: 1.25em; |
|
||||||
|
|
||||||
li { |
|
||||||
padding-right: var(--space-4); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
.description { |
|
||||||
.talks { |
|
||||||
padding-left: 0; |
|
||||||
list-style: none; |
|
||||||
|
|
||||||
.talk { |
|
||||||
border: thin solid var(--darken-1); |
|
||||||
display: inline-flex; |
|
||||||
padding: var(--space-2); |
|
||||||
border-radius: var(--space-1); |
|
||||||
|
|
||||||
.tags, .language { |
|
||||||
margin-right: 1ch; |
|
||||||
} |
|
||||||
.tags { |
|
||||||
white-space: nowrap; |
|
||||||
align-self: center; |
|
||||||
} |
|
||||||
|
|
||||||
&.tag- { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
section.speaker { |
|
||||||
|
|
||||||
header { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
} |
|
||||||
|
|
||||||
.speaker-company { |
|
||||||
margin: var(--space-3) 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
img { |
|
||||||
height: 4rem; |
|
||||||
margin-right: var(--space-4); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,41 +0,0 @@ |
|||||||
.section.speakers { |
|
||||||
|
|
||||||
ul.speakers { |
|
||||||
list-style: none; |
|
||||||
padding: 0; |
|
||||||
margin: 0; |
|
||||||
display: grid; |
|
||||||
grid-gap: 2rem; |
|
||||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); |
|
||||||
|
|
||||||
li a.speaker { |
|
||||||
padding: var(--space-4); |
|
||||||
border: thin solid var(--darken-1); |
|
||||||
box-shadow: var(--space-1) var(--space-1) var(--space-2) var(--darken-2); |
|
||||||
transition: box-shadow var(--animation); |
|
||||||
border-radius: var(--space-2); |
|
||||||
display: flex; |
|
||||||
flex-direction: row; |
|
||||||
height: 100%; |
|
||||||
|
|
||||||
.speaker-img { |
|
||||||
margin-right: var(--space-4); |
|
||||||
} |
|
||||||
|
|
||||||
.speaker-company { |
|
||||||
margin-top: var(--space-3); |
|
||||||
order: 2; |
|
||||||
text-align: center; |
|
||||||
|
|
||||||
figcaption { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:hover, &:focus { |
|
||||||
box-shadow: var(--space-2) var(--space-2) var(--space-2) var(--darken-3); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,50 +0,0 @@ |
|||||||
.page.team { |
|
||||||
ul.members { |
|
||||||
padding: 0; |
|
||||||
margin: 0; |
|
||||||
display: grid; |
|
||||||
grid-gap: 2rem; |
|
||||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); |
|
||||||
|
|
||||||
li { |
|
||||||
display: flex; |
|
||||||
|
|
||||||
.photo { |
|
||||||
--size: 6rem; |
|
||||||
box-shadow: 0 0 0 var(--space-2) var(--darken-2); |
|
||||||
height: var(--size); |
|
||||||
min-width: var(--size); |
|
||||||
border-radius: 100%; |
|
||||||
background-size: cover; |
|
||||||
|
|
||||||
margin: var(--space-2); |
|
||||||
} |
|
||||||
|
|
||||||
.label { |
|
||||||
display: flex; |
|
||||||
margin-left: var(--space-3); |
|
||||||
flex-direction: column; |
|
||||||
justify-content: center; |
|
||||||
} |
|
||||||
|
|
||||||
ul.socials { |
|
||||||
list-style: none; |
|
||||||
display: flex; |
|
||||||
margin: 0; |
|
||||||
padding: 0; |
|
||||||
font-size: 1.5em; |
|
||||||
|
|
||||||
li { |
|
||||||
filter: grayscale(1); |
|
||||||
transition: filter var(--animation); |
|
||||||
|
|
||||||
&:hover, |
|
||||||
&:focus { |
|
||||||
filter: grayscale(0); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,62 +0,0 @@ |
|||||||
html { |
|
||||||
box-sizing: border-box; |
|
||||||
font-family: var(--font-family); |
|
||||||
background: var(--darken-1); |
|
||||||
} |
|
||||||
|
|
||||||
*, |
|
||||||
*:before, |
|
||||||
*:after { |
|
||||||
box-sizing: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
*:focus { |
|
||||||
outline: thin dotted var(--darken-3); |
|
||||||
outline-offset: var(--space-1); |
|
||||||
} |
|
||||||
|
|
||||||
body { |
|
||||||
background: var(--base); |
|
||||||
color: var(--base-text); |
|
||||||
margin: var(--toolbar-height) 0 0; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
min-height: calc(100vh - var(--toolbar-height)); |
|
||||||
} |
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 { |
|
||||||
margin: 0; |
|
||||||
font-weight: normal; |
|
||||||
} |
|
||||||
|
|
||||||
hr { |
|
||||||
border-color: var(--darken-1); |
|
||||||
opacity: .25; |
|
||||||
} |
|
||||||
|
|
||||||
p { |
|
||||||
line-height: 1.25; |
|
||||||
} |
|
||||||
|
|
||||||
a, a:visited { |
|
||||||
color: inherit; |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
|
|
||||||
.content {🇬🇧 |
|
||||||
a, a:visited { |
|
||||||
color: var(--primary); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.language.english::before { |
|
||||||
content: '🇬🇧'; |
|
||||||
} |
|
||||||
|
|
||||||
.visually-hidden { /* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility */ |
|
||||||
position: absolute !important; |
|
||||||
height: 1px; width: 1px; |
|
||||||
overflow: hidden; |
|
||||||
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ |
|
||||||
clip: rect(1px, 1px, 1px, 1px); |
|
||||||
} |
|
@ -1,49 +0,0 @@ |
|||||||
button, a.btn, span.btn { |
|
||||||
display: inline-block; |
|
||||||
border: thin solid var(--darken-2); |
|
||||||
background: var(--darken-1); |
|
||||||
padding: var(--space-3); |
|
||||||
color: inherit; |
|
||||||
text-transform: uppercase; |
|
||||||
text-decoration: none; |
|
||||||
font-size: .875rem; |
|
||||||
font-weight: 100; |
|
||||||
cursor: pointer; |
|
||||||
text-shadow: var(--extruded-light); |
|
||||||
|
|
||||||
&.primary { |
|
||||||
background-color: var(--primary); |
|
||||||
color: var(--primary-txt); |
|
||||||
text-shadow: var(--extruded-dark); |
|
||||||
} |
|
||||||
|
|
||||||
&.btn-icon-only { |
|
||||||
border-radius: 50%; |
|
||||||
margin-left: 1ch; |
|
||||||
padding: var(--space-2); |
|
||||||
border-color: transparent; |
|
||||||
|
|
||||||
&::before { |
|
||||||
--size: 1.5rem; |
|
||||||
width: var(--size); |
|
||||||
height: var(--size); |
|
||||||
display: inline-block; |
|
||||||
content: ''; |
|
||||||
background-repeat: no-repeat; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Icons |
|
||||||
&.icon-direction::before { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="white" d="M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z"></path></svg>'); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
form:invalid button, |
|
||||||
button[aria-disabled], |
|
||||||
a.btn[aria-disabled], |
|
||||||
span.btn[aria-disabled] { |
|
||||||
opacity: .5; |
|
||||||
cursor: not-allowed; |
|
||||||
} |
|
@ -1,124 +0,0 @@ |
|||||||
body > footer { |
|
||||||
background-color: var(--darken-1); |
|
||||||
color: var(--base-secondary-text); |
|
||||||
padding: var(--space-4) var(--container-margin); |
|
||||||
font-weight: 200; |
|
||||||
|
|
||||||
a:hover { |
|
||||||
text-decoration: underline; |
|
||||||
} |
|
||||||
|
|
||||||
// Header |
|
||||||
.footer-header { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
font-weight: 300; |
|
||||||
flex-wrap: wrap; |
|
||||||
|
|
||||||
header { |
|
||||||
margin-right: var(--space-2); |
|
||||||
} |
|
||||||
|
|
||||||
& > div { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
ul { |
|
||||||
padding: 0; |
|
||||||
margin: 0; |
|
||||||
list-style: none; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
li { |
|
||||||
display: inline-block; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.share, .blog, .follow { |
|
||||||
text-transform: uppercase; |
|
||||||
} |
|
||||||
|
|
||||||
.follow a[class*='social-'] { |
|
||||||
filter: grayscale(1); |
|
||||||
transition: filter var(--animation); |
|
||||||
|
|
||||||
&:hover, &:focus { |
|
||||||
filter: grayscale(0); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.blog a { |
|
||||||
text-decoration: underline; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Content |
|
||||||
.footer-content { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
flex-wrap: wrap; |
|
||||||
|
|
||||||
section { |
|
||||||
header { |
|
||||||
font-size: 1.125rem; |
|
||||||
font-weight: 400; |
|
||||||
} |
|
||||||
|
|
||||||
ul { |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
list-style: none; |
|
||||||
padding: 0; |
|
||||||
margin: var(--space-3) 0; |
|
||||||
font-weight: 100; |
|
||||||
|
|
||||||
li { |
|
||||||
margin: var(--space-1) 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
section.form form { |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
|
|
||||||
input { |
|
||||||
background: transparent; |
|
||||||
border: none; |
|
||||||
border-bottom: var(--space-1) solid var(--darken-2); |
|
||||||
transition: border var(--animation); |
|
||||||
margin: var(--space-3) 0; |
|
||||||
outline: thin dotted transparent; |
|
||||||
font-size: 1rem; |
|
||||||
line-height: 1.5rem; |
|
||||||
padding: var(--space-2); |
|
||||||
border-radius: var(--space-1); |
|
||||||
color: var(--base-text); |
|
||||||
|
|
||||||
&::placeholder { |
|
||||||
color: var(--darken-3); |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
border-bottom-color: var(--primary); |
|
||||||
} |
|
||||||
|
|
||||||
&:invalid { |
|
||||||
border-bottom-color: var(--color-error); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Footer |
|
||||||
.footer-footer { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
|
|
||||||
img { |
|
||||||
height: 2rem; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,103 +0,0 @@ |
|||||||
body > header { |
|
||||||
|
|
||||||
position: fixed; |
|
||||||
top: 0; |
|
||||||
z-index: 100; |
|
||||||
width: 100vw; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
min-height: var(--toolbar-height); |
|
||||||
padding: 0 var(--container-margin); |
|
||||||
box-shadow: 0 var(--space-1) var(--space-2) var(--darken-1); |
|
||||||
background: var(--primary); |
|
||||||
color: var(--primary-txt); |
|
||||||
|
|
||||||
.logo img { |
|
||||||
height: calc(var(--toolbar-height) - (2 * var(--space-2))); |
|
||||||
} |
|
||||||
|
|
||||||
label { |
|
||||||
display: none; |
|
||||||
--size: 1.5rem; |
|
||||||
height: var(--size); |
|
||||||
width: var(--size); |
|
||||||
opacity: .5; |
|
||||||
padding: .1em; |
|
||||||
border: var(--space-2) solid transparent; // Extending the hit area |
|
||||||
outline-offset: var(--space-2); |
|
||||||
background-size: cover; |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: center center; |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="white" d="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"></path></svg>'); |
|
||||||
|
|
||||||
&:hover, &:focus { |
|
||||||
opacity: 1; |
|
||||||
outline: thin dotted currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
input[type=checkbox]:checked ~ label { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="white" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg>'); |
|
||||||
} |
|
||||||
|
|
||||||
nav { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
a { |
|
||||||
display: block; |
|
||||||
text-transform: uppercase; |
|
||||||
padding: 0 var(--space-3); |
|
||||||
text-decoration: none; |
|
||||||
line-height: calc(var(--toolbar-height) - (4 * var(--space-2)));; |
|
||||||
color: inherit; |
|
||||||
opacity: .5; |
|
||||||
font-weight: 200; |
|
||||||
transition: all var(--animation); |
|
||||||
border-bottom: medium solid transparent; |
|
||||||
border-radius: 5%; |
|
||||||
|
|
||||||
&:focus, &:hover { |
|
||||||
text-shadow: var(--extruded-dark); |
|
||||||
opacity: .75; |
|
||||||
} |
|
||||||
|
|
||||||
&.active { |
|
||||||
opacity: 1; |
|
||||||
border-bottom-color: currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (max-width: 60rem) { |
|
||||||
body > header { |
|
||||||
flex-wrap: wrap; |
|
||||||
|
|
||||||
label { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
|
|
||||||
nav { |
|
||||||
display: none; |
|
||||||
width: 100%; |
|
||||||
background: var(--primary); |
|
||||||
flex-direction: column; |
|
||||||
justify-content: flex-start; |
|
||||||
|
|
||||||
a { |
|
||||||
width: 100%; |
|
||||||
|
|
||||||
&.active { |
|
||||||
border-bottom-width: thin; |
|
||||||
border-bottom-color: var(--lighten-2); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
input[type=checkbox]:checked ~ nav { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,13 +0,0 @@ |
|||||||
|
|
||||||
.hero { |
|
||||||
h1 { |
|
||||||
padding: 2rem var(--container-margin); |
|
||||||
} |
|
||||||
|
|
||||||
.description { |
|
||||||
padding: 2rem var(--container-margin); |
|
||||||
background: var(--color-hero); |
|
||||||
border-top: thin solid var(--darken-1); |
|
||||||
border-bottom: thin solid var(--darken-1); |
|
||||||
} |
|
||||||
} |
|
@ -1,47 +0,0 @@ |
|||||||
|
|
||||||
.jumbo { |
|
||||||
position: relative; |
|
||||||
height: calc(100vh - var(--toolbar-height)); |
|
||||||
display: flex; |
|
||||||
justify-content: center; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
.inner { |
|
||||||
padding: var(--space-4); |
|
||||||
color: var(--primary-txt); |
|
||||||
background: var(--darken-2); |
|
||||||
border-radius: var(--space-3); |
|
||||||
} |
|
||||||
|
|
||||||
.scroll-down { |
|
||||||
position: absolute; |
|
||||||
bottom: 2rem; |
|
||||||
height: 2.5em; |
|
||||||
width: 1.5em; |
|
||||||
color: var(--base); |
|
||||||
border: var(--space-1) solid currentColor; |
|
||||||
border-radius: 1em; |
|
||||||
|
|
||||||
&::before { |
|
||||||
content: ''; |
|
||||||
position: absolute; |
|
||||||
left: calc(50% - var(--space-1)); |
|
||||||
border: var(--space-1) solid currentColor; |
|
||||||
border-top-width: var(--space-2); |
|
||||||
border-bottom-width: var(--space-2); |
|
||||||
border-radius: 20%; |
|
||||||
background: currentColor; |
|
||||||
animation: scrollDownMove .8s ease-in-out alternate infinite; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
@keyframes scrollDownMove { |
|
||||||
from { |
|
||||||
top: 1rem; |
|
||||||
} |
|
||||||
to { |
|
||||||
top: .75rem; |
|
||||||
} |
|
||||||
} |
|
@ -1,15 +0,0 @@ |
|||||||
body > main { |
|
||||||
flex-grow: 1; |
|
||||||
|
|
||||||
& > section { |
|
||||||
margin: 2rem var(--container-margin); |
|
||||||
padding-left: 0; |
|
||||||
padding-right: 0; |
|
||||||
|
|
||||||
&.primary { |
|
||||||
background-color: var(--primary); |
|
||||||
color: var(--primary-txt); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
@ -1,104 +0,0 @@ |
|||||||
.partners-group { |
|
||||||
h3 { |
|
||||||
text-align: center; |
|
||||||
margin: var(--space-4) 0; |
|
||||||
} |
|
||||||
|
|
||||||
ul { |
|
||||||
list-style: none; |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
justify-content: center; |
|
||||||
padding: 0; |
|
||||||
|
|
||||||
li { |
|
||||||
flex-basis: 160px; |
|
||||||
margin: var(--space-3); |
|
||||||
height: var(--partner-support-height); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.partner { |
|
||||||
padding: var(--space-3); |
|
||||||
display: block; |
|
||||||
height: 100%; |
|
||||||
width: 100%; |
|
||||||
background-size: contain; |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: center; |
|
||||||
background-origin: content-box; |
|
||||||
box-shadow: var(--box-shadow-1); |
|
||||||
transition: box-shadow var(--animation); |
|
||||||
cursor: pointer; |
|
||||||
|
|
||||||
&:hover, &:focus { |
|
||||||
box-shadow: var(--box-shadow-2); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.partners-group.partner-platinium ul li { |
|
||||||
height: var(--partner-platinum-height); |
|
||||||
flex-basis: 320px; |
|
||||||
} |
|
||||||
|
|
||||||
.partners-group.partner-gold ul li { |
|
||||||
height: var(--partner-gold-height); |
|
||||||
flex-basis: 200px; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/* Partner fancy name */ |
|
||||||
|
|
||||||
.partners-group .fancy { |
|
||||||
line-height: 0.5; |
|
||||||
text-align: center; |
|
||||||
color: var(--base-secondary-text); |
|
||||||
|
|
||||||
span { |
|
||||||
display: inline-block; |
|
||||||
position: relative; |
|
||||||
text-transform: capitalize; |
|
||||||
|
|
||||||
&:before, &:after { |
|
||||||
top: 40%; |
|
||||||
content: ""; |
|
||||||
position: absolute; |
|
||||||
height: 5px; |
|
||||||
width: 140%; |
|
||||||
max-width: 25vw; |
|
||||||
} |
|
||||||
|
|
||||||
&:before { |
|
||||||
right: 100%; |
|
||||||
margin-right: 15px; |
|
||||||
} |
|
||||||
|
|
||||||
&:after { |
|
||||||
left: 100%; |
|
||||||
margin-left: 15px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
.partners-group.partner-platinium .fancy { |
|
||||||
font-size: 1.5em; |
|
||||||
color: var(--color-platium); |
|
||||||
|
|
||||||
span:before, span:after { |
|
||||||
border-bottom: 1px solid currentColor; |
|
||||||
border-top: 1px solid currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.partners-group.partner-gold .fancy { |
|
||||||
font-size: 1.33em; |
|
||||||
color: var(--color-gold); |
|
||||||
|
|
||||||
span:before, span:after { |
|
||||||
top: 20%; |
|
||||||
border-bottom: 1px solid currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,52 +0,0 @@ |
|||||||
a[class*='social-'] { |
|
||||||
display: inline-flex; |
|
||||||
margin: var(--space-1); |
|
||||||
background-size: contain; |
|
||||||
background-position: center center; |
|
||||||
background-repeat: no-repeat; |
|
||||||
|
|
||||||
align-items: center; |
|
||||||
color: inherit; |
|
||||||
text-decoration: none; |
|
||||||
|
|
||||||
&::before { |
|
||||||
--size: 1em; |
|
||||||
height: var(--size); |
|
||||||
width: var(--size); |
|
||||||
display: inline-block; |
|
||||||
content: ''; |
|
||||||
background-repeat: no-repeat; |
|
||||||
margin-right: var(--space-1); |
|
||||||
} |
|
||||||
|
|
||||||
&:focus, &:hover { |
|
||||||
text-decoration: underline; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.social-facebook::before { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="rgb(59,89,152)" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg>'); |
|
||||||
} |
|
||||||
|
|
||||||
.social-twitter::before { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" ><path fill="rgb(64,153,255)" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>'); |
|
||||||
} |
|
||||||
|
|
||||||
.social-linkedin::before { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" ><path fill="rgb(0,119,181)" d="M100.3 448H7.4V148.9h92.9V448zM53.8 108.1C24.1 108.1 0 83.5 0 53.8S24.1 0 53.8 0s53.8 24.1 53.8 53.8-24.1 54.3-53.8 54.3zM448 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448h-.1z"></path></svg>'); |
|
||||||
} |
|
||||||
|
|
||||||
.social-youtube::before { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" ><path fill="rgb(205,32,31)" d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"></path></svg>'); |
|
||||||
} |
|
||||||
|
|
||||||
.social-github::before { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512" ><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>'); |
|
||||||
} |
|
||||||
|
|
||||||
.social-website::before { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" ><path fill="currentColor" d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path></svg>'); |
|
||||||
} |
|
||||||
.social-slides::before { |
|
||||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" ><path fill="currentColor" d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path></svg>'); |
|
||||||
} |
|
@ -1,47 +0,0 @@ |
|||||||
.speakers ul { |
|
||||||
|
|
||||||
li .speaker { |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
align-items: center; |
|
||||||
text-decoration: none; |
|
||||||
color: inherit; |
|
||||||
|
|
||||||
.info { |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
align-items: center; |
|
||||||
} |
|
||||||
|
|
||||||
.speaker-img { |
|
||||||
--size: 8rem; |
|
||||||
height: var(--size); |
|
||||||
min-width: var(--size); |
|
||||||
border-radius: 100%; |
|
||||||
background-size: cover; |
|
||||||
margin: var(--space-2); |
|
||||||
} |
|
||||||
|
|
||||||
.speaker-company { |
|
||||||
img { |
|
||||||
max-height: 2rem; |
|
||||||
margin: var(--space-1); |
|
||||||
} |
|
||||||
figcaption { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.speaker-name { |
|
||||||
font-weight: 600; |
|
||||||
margin: var(--space-1); |
|
||||||
} |
|
||||||
|
|
||||||
.speaker-company { |
|
||||||
font-weight: 200; |
|
||||||
opacity: .8; |
|
||||||
margin: var(--space-1); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
@ -1,20 +0,0 @@ |
|||||||
#TableOfContents ul { |
|
||||||
padding-left: 0; |
|
||||||
list-style: none; |
|
||||||
|
|
||||||
li { |
|
||||||
font-size: 1rem; |
|
||||||
margin: var(--space-1) 0; |
|
||||||
padding: var(--space-1) 0; |
|
||||||
|
|
||||||
a { |
|
||||||
color: var(--primary); |
|
||||||
text-decoration: none; |
|
||||||
|
|
||||||
&:focus, &:hover { |
|
||||||
text-decoration: underline; |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,47 +0,0 @@ |
|||||||
.tag-method-tools { |
|
||||||
background-color: var(--method-tools); |
|
||||||
} |
|
||||||
|
|
||||||
.tag-native-mobile-apps { |
|
||||||
background-color: var(--native-mobile-apps); |
|
||||||
} |
|
||||||
|
|
||||||
.tag-web { |
|
||||||
background-color: var(--web); |
|
||||||
} |
|
||||||
|
|
||||||
.tag-big-data-ml-ai { |
|
||||||
background-color: var(--big-data-ml-ai); |
|
||||||
} |
|
||||||
|
|
||||||
.tag-iot { |
|
||||||
background-color: var(--iot); |
|
||||||
} |
|
||||||
|
|
||||||
.tag-cloud { |
|
||||||
background-color: var(--cloud); |
|
||||||
} |
|
||||||
|
|
||||||
.tag-languages { |
|
||||||
background-color: var(--languages); |
|
||||||
} |
|
||||||
|
|
||||||
.tag-wtf { |
|
||||||
background-color: var(--wtf); |
|
||||||
} |
|
||||||
|
|
||||||
.tag-general { |
|
||||||
background-color: var(--general); |
|
||||||
} |
|
||||||
|
|
||||||
.tags { |
|
||||||
padding: var(--space-1); |
|
||||||
border-radius: var(--space-2); |
|
||||||
background: var(--darken-1); |
|
||||||
border: thin solid var(--darken-2); |
|
||||||
text-shadow: var(--extruded-light); |
|
||||||
} |
|
||||||
|
|
||||||
.taxonomy.tags { |
|
||||||
background: var(--base); |
|
||||||
} |
|
@ -1,56 +0,0 @@ |
|||||||
|
|
||||||
.tickets ul { |
|
||||||
list-style: none; |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
justify-content: center; |
|
||||||
align-items: center; |
|
||||||
width: 100%; |
|
||||||
|
|
||||||
li { |
|
||||||
flex-basis: 15rem; |
|
||||||
} |
|
||||||
|
|
||||||
li .ticket { |
|
||||||
margin: var(--space-4); |
|
||||||
padding: 2rem var(--space-3); |
|
||||||
border: thin solid var(--darken-1); |
|
||||||
box-shadow: var(--space-1) var(--space-1) var(--space-2) var(--darken-2); |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
align-items: center; |
|
||||||
text-decoration: none; |
|
||||||
color: inherit; |
|
||||||
|
|
||||||
&[aria-disabled] { |
|
||||||
opacity: .5; |
|
||||||
filter: grayscale(1); |
|
||||||
cursor: not-allowed; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
.ticket-name { |
|
||||||
font-size: 1rem; |
|
||||||
} |
|
||||||
|
|
||||||
.ticket-price { |
|
||||||
font-size: 3.5rem; |
|
||||||
color: var(--primary); |
|
||||||
font-weight: 200; |
|
||||||
} |
|
||||||
|
|
||||||
.ticket-date, .ticket-info { |
|
||||||
font-size: .75rem; |
|
||||||
color: var(--darken-3); |
|
||||||
} |
|
||||||
|
|
||||||
.btn { |
|
||||||
margin: var(--space-4); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,13 +0,0 @@ |
|||||||
|
|
||||||
|
|
||||||
.type-conférence { |
|
||||||
--duration: '40'; |
|
||||||
} |
|
||||||
|
|
||||||
.type-quickie { |
|
||||||
--duration: '15'; |
|
||||||
} |
|
||||||
|
|
||||||
.type-keynote { |
|
||||||
--duration: '40'; |
|
||||||
} |
|
@ -1,3 +0,0 @@ |
|||||||
{{ define "main"}} |
|
||||||
<h1 class="error">Oops!, page {{ .URL }} not found !</h1> |
|
||||||
{{ end }} |
|
@ -1,32 +0,0 @@ |
|||||||
<!DOCTYPE html> |
|
||||||
<html lang="{{ $.Site.LanguageCode | default " en" }}"> |
|
||||||
{{ partial "head.html" . }} |
|
||||||
|
|
||||||
<body class="{{ .Kind }} {{ anchorize .URL }} {{ .Section }}"> |
|
||||||
|
|
||||||
{{ block "header" . }} |
|
||||||
{{ partial "header.html" . }} |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
<main> |
|
||||||
{{ block "main" . }} |
|
||||||
{{ end }} |
|
||||||
</main> |
|
||||||
|
|
||||||
{{ block "footer.html" . }} |
|
||||||
{{ partial "footer.html" . }} |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
|
|
||||||
{{ $base := resources.Get "script/base.js" }} |
|
||||||
{{ $subscription := resources.Get "script/subscription.js" }} |
|
||||||
{{ $shuffle := resources.Get "script/shuffle.js" }} |
|
||||||
|
|
||||||
{{ $js := slice $base $subscription $shuffle | resources.Concat "script/main.js" }} |
|
||||||
<script src="{{ $js.Permalink }}"></script> |
|
||||||
{{ block "scripts" . }} |
|
||||||
<!-- No extra scripts --> |
|
||||||
{{ end }} |
|
||||||
</body> |
|
||||||
|
|
||||||
</html> |
|
@ -1,14 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
{{ .Content }} |
|
||||||
<hr> |
|
||||||
|
|
||||||
<ul class="pages"> |
|
||||||
{{ range .Pages }} |
|
||||||
<li> |
|
||||||
<a href="{{ .URL }}"> {{ .Title }}</a> |
|
||||||
</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,14 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
<div class="hero"> |
|
||||||
<h1>{{ $.Page.Params.Title }}</h1> |
|
||||||
<div class="description"> |
|
||||||
{{ .TableOfContents }} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<section class="content"> |
|
||||||
{{ .Content }} |
|
||||||
</section> |
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,28 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
<div class="hero"> |
|
||||||
<h1>{{ $.Page.Params.Title }}</h1> |
|
||||||
<div class="description"> |
|
||||||
{{ .Content }} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<section class="blogs"> |
|
||||||
{{ range .Pages }} |
|
||||||
<article> |
|
||||||
<a class="blog" href="{{ .URL }}"> |
|
||||||
<div class="img" style="background-image: url({{ path.Join .URL .Params.image }});"></div> |
|
||||||
<div class="info"> |
|
||||||
<h2>{{ .Title }}</h2> |
|
||||||
<span>{{ .Params.brief }}</span> |
|
||||||
<div class="date">{{ dateFormat "2 Jan 2016" .Date }}</div> |
|
||||||
<div class="reading">{{ .ReadingTime }}</div> |
|
||||||
</div> |
|
||||||
<p>{{ .Summary }} ...</p> |
|
||||||
</a> |
|
||||||
</article> |
|
||||||
{{ end }} |
|
||||||
</section> |
|
||||||
|
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,23 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
<div class="hero" > |
|
||||||
<div class="img" style="color: {{ .Params.color | default "#fff" }};background-image: url({{ .Params.image }})"></div> |
|
||||||
|
|
||||||
<div class="description"> |
|
||||||
|
|
||||||
<h1> |
|
||||||
<span>{{ .Title }}</span> |
|
||||||
<small>{{ .Params.brief }}</small> |
|
||||||
</h1> |
|
||||||
|
|
||||||
<hr> |
|
||||||
{{ .TableOfContents }} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<section class="content"> |
|
||||||
|
|
||||||
{{ .Content }} |
|
||||||
</section> |
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,109 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
{{ .Content }} |
|
||||||
|
|
||||||
{{ if .Params.info.show }} |
|
||||||
<section class="info"> |
|
||||||
<h2>Le DevFest Toulouse, c'est quoi ?</h2> |
|
||||||
<div> |
|
||||||
<p>{{ .Params.info.label }}</p> |
|
||||||
{{ if .Params.info.what }} |
|
||||||
<div class="numbers"> |
|
||||||
{{range .Params.info.what }} |
|
||||||
<div class="number"> |
|
||||||
<strong>{{ .value }}</strong> |
|
||||||
<div>{{ .label }}</div> |
|
||||||
</div> |
|
||||||
{{ end }} |
|
||||||
</div> |
|
||||||
{{ end }} |
|
||||||
</div> |
|
||||||
</section> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
|
|
||||||
{{ if .Params.speakers.show }} |
|
||||||
<section class="speakers"> |
|
||||||
<h2>Rockstar speakers</h2> |
|
||||||
{{ if .Params.speakers.top }} |
|
||||||
<ul class="shuffle"> |
|
||||||
{{ range where .Site.RegularPages "Params.id" "in" .Params.speakers.top }} |
|
||||||
<li> |
|
||||||
{{ partial "speaker.html" . }} |
|
||||||
</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
{{ end }} |
|
||||||
{{ if .Params.speakers.otherspeakers }} |
|
||||||
<a class="btn primary" href="/speakers/">Voir tous les speakers</a> |
|
||||||
{{ end }} |
|
||||||
</section> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
|
|
||||||
{{ if .Params.subscribe.show }} |
|
||||||
<section class="subscribe primary"> |
|
||||||
<h2>Soyez notifié des dernières informations !</h2> |
|
||||||
<button class="inverse" id="btnSubscribe">Souscrire</button> |
|
||||||
</section> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
{{ if .Params.tickets.show }} |
|
||||||
<section class="tickets"> |
|
||||||
<h2>Billets</h2> |
|
||||||
<a class="btn primary" target="_blank" href="https://www.billetweb.fr/devfest-toulouse-2019">Billeterie</a> |
|
||||||
|
|
||||||
<ul> |
|
||||||
{{range .Params.tickets.values }} |
|
||||||
<li>{{ partial "ticket.html" . }}</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
|
|
||||||
<p> |
|
||||||
<small> |
|
||||||
* Votre billet vous donne accès à toutes les conférences, aux pauses café, et au repas. L'hébergement n'est PAS |
|
||||||
inclus dans ce prix. |
|
||||||
</small> |
|
||||||
</p> |
|
||||||
</section> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
{{ if .Params.location.show }} |
|
||||||
<section class="location"> |
|
||||||
<div class="map" style="background-image: url('{{ .Params.location.image }}');"></div> |
|
||||||
<div class="description"> |
|
||||||
<h2>Le lieu</h2> |
|
||||||
<h3>{{ .Params.location.name }}</h3> |
|
||||||
<p>{{ .Params.location.description }}</p> |
|
||||||
<div class="direction"> |
|
||||||
{{ .Params.location.address }} |
|
||||||
{{ if .Params.location.pointer }} |
|
||||||
<a class="btn btn-icon-only icon-direction" target="_blank" aria-label="Itinéraire" href="https://www.google.com/maps/dir/?api=1&destination={{ .Site.Params.location.pointer.latitude }},{{ .Site.Params.location.pointer.longitude }}"></a> |
|
||||||
{{ end }} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</section> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
|
|
||||||
{{ if .Params.partners.show }} |
|
||||||
<section class="partners"> |
|
||||||
<h2>Partenaires</h2> |
|
||||||
{{ $site := .Site }} |
|
||||||
{{ range .Site.Params.partners.categories }} |
|
||||||
<section class="partners-group partner-{{ . }}"> |
|
||||||
<h3 class="fancy"> |
|
||||||
<span>{{ . }}</span> |
|
||||||
</h3> |
|
||||||
<ul> |
|
||||||
{{ range where $site.Pages "Params.category" . }} |
|
||||||
<li>{{ partial "partner.html" . }}</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
</section> |
|
||||||
{{ end }} |
|
||||||
</section> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
{{ end }} |
|
||||||
|
|
@ -1,42 +0,0 @@ |
|||||||
<head> |
|
||||||
<meta charset="utf-8"> |
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
|
||||||
<meta name="viewport" content="width=device-width,minimum-scale=1"> |
|
||||||
<meta name="HandheldFriendly" content="True"> |
|
||||||
<meta name="MobileOptimized" content="320"> |
|
||||||
|
|
||||||
{{/* NOTE: These Hugo Internal Templates can be found starting at |
|
||||||
https://github.com/gohugoio/hugo/tree/master/tpl/tplimpl/embedded/templates */}} |
|
||||||
{{- template "_internal/opengraph.html" . -}} |
|
||||||
{{- template "_internal/google_news.html" . -}} |
|
||||||
{{- template "_internal/schema.html" . -}} |
|
||||||
{{- template "_internal/twitter_cards.html" . -}} |
|
||||||
|
|
||||||
{{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production") }} |
|
||||||
{{ template "_internal/google_analytics_async.html" . }} |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
{{ .Hugo.Generator }} |
|
||||||
|
|
||||||
{{/* NOTE: For Production make sure you add `HUGO_ENV="production"` before your build command */}} |
|
||||||
{{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production") }} |
|
||||||
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW"> |
|
||||||
{{ else }} |
|
||||||
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
<title>{{ block "title" . }}{{ .Site.Title }} {{ with .Params.Title }} | {{ . }}{{ end }}{{ end }}</title> |
|
||||||
|
|
||||||
{{ if .Site.Params.favicon }} |
|
||||||
<link rel="shortcut icon" href="{{ .Site.Params.favicon }}" type="image/x-icon" /> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
{{ if .RSSLink }} |
|
||||||
<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" /> |
|
||||||
<link href="{{ .RSSLink }}" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}" /> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
{{ $style := resources.Get "style/main.scss" | resources.ToCSS | resources.Minify | resources.Fingerprint }} |
|
||||||
<link rel="stylesheet" href="{{ $style.Permalink }}"> |
|
||||||
|
|
||||||
</head> |
|
@ -1,24 +0,0 @@ |
|||||||
<header> |
|
||||||
<div class="logo"> |
|
||||||
<a href="/"> |
|
||||||
<img src="{{ .Site.Params.logos.header }}" alt="logo {{ .Site.Title }}"> |
|
||||||
</a> |
|
||||||
</div> |
|
||||||
|
|
||||||
<input type="checkbox" id="menu-burger" class="visually-hidden"/> |
|
||||||
|
|
||||||
<label for="menu-burger"></label> |
|
||||||
|
|
||||||
<nav> |
|
||||||
{{ $url := .URL }} |
|
||||||
{{ range .Site.Params.menus }} |
|
||||||
{{ if (hasPrefix .url "http") }} |
|
||||||
<a class="external" href="{{ .url }}" target="_blank" >{{ .name }}</a> |
|
||||||
{{ else }} |
|
||||||
<a class="{{ if (eq .url $url) }}active{{ end }}" href="{{ .url }}">{{ .name }}</a> |
|
||||||
{{ end }} |
|
||||||
{{ end }} |
|
||||||
</nav> |
|
||||||
|
|
||||||
|
|
||||||
</header> |
|
@ -1,5 +0,0 @@ |
|||||||
<a class="partner" |
|
||||||
href="{{ .URL }}" |
|
||||||
aria-label="{{ .Title }}" |
|
||||||
title="{{ .Title }}" |
|
||||||
style="background-image: url({{ .Params.logo }});"></a> |
|
@ -1,40 +0,0 @@ |
|||||||
<a href="{{ .URL }}" class="tag-{{ anchorize (delimit (.Params.tags | default (slice)) "" ) }}"> |
|
||||||
|
|
||||||
<h2> |
|
||||||
{{ .Title }} |
|
||||||
<span class="language {{ anchorize .Params.language }}"></span> |
|
||||||
</h2> |
|
||||||
|
|
||||||
<hr> |
|
||||||
|
|
||||||
<div class="info"> |
|
||||||
{{ if.Params.tags }} |
|
||||||
<div class="tags"> |
|
||||||
{{ range .Params.tags }} |
|
||||||
<span>{{ . }}</span> |
|
||||||
{{ end }} |
|
||||||
</div> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
<div class="complexity">{{ .Params.complexity }}</div> |
|
||||||
<div class="type type-{{ anchorize .Params.talkType }}">{{ .Params.talkType }}</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
|
|
||||||
<ul class="speakers"> |
|
||||||
{{ range where .Site.RegularPages "Params.id" "in" .Params.speakers }} |
|
||||||
<li class="speaker"> |
|
||||||
<div class="speaker-img" style="background-image: url({{ .Params.photo }});"></div> |
|
||||||
<div class="info"> |
|
||||||
<strong class="speaker-name">{{ .Params.name }}</strong> |
|
||||||
<span class="speaker-country">{{ .Params.country }}</span> |
|
||||||
</div> |
|
||||||
<figure class="speaker-company" > |
|
||||||
<img src="{{ .Params.companyLogo }}"> |
|
||||||
<figcaption>{{ .Params.company }}</figcaption> |
|
||||||
</figure> |
|
||||||
</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
|
|
||||||
</a> |
|
@ -1,11 +0,0 @@ |
|||||||
<a class="speaker" href="{{ .URL }}"> |
|
||||||
<div class="speaker-img" style="background-image: url({{ .Params.photo }});"></div> |
|
||||||
<div class="info"> |
|
||||||
<figure class="speaker-company"> |
|
||||||
<img src="{{ .Params.companyLogo }}"> |
|
||||||
<figcaption>{{ .Params.company }}</figcaption> |
|
||||||
</figure> |
|
||||||
<strong class="speaker-name">{{ .Params.name }}</strong> |
|
||||||
<span class="speaker-country">{{ .Params.country }}</span> |
|
||||||
</div> |
|
||||||
</a> |
|
@ -1,5 +0,0 @@ |
|||||||
<form class="subscribe"> |
|
||||||
Pas de spam, juste les dernières infos ! |
|
||||||
<input type="email" name="email" placeholder="Votre mail"> |
|
||||||
<button>Souscrire</button> |
|
||||||
</form> |
|
@ -1,10 +0,0 @@ |
|||||||
<div class="photo" style="background-image: url({{ .photoUrl }});"></div> |
|
||||||
<div class="label"> |
|
||||||
<h3>{{ .name }}</h3> |
|
||||||
<h4>{{ .title }}</h4> |
|
||||||
<ul class="socials"> |
|
||||||
{{ range .socials }} |
|
||||||
<li><a class="social-{{ .icon }}" title="{{ .name }}" href="{{ .link }}" target="_blank"></a></li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
</div> |
|
@ -1,12 +0,0 @@ |
|||||||
<div class="ticket" {{ if .soldOut }}aria-disabled="true"{{end}}> |
|
||||||
<div class="ticket-name">{{ .name }}</div> |
|
||||||
<div class="ticket-price">{{ .price }} {{ .currency }}</div> |
|
||||||
<div class="ticket-date">{{ .starts }} - {{ .ends }}</div> |
|
||||||
<div class="ticket-info">{{ .info }}</div> |
|
||||||
|
|
||||||
{{ if .soldOut }} |
|
||||||
<span class="btn" aria-disabled="true">Rupture de stock</span> |
|
||||||
{{ else }} |
|
||||||
<a class="btn primary" target="_blank" href="{{ .url }}">Billeterie</a> |
|
||||||
{{ end }} |
|
||||||
</div> |
|
@ -1,24 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
<div class="hero"> |
|
||||||
<h1>{{ $.Page.Params.Title }}</h1> |
|
||||||
<div class="description"> |
|
||||||
TODO: filter and search |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
{{ $site := .Site }} |
|
||||||
{{ range .Params.categories }} |
|
||||||
<section class="partners-group partner-{{ . }}"> |
|
||||||
<h3 class="fancy"> |
|
||||||
<span>{{ . }}</span> |
|
||||||
</h3> |
|
||||||
<ul> |
|
||||||
{{ range where $site.Pages "Params.category" . }} |
|
||||||
<li>{{ partial "partner.html" . }}</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
</section> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,6 +0,0 @@ |
|||||||
<div class="hero"> |
|
||||||
<h1>{{ $.Page.Params.Title }}</h1> |
|
||||||
<div class="description"> |
|
||||||
{{ .Inner }} |
|
||||||
</div> |
|
||||||
</div> |
|
@ -1,6 +0,0 @@ |
|||||||
<div class="jumbo" style="background: url({{ .Get "img" }}) 0 / cover fixed;"> |
|
||||||
<div class="inner"> |
|
||||||
{{ .Inner }} |
|
||||||
</div> |
|
||||||
<div class="scroll-down"></div> |
|
||||||
</div> |
|
@ -1,18 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
<div class="hero"> |
|
||||||
<h1>{{ $.Page.Params.Title }}</h1> |
|
||||||
<div class="description"> |
|
||||||
TODO: filter and search |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<section> |
|
||||||
<ul class="speakers shuffle"> |
|
||||||
{{ range .Pages }} |
|
||||||
<li>{{ partial "speaker.html" . }}</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
</section> |
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,58 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
<div class="hero"> |
|
||||||
|
|
||||||
<header> |
|
||||||
<div class="speaker-img" style="background-image: url({{ .Page.Params.photo }});"></div> |
|
||||||
<div> |
|
||||||
<h1>{{ .Page.Params.name }}</h1> |
|
||||||
|
|
||||||
<ul class="socials"> |
|
||||||
{{ range .Page.Params.socials }} |
|
||||||
<li> |
|
||||||
<a class="social-{{ .icon }}" href="{{ .link }}" target="_blank">{{ .name }}</a> |
|
||||||
</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
</div> |
|
||||||
</header> |
|
||||||
|
|
||||||
<div class="description"> |
|
||||||
|
|
||||||
<ul class="talks"> |
|
||||||
{{ range where .Site.RegularPages "Params.speakers" "intersect" (slice .Page.Params.id) }} |
|
||||||
<li> |
|
||||||
<a href="{{ .URL }}" class="talk tag-{{ anchorize (delimit .Params.tags "" ) }}"> |
|
||||||
<div class="tags"> |
|
||||||
{{ range .Params.tags }} |
|
||||||
<span>{{ . }}</span> |
|
||||||
{{ end }} |
|
||||||
</div> |
|
||||||
<span class="language {{ anchorize .Params.language }}"></span> |
|
||||||
<h3 class="text">{{ .Title }}</h3> |
|
||||||
</a> |
|
||||||
</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
|
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<section class="speaker"> |
|
||||||
|
|
||||||
<header> |
|
||||||
<h2>{{ .Page.Params.country }}</h2> |
|
||||||
<figure class="speaker-company"> |
|
||||||
<img src="{{ .Page.Params.companyLogo }}" alt="{{ .Page.Params.company }}"> |
|
||||||
<figcaption>{{ .Page.Params.company }}</figcaption> |
|
||||||
</figure> |
|
||||||
</header> |
|
||||||
|
|
||||||
<div class="bio"> |
|
||||||
{{ .Content }} |
|
||||||
</div> |
|
||||||
|
|
||||||
</section> |
|
||||||
|
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,18 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
<div class="hero"> |
|
||||||
<h1>{{ $.Page.Params.Title }}</h1> |
|
||||||
<div class="description"> |
|
||||||
TODO: filter and search |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<section> |
|
||||||
<ul class="talks shuffle"> |
|
||||||
{{ range where .Pages ".Params.title" "ne" "Office Hours" }} |
|
||||||
<li class="talk">{{ partial "session.html" . }}</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
</section> |
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,62 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
<section class="talk"> |
|
||||||
|
|
||||||
<header class="tag-{{ anchorize (delimit .Params.tags "" ) }}"> |
|
||||||
<div class="tags"> |
|
||||||
{{ range .Params.tags }} |
|
||||||
<span>{{ . }}</span> |
|
||||||
{{ end }} |
|
||||||
</div> |
|
||||||
|
|
||||||
<h1 class="text">{{ .Title }}</h1> |
|
||||||
<span class="language {{ anchorize .Params.language }}"></span> |
|
||||||
</header> |
|
||||||
|
|
||||||
<div class="info"> |
|
||||||
<div class="complexity">{{ .Params.complexity }}</div> |
|
||||||
<div class="type type-{{ anchorize .Params.talkType }}">{{ .Params.talkType }}</div> |
|
||||||
|
|
||||||
<div class="content"> |
|
||||||
{{ .Content }} |
|
||||||
</div> |
|
||||||
|
|
||||||
</div> |
|
||||||
|
|
||||||
|
|
||||||
<ul class="speakers"> |
|
||||||
{{ range where .Site.RegularPages "Params.id" "in" .Params.speakers }} |
|
||||||
<li> |
|
||||||
<a class="speaker" href="/speakers/{{ .Params.id }}"> |
|
||||||
<div class="speaker-img" style="background-image: url({{ .Params.photo }});"></div> |
|
||||||
<div class="info"> |
|
||||||
<strong class="speaker-name">{{ .Params.name }}</strong> |
|
||||||
<span class="speaker-country">{{ .Params.country }}</span> |
|
||||||
</div> |
|
||||||
<p>{{ .Params.shortBio }}</p> |
|
||||||
<figure class="speaker-company"> |
|
||||||
<img src="{{ .Params.companyLogo }}"> |
|
||||||
<figcaption>{{ .Params.company }}</figcaption> |
|
||||||
</figure> |
|
||||||
</a> |
|
||||||
</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
|
|
||||||
|
|
||||||
<div class="media"> |
|
||||||
{{ if .Params.videoId }} |
|
||||||
<div class="video" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> |
|
||||||
<iframe src="//www.youtube.com/embed/{{ .Params.videoId }}?autoplay=1" |
|
||||||
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen |
|
||||||
title="YouTube Video"></iframe> |
|
||||||
</div> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
{{ if .Params.presentation }} |
|
||||||
<a class="social-slides" href="{{ .Params.presentation }}" target="_blank">Voir les slides</a> |
|
||||||
{{ end }} |
|
||||||
|
|
||||||
</div> |
|
||||||
|
|
||||||
</section> |
|
||||||
{{ end }} |
|
@ -1,18 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
|
|
||||||
<div class="hero"> |
|
||||||
<h1>{{ $.Page.Params.Title }}</h1> |
|
||||||
<div class="description"> |
|
||||||
TODO: filter and search |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<section> |
|
||||||
<ul class="talks shuffle"> |
|
||||||
{{ range where .Pages ".Params.title" "ne" "Office Hours" }} |
|
||||||
<li class="talk">{{ partial "session.html" . }}</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
</section> |
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,12 +0,0 @@ |
|||||||
{{ define "main" }} |
|
||||||
{{ .Content }} |
|
||||||
|
|
||||||
<section> |
|
||||||
<ul class="members shuffle"> |
|
||||||
{{ range (shuffle .Site.Data.team) }} |
|
||||||
<li>{{ partial "team.html" . }}</li> |
|
||||||
{{ end }} |
|
||||||
</ul> |
|
||||||
</section> |
|
||||||
|
|
||||||
{{ end }} |
|
@ -1,7 +0,0 @@ |
|||||||
User-agent: * |
|
||||||
# robotstxt.org - if ENV production variable is false robots will be disallowed. |
|
||||||
{{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production") }} |
|
||||||
Disallow: |
|
||||||
{{ else }} |
|
||||||
Disallow: / |
|
||||||
{{ end }} |
|
@ -1,14 +0,0 @@ |
|||||||
# theme.toml template for a Hugo theme |
|
||||||
# See https://github.com/gohugoio/hugoThemes#themetoml for an example |
|
||||||
|
|
||||||
name = "Devfest Toulouse Theme" |
|
||||||
license = "MIT" |
|
||||||
licenselink = "https://github.com/GDGToulouse/template-site-devfest-toulouse/LICENSE" |
|
||||||
description = "" |
|
||||||
tags = ["Devfest"] |
|
||||||
features = [] |
|
||||||
min_version = "0.50" |
|
||||||
|
|
||||||
[author] |
|
||||||
name = "GDG Toulouse" |
|
||||||
homepage = "https://github.com/GDGToulouse" |
|
@ -1,23 +0,0 @@ |
|||||||
const yaml = require('js-yaml'); |
|
||||||
const fs = require('fs'); |
|
||||||
const path = require('path'); |
|
||||||
|
|
||||||
const writeOption = { |
|
||||||
flag: 'w' |
|
||||||
}; |
|
||||||
|
|
||||||
const writeToYml = (list, dest) => { |
|
||||||
const data = yaml.safeDump(list); |
|
||||||
console.log('Write to', dest); |
|
||||||
|
|
||||||
fs.writeFileSync(dest, data, writeOption); |
|
||||||
}; |
|
||||||
|
|
||||||
const firebaseData = require('./firebase-data.json'); |
|
||||||
|
|
||||||
['partners', 'team', 'tickets'] |
|
||||||
.forEach(key => { |
|
||||||
const dest = path.join(__dirname, `../data/${key}.yml`); |
|
||||||
const data = firebaseData[key]; |
|
||||||
writeToYml(data, dest); |
|
||||||
}); |
|
File diff suppressed because it is too large
Load Diff
@ -1,48 +0,0 @@ |
|||||||
const yaml = require('js-yaml'); |
|
||||||
const fs = require('fs'); |
|
||||||
const path = require('path'); |
|
||||||
const slugify = require('slugify'); |
|
||||||
|
|
||||||
|
|
||||||
const writeOption = { |
|
||||||
flag: 'w' |
|
||||||
}; |
|
||||||
|
|
||||||
const firebaseData = require('./firebase-data.json'); |
|
||||||
|
|
||||||
const generatePartnerGroupData = group => { |
|
||||||
const {title, logos} = group; |
|
||||||
return logos |
|
||||||
.map(partner => ({ |
|
||||||
title: partner.name, |
|
||||||
type: 'partner', |
|
||||||
category: slugify(title.toLowerCase()), |
|
||||||
website: partner.url, |
|
||||||
logo: partner.logoUrl, |
|
||||||
socials: [] |
|
||||||
})).map(generatePartnerData); |
|
||||||
|
|
||||||
}; |
|
||||||
|
|
||||||
const generatePartnerData = (partner) => { |
|
||||||
const data = `---
|
|
||||||
${yaml.safeDump(partner, {skipInvalid: true})}--- |
|
||||||
|
|
||||||
Find ${partner.title} on [${partner.website}](${partner.website}) |
|
||||||
|
|
||||||
![${partner.title}](${partner.logo}) |
|
||||||
`;
|
|
||||||
|
|
||||||
return {id: partner.title.toLowerCase(), parent: partner.category, data}; |
|
||||||
}; |
|
||||||
|
|
||||||
Object.values(firebaseData.partners) |
|
||||||
.map(group => generatePartnerGroupData(group)) |
|
||||||
.reduce((acc, elt) => ([...acc, ...elt]), []) |
|
||||||
.forEach(({id, parent, data}) => { |
|
||||||
const parentFile = path.join(__dirname, `../content/partners/${slugify(parent)}`); |
|
||||||
fs.mkdirSync(parentFile, {recursive: true}); |
|
||||||
const dest = path.join(parentFile, `${slugify(id)}.md`); |
|
||||||
console.log('Write to', dest); |
|
||||||
fs.writeFileSync(dest, data, writeOption); |
|
||||||
}); |
|
@ -1,45 +0,0 @@ |
|||||||
const yaml = require('js-yaml'); |
|
||||||
const fs = require('fs'); |
|
||||||
const path = require('path'); |
|
||||||
|
|
||||||
|
|
||||||
const writeOption = { |
|
||||||
flag: 'w' |
|
||||||
}; |
|
||||||
|
|
||||||
const firebaseData = require('./firebase-data.json'); |
|
||||||
|
|
||||||
|
|
||||||
const generateSessionData = (id, session) => { |
|
||||||
const frontMatter = {id, ...session}; |
|
||||||
const {type} = frontMatter; |
|
||||||
delete frontMatter.description; |
|
||||||
delete frontMatter.type; |
|
||||||
frontMatter.talkType = type; |
|
||||||
return `---
|
|
||||||
${yaml.safeDump(frontMatter, {skipInvalid: true})} |
|
||||||
--- |
|
||||||
|
|
||||||
${session.description} |
|
||||||
`;
|
|
||||||
}; |
|
||||||
|
|
||||||
const generateSessionName = (id, title) => { |
|
||||||
const name = title |
|
||||||
.normalize('NFD') |
|
||||||
.replace(/[\u0300-\u036f]/g, "") |
|
||||||
.replace(/[^a-z0-9]/gi, '_') |
|
||||||
.toLowerCase(); |
|
||||||
return `${id}_${name}.md`; |
|
||||||
}; |
|
||||||
|
|
||||||
Object.entries(firebaseData.sessions) |
|
||||||
.filter(([_, session]) => !session.isBreak) |
|
||||||
.map(([id, session]) => ([ |
|
||||||
generateSessionName(id, session.title), |
|
||||||
generateSessionData(parseInt(id, 10), session)])) |
|
||||||
.forEach(([filename, data]) => { |
|
||||||
const dest = path.join(__dirname, `../content/talks/${filename}`); |
|
||||||
console.log('Write to', dest); |
|
||||||
fs.writeFileSync(dest, data, writeOption); |
|
||||||
}); |
|
@ -1,29 +0,0 @@ |
|||||||
const yaml = require('js-yaml'); |
|
||||||
const fs = require('fs'); |
|
||||||
const path = require('path'); |
|
||||||
|
|
||||||
|
|
||||||
const writeOption = { |
|
||||||
flag: 'w' |
|
||||||
}; |
|
||||||
|
|
||||||
const firebaseData = require('./firebase-data.json'); |
|
||||||
|
|
||||||
const generateSpeakerData = (id, speaker) => { |
|
||||||
const frontMatter = {id, ...speaker}; |
|
||||||
delete frontMatter.bio; |
|
||||||
return `---
|
|
||||||
${yaml.safeDump(frontMatter, {skipInvalid: true})} |
|
||||||
--- |
|
||||||
|
|
||||||
${speaker.bio} |
|
||||||
`;
|
|
||||||
}; |
|
||||||
|
|
||||||
Object.entries(firebaseData.speakers) |
|
||||||
.map(([id, speaker]) => ([id, generateSpeakerData(id, speaker)])) |
|
||||||
.forEach(([id, data]) => { |
|
||||||
const dest = path.join(__dirname, `../content/speakers/${id}.md`); |
|
||||||
console.log('Write to', dest); |
|
||||||
fs.writeFileSync(dest, data, writeOption); |
|
||||||
}); |
|
Loading…
Reference in new issue