@mortendk #drupaltwig - drupalcon | be human, think … · theming drupalcon barcelona 2015 drupal...
TRANSCRIPT
![Page 1: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/1.jpg)
@moRtenDk #drUpaltWIG
7
![Page 2: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/2.jpg)
@moRtenDk #drUpaltWIG
tHemIngDRUpALCoN BaRCElONA 2015
DRUpAl 8
![Page 3: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/3.jpg)
@moRtenDk #drUpaltWIG
SLIdES aRE oNLInE In 60 MInUTEs
sLidEs
![Page 4: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/4.jpg)
@moRtenDk #drUpaltWIG
@morTenDk
CLAsSy MAInTAInER
GEEk RÖYALe THE ANGrY
THEmER
TaG1 CONsULTiNG
![Page 5: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/5.jpg)
@moRtenDk #drUpaltWIG
@MOrTENdK
![Page 6: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/6.jpg)
@moRtenDk #drUpaltWIG
#DRuPALtWiG
![Page 7: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/7.jpg)
@moRtenDk #drUpaltWIG
sOrryRc 1
![Page 8: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/8.jpg)
@moRtenDk #drUpaltWIG
bOoOOooOoLET THE ANGeR OuT
![Page 9: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/9.jpg)
@moRtenDk #drUpaltWIG
sTocKhoLm sYndRome
![Page 10: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/10.jpg)
@moRtenDk #drUpaltWIG
DRUpAL7 MARkUP
![Page 11: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/11.jpg)
@moRtenDk #drUpaltWIG
“IT’S A FEAtUrE”
dIviTis<DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV><DIV>
</DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV>
![Page 12: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/12.jpg)
@moRtenDk #drUpaltWIG
5000LINeS Of PHpTEMpLATe.PHp
TotAllY oK
![Page 13: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/13.jpg)
@moRtenDk #drUpaltWIG
<div class=“foo bar baz foo-more-more bar-more-yet another one”>
fEatUreTHE CLAsS SoUP IS AnOTHeR
![Page 14: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/14.jpg)
@moRtenDk #drUpaltWIG
nO mOre aAaaRgh!
![Page 15: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/15.jpg)
@moRtenDk #drUpaltWIG
nEw
tHemE eNgiNe
GOOd-BYe PHPtEMPlAtEHELlO TwIG
![Page 16: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/16.jpg)
@moRtenDk #drUpaltWIG
tHemE fUncTioNs
dEad!
![Page 17: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/17.jpg)
@moRtenDk #drUpaltWIG
tWig tEmpLatEs
EVErYTHiNG iS
BLOcK.HtML.tWiG
MARk.HTmL.TwIG
TABlE.HtML.tWiG
PAGe.HTmL.TwIGNODe.HTmL.TwIG
VIEw.HTmL.TwIG
FIElD.HtML.tWiG IMAgE-WiDGEt.HTmL.TwIG
![Page 18: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/18.jpg)
@moRtenDk #drUpaltWIG
tHemE iS iN cOntRolThE
OF mARKuP & CSs
![Page 19: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/19.jpg)
@moRtenDk #drUpaltWIG
uNleArn pHptEmpLa
te<? pHP dIe(‘PHPtEMPlAtE’) ?>
![Page 20: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/20.jpg)
@moRtenDk #drUpaltWIG
REAdY?
![Page 21: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/21.jpg)
@moRtenDk #drUpaltWIG
tWigDRUpAl 8
![Page 22: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/22.jpg)
@moRtenDk #drUpaltWIG
IS a “MODeRN” TEmPLAtE LaNGUaGe -> sYMPhONY
USEd BY OTHeR SySTEmS + It’S EaSY tO LeARN :)
tWig
![Page 23: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/23.jpg)
@moRtenDk #drUpaltWIG
{{ var }} {# comment #}
{% functionality %}
{ # %
![Page 24: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/24.jpg)
@moRtenDk #drUpaltWIG
{{ data.is.here }}
{{ also.this[#hashtags] }}
vAr DriLliNg$yo[‘drupal_where ’]->is[‘und’][0]->my_data7
![Page 25: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/25.jpg)
@moRtenDk #drUpaltWIG
{{ var|makemepretty(‘now’) }}
fUncTionPIPe
TWIg FUnCTIoNVaR
![Page 26: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/26.jpg)
@moRtenDk #drUpaltWIG
{{ username|uppercase }}
MORTENDK
fUncTion(mortendk)
![Page 27: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/27.jpg)
@moRtenDk #drUpaltWIG
{{ ‘Copenhagen’|t }}
{% trans %} by {{ user }} date {{ date }} {% endtrans %}
tRanSlaTe
![Page 28: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/28.jpg)
@moRtenDk #drUpaltWIG
{% if person=“mortendk” %} <h1>Loves Drupal8</h1> {% endif %}
cOntRol
![Page 29: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/29.jpg)
@moRtenDk #drUpaltWIG
{{ sushi|raw}}
aUtoEscApe
SECuRITy IS SOMeTHInG DEVeLOPeRS LIKe
![Page 30: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/30.jpg)
@moRtenDk #drUpaltWIG
{% set foo = “bar” %}
{{ foo }}
bar
cReaTe Var
![Page 31: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/31.jpg)
@moRtenDk #drUpaltWIG
cLasSyTHE DRUpAl 8 BAsE ThEmE
![Page 32: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/32.jpg)
@moRtenDk #drUpaltWIG
7corE
claSsy
<HTmL> .CSs CLAsS=“FoO”
<HTmL> .CSs CLAsS=“FoO”
![Page 33: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/33.jpg)
@moRtenDk #drUpaltWIG
bAseTheMe
corE claSsy
my ThemE
? barTik
sevEn$VArS
![Page 34: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/34.jpg)
@moRtenDk #drUpaltWIG
bAseTheMe
<div> {{ foo }} </div>
corE claSsy“MY tHEMe”
NO bASEtHEMe DEfINEd
![Page 35: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/35.jpg)
@moRtenDk #drUpaltWIG
bAseTheMe
<div class=“node node—article”> {{ foo }} </div>
corE claSsy“MY tHEMe”
BASe THeME: CLAsSY
![Page 36: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/36.jpg)
@moRtenDk #drUpaltWIG
tEmpLatEs
CORe/THeME/cLASsY/*
MODuLES/[MODuLENaME]/*7aniMatiOn eXplaIninG how we MoveD shIt
outTa cOre And Into claSsy
![Page 37: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/37.jpg)
@moRtenDk #drUpaltWIG
dRupAl8 teMplAtes
CORe/THeMES/CLAsSy/
![Page 38: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/38.jpg)
@moRtenDk #drUpaltWIG
dEfiNe BasEthEme
base theme: classy
[THEmENAmE].iNFO.YmL
![Page 39: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/39.jpg)
@moRtenDk #drUpaltWIG
yOu DecIde!
corE claSsy
CLEaN As COrE CLAsSES YOU CAN TRUsT
![Page 40: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/40.jpg)
@moRtenDk #drUpaltWIG
corE
claSsy
7
ZeN
MOThERShIP
wAitAmiNutE!
![Page 41: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/41.jpg)
@moRtenDk #drUpaltWIG
MORtENDk
JOHn ALbIN
corE
claSsy
7
ZeN
MOThERShIP
MAInTAInERS ?
![Page 42: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/42.jpg)
@moRtenDk #drUpaltWIG
![Page 43: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/43.jpg)
@moRtenDk #drUpaltWIG
sEtupSETtING UP a THeME
![Page 44: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/44.jpg)
@moRtenDk #drUpaltWIG
[ROOt]/ThEMEs/[THEmENAmE]
I LiVE wHERe NOw ?
![Page 45: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/45.jpg)
@moRtenDk #drUpaltWIG
tHemE cOnfIg FilEs
*.InFO.yMl *.LiBRArIES.YML *.BrEAKpOINtS.YmL *.ThEmE
![Page 46: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/46.jpg)
@moRtenDk #drUpaltWIG
*.inFo.YmlTHEmE CoNFIgURAtION, CSs & jS
![Page 47: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/47.jpg)
@moRtenDk #drUpaltWIG
BASiC INFo
REGiOnS
LIBrARIeS
REMoVE cSS
![Page 48: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/48.jpg)
@moRtenDk #drUpaltWIG
![Page 49: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/49.jpg)
@moRtenDk #drUpaltWIG
*.liBraRieS.yMlADDiNG jS & CSs TO THE THEmE
![Page 50: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/50.jpg)
@moRtenDk #drUpaltWIG
FOO.INFo.YAmL
FOO.LIBrARIeS.YaML
SLIdER.cSSSLIdER.jS
SLIdER
FOO.CsSBAR.JS
AWEsOmE
![Page 51: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/51.jpg)
@moRtenDk #drUpaltWIG
.INfO.YmL
.LIbRARiES.yML
![Page 52: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/52.jpg)
@moRtenDk #drUpaltWIG
NAMe
DEPeNDEnCIEs
CSS FILeS
*.liBraRieS.yMl
JS fILEs
![Page 53: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/53.jpg)
@moRtenDk #drUpaltWIG
global: version: VERSION css: component: css/user/user.theme.css: {} theme: css/layout.css: {}
cSs OrgAniZingBASe LAYoUt COMpONEnT STAtE THEmE
![Page 54: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/54.jpg)
@moRtenDk #drUpaltWIG
[*].BreAkpOinTs.YmlRESpONSiVE iMAGeS
![Page 55: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/55.jpg)
@moRtenDk #drUpaltWIG
*.BrEAKpOINtS.YmL
![Page 56: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/56.jpg)
@moRtenDk #drUpaltWIG
*.BrEAKpOINtS.YmL
![Page 57: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/57.jpg)
@moRtenDk #drUpaltWIG
[*].TheMe
WAS PHPtEMPlATE.PhP
![Page 58: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/58.jpg)
@moRtenDk #drUpaltWIG
.TheMe
.LIbRARiES.yML
.THeME
![Page 59: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/59.jpg)
@moRtenDk #drUpaltWIG
tOolsHOW TO fIND STUfF & DEbUg
![Page 60: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/60.jpg)
@moRtenDk #drUpaltWIG
sEttIngS.pHp
if (file_exists(__DIR__ . '/settings.local.php')) { include __DIR__ . '/settings.local.php'; }
COPy: SiTES/EXAmPLE.SETtINGs.LOcAL.pHP
TO: SITeS/DeFAUlT/SeTTInGS.lOCAl.PHp
UNCoMMEnT In SEtTINgS.PhP
![Page 61: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/61.jpg)
@moRtenDk #drUpaltWIG
DOWnLOAd DEvEL mODUlE INStALL DEVeL + KINt
INStALL DRUsH DRUsH En KInT
DOCs.DRuSH.oRG/eN/MaSTEr/INsTALl/
dEvel
![Page 62: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/62.jpg)
@moRtenDk #drUpaltWIG
dIsaBle csS cAche
![Page 63: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/63.jpg)
@moRtenDk #drUpaltWIG
THEmE DeBUG FTW!
SERvICEs.YMl
![Page 64: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/64.jpg)
@moRtenDk #drUpaltWIG
FILe NAmE SuGGEsTIOnSFILe NAmE SuGGEsTIOnS
![Page 65: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/65.jpg)
@moRtenDk #drUpaltWIG
PATh TO ACTiVE tEMPlAtE
![Page 66: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/66.jpg)
@moRtenDk #drUpaltWIG
![Page 67: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/67.jpg)
@moRtenDk #drUpaltWIG
kInt{{ kint( foo ) }}
KRUmO FoR DrUPAl 8
{{ content.field_image }}
screenshot af kint fra video
![Page 68: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/68.jpg)
@moRtenDk #drUpaltWIG
SITeS/AlL/DeFAUlT/SeRVIcES.yMl
DRUsH Cr
{{ KInT(FoO) }}
tWig deBug:
![Page 69: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/69.jpg)
@moRtenDk #drUpaltWIG
tEmpLatE sTruCtuRe
EVErYTHiNG iS A TEMpLATe FIlE
![Page 70: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/70.jpg)
@moRtenDk #drUpaltWIG
125 TemPlaTesWE nUKEd THe THeME fUNCtIONs*
TURnED iT AlL INTo A mETRiCFUCkTON
OF tEMPlATEs
![Page 71: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/71.jpg)
@moRtenDk #drUpaltWIG
![Page 72: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/72.jpg)
@moRtenDk #drUpaltWIG
gRouPsdo we really need this here ?
![Page 73: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/73.jpg)
@moRtenDk #drUpaltWIG
tEmpLatE gRouPsLAYoUT
FIElD
DATaSeT
VIEwS
BLOcK CONtENT-EDIt
CONtEnT
MISc
USEr
NAViGATiON
FORm
![Page 74: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/74.jpg)
@moRtenDk #drUpaltWIG
hTml
HTMl.HTmL.TwIG
CSS + Js
HEAdER
![Page 75: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/75.jpg)
@moRtenDk #drUpaltWIG
HTMl.HTmL.TwIG
pAge
PAGe.HTmL.TwIG
![Page 76: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/76.jpg)
@moRtenDk #drUpaltWIG
HTMl.HTmL.TwIGREGiON.hTML.TWIg
REGiON.hTML.TWIg
REGiON.hTML.TWIg
rEgiOn's
PAGe.HTmL.TwIG
![Page 77: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/77.jpg)
@moRtenDk #drUpaltWIG
HTMl.HTmL.TwIG
cOntEnt
BLOcK.HtML.tWiG NODe.HTmL.TwIG VIEw.HTmL.TwIG
REGiON.hTML.TWIg
![Page 78: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/78.jpg)
@moRtenDk #drUpaltWIG
nOde
FIElD.HtML.tWiG
NODe.HTmL.TwIG
FIElD.HtML.tWiGFIElD.HtML.tWiG
FIElD-—IMAgE.HtML.tWiGFIElD.HtML.tWiG
FIElD.HtML.tWiG
![Page 79: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/79.jpg)
@moRtenDk #drUpaltWIG
aLl The fiEldsFIElD.HtML.tWiG FIElD.HtML.tWiG FIElD.HtML.tWiG FIElD.HtML.tWiG
FIElD.HtML.tWiG FIElD.HtML.tWiG FIElD.HtML.tWiG FIElD.HtML.tWiG
FIElD.HtML.tWiG FIElD.HtML.tWiG FIElD.HtML.tWiG FIElD.HtML.tWiG
FIElD.HtML.tWiG FIElD.HtML.tWiG FIElD.HtML.tWiG FIElD.HtML.tWiG
WE’RE gONNa TAlK AbOUT FIElDS lATEr
![Page 80: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/80.jpg)
@moRtenDk #drUpaltWIG
lAyoUtTHE MAGiC Of WItHOUt
![Page 81: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/81.jpg)
@moRtenDk #drUpaltWIG
{{ content|without(‘field’) }}
wIthOut fuNctIonPIPe
NAMeTWIg FUnCTIoN
VaR
![Page 82: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/82.jpg)
@moRtenDk #drUpaltWIG
NODe.HTmL.TwIG
![Page 83: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/83.jpg)
@moRtenDk #drUpaltWIG
conTeNt
imaGe
tagS
wIthOut
![Page 84: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/84.jpg)
@moRtenDk #drUpaltWIG
{{ coNtenT }}
{{ imAge }}
{{ content }}
{{ teXt }} {{ taGs }}
![Page 85: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/85.jpg)
@moRtenDk #drUpaltWIG
{{ coNtenT | WithOut(*) }}
{{ imAge }}
{{ content|without(‘image’) }}
{{ content.image }}
{{ teXt }} {{ taGs }}
![Page 86: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/86.jpg)
@moRtenDk #drUpaltWIG
{{ coNtenT | WithOut(**) }}
{{ imAge }}
{{ content|without(‘image’,‘tags’) }}
{{ content.image }}
{{ teXt }} {{ taGs }}
{{ content.tags }}
![Page 87: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/87.jpg)
@moRtenDk #drUpaltWIG
{{ coNtenT | WithOut(**) }}
{{ imAge }}
{{ content|without(‘image’,‘tags’) }}
{{ content.image }}
{{ teXt }} {{ taGs }}
{{ content.tags }}
{{ neW }}
NEW FIElD
![Page 88: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/88.jpg)
@moRtenDk #drUpaltWIG
CONtEnTnOde.htMl.Twig
![Page 89: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/89.jpg)
@moRtenDk #drUpaltWIG
CONtENT.FIElD_ImAgE
![Page 90: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/90.jpg)
@moRtenDk #drUpaltWIG
CONtENT.FIElD_TaGS
![Page 91: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/91.jpg)
@moRtenDk #drUpaltWIG
fIeldTHE HEArT Of DRuPaL
![Page 92: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/92.jpg)
@moRtenDk #drUpaltWIG
HOW MANy <DiV>S DOEs IT TAKe TO MAKe A “SINgLE fIELd WItH OnE
VaLuE” NO lABEl?
![Page 93: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/93.jpg)
@moRtenDk #drUpaltWIG
![Page 94: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/94.jpg)
@moRtenDk #drUpaltWIG
Yo!
![Page 95: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/95.jpg)
@moRtenDk #drUpaltWIG
Yo!
<div class=“field-items”>
</div>
<div class=“field field-name-field-single field-type-text field-label-hidden”>
</div>
</div>
<div class=“field-item even”> 7
![Page 96: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/96.jpg)
@moRtenDk #drUpaltWIG
Yo!
<div class=“field field--name-field-single field--type-string field--label-hidden field__items”>
</div> CLAsSY
![Page 97: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/97.jpg)
@moRtenDk #drUpaltWIG
Yo!<div> </div>
![Page 98: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/98.jpg)
@moRtenDk #drUpaltWIG
Yo!<div> </div>
ONE DIV ZERo CLaSSEs 100% DrUPAl
![Page 99: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/99.jpg)
@moRtenDk #drUpaltWIG
Yo!<div class=“yolo”> </div>
ONE DIV ZERo CLaSSEs 100% DrUPAl
![Page 100: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/100.jpg)
@moRtenDk #drUpaltWIG
sIngLenAked
WHAt DO I UsE A
<DIv>
dUde grEat
![Page 101: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/101.jpg)
@moRtenDk #drUpaltWIG
WHAtEVErYOU
WANt IT TO
![Page 102: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/102.jpg)
@moRtenDk #drUpaltWIG
fIelD mArkUp
![Page 103: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/103.jpg)
@moRtenDk #drUpaltWIG
fIeldLABeL VALuE
![Page 104: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/104.jpg)
@moRtenDk #drUpaltWIG
SINgLE
MULtIPLe
LABeL
LABeL
}}
![Page 105: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/105.jpg)
@moRtenDk #drUpaltWIG
FIElD.HtML.tWiG
![Page 106: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/106.jpg)
@moRtenDk #drUpaltWIG
SINgLE MULtIPLe
SINgLE + LAbEL MULtIPLe + lABEl
![Page 107: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/107.jpg)
@moRtenDk #drUpaltWIG
LABeL DiSPLaY
mAnaGe DisPlay
![Page 108: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/108.jpg)
@moRtenDk #drUpaltWIG
“INLiNE”
“VISuALLy HIDdEN”
“ABOvE”
![Page 109: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/109.jpg)
@moRtenDk #drUpaltWIG
FIElD.HtML.tWiG
![Page 110: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/110.jpg)
@moRtenDk #drUpaltWIG
NO lABEl
LABeL
![Page 111: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/111.jpg)
@moRtenDk #drUpaltWIG
{% if label_hidden %} {% if multiple %}
{% else %} {% endif %} {% else %} {% if multiple %}
{% else %}
{% endif %} {% endif %}
![Page 112: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/112.jpg)
@moRtenDk #drUpaltWIG
<div> yo </div>
<div> <div> label</div> <div>yo </div> </div>
<div> <div>label</div> <div> <div>yo </div> <div>lo </div> </div> </div>
![Page 113: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/113.jpg)
@moRtenDk #drUpaltWIG
aTtrIbuTesPURe CLaSS
![Page 114: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/114.jpg)
@moRtenDk #drUpaltWIG
<div {{ attributes }}> class=“foo” data-drupal-foo aria-hidden=“true”
aTtrIbuTes
![Page 115: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/115.jpg)
@moRtenDk #drUpaltWIG
CLAsSY
<DIv CLaSs=“FOO FOO-BAR FOO-BAR-BaZ”>
*.TpL.PhP
THEmE FuNCTiOnS
PREpROCeSS
$VArS
DRUpAL7
7
![Page 116: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/116.jpg)
@moRtenDk #drUpaltWIG
![Page 117: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/117.jpg)
@moRtenDk #drUpaltWIG
{% set classes = [ ‘field-' ~ field_name|clean_class ~ ' ] %}
<div {{ attributes.addClass(classes) }}>…</div>
<div class=“tags field-tags”>…
aDdcLass
![Page 118: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/118.jpg)
@moRtenDk #drUpaltWIG
<i {{ attributes.removeClass(red) }}> … </i>
<i class=“blue”>…</i>
<div class=“red blue”> … </div>BAD MODuLE oUTPuT
rEmoVe ClaSs
![Page 119: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/119.jpg)
@moRtenDk #drUpaltWIG
CLAsSYMODuLECORe
<DIv CLaSs=“CORe”>
ESSeNTIaL ClASSeS Ex: “IS-vISIbLE”
![Page 120: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/120.jpg)
@moRtenDk #drUpaltWIG
CLAsSYMODuLECORe
<DIv CLaSs=“CORe MOdUlE”>
$vaR[‘attRibuTes’]->AddCLass(‘modUle’)
![Page 121: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/121.jpg)
@moRtenDk #drUpaltWIG
CLAsSYMODuLECORe
<DIv CLaSs=“CORe MOdULE THEmE”>
{{ ATtRIBuTES.ADDcLASs(‘THEmE’) }}
![Page 122: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/122.jpg)
@moRtenDk #drUpaltWIG
CLAsSYMODuLECORe
<DIv CLaSs=“CORe THeME”>
{{ ATtRIBuTES.REMoVe(‘MODuLE’) }}
![Page 123: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/123.jpg)
@moRtenDk #drUpaltWIG
CLAsSYMODuLECORe
<DIv CLaSs=“THEmE”>
{{ ATtRIBuTES.REMoVe(‘MODuLE’,’CORe’) }}
![Page 124: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/124.jpg)
@moRtenDk #drUpaltWIG
jS- PreFix
<DIv CLaSs=“JS-fOO fOO”>…
$(.jS-FoO) .FOo{…}
![Page 125: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/125.jpg)
@moRtenDk #drUpaltWIG
<div class="blablabla"> {{ attributes .removeClass(‘blablabla’) .addClass(‘hero-main’) .setAttribute('id', 'top') }} <div id="top" class="hero-main">
aTtrIbuTes
![Page 126: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/126.jpg)
@moRtenDk #drUpaltWIG
fIelD & atTriButEs
KISsING IN a TReEEEeEEEeEEEeE
![Page 127: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/127.jpg)
@moRtenDk #drUpaltWIG
<div> yo </div>
<div> <div> label</div> <div>yo </div> </div>
<div> <div>label</div> <div> <div>yo </div> <div>hej </div> </div> </div>
![Page 128: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/128.jpg)
@moRtenDk #drUpaltWIG
<div class=“field field__item”> yo </div>
<div class=“field”> <div class=“field__label”> label</div> <div class=“field__item”>yo </div> </div>
<div class=“field”> <div class=“field__label”>label</div> <div class=“field__items”> <div class=“field__item”>yo </div> <div class=“field__item”>lo </div> </div> </div>
![Page 129: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/129.jpg)
@moRtenDk #drUpaltWIG
LABeL VALuE
.field__item.field__label
.field
![Page 130: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/130.jpg)
@moRtenDk #drUpaltWIG
.field__item.field__label
.field__items
.field
![Page 131: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/131.jpg)
@moRtenDk #drUpaltWIG
FIX THE MARkUP
![Page 132: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/132.jpg)
@moRtenDk #drUpaltWIG
![Page 133: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/133.jpg)
@moRtenDk #drUpaltWIG
ADD & REmOVE CLAsSES
![Page 134: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/134.jpg)
@moRtenDk #drUpaltWIG
![Page 135: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/135.jpg)
@moRtenDk #drUpaltWIG
CHAnGE sTUFf WHeN 8
![Page 136: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/136.jpg)
@moRtenDk #drUpaltWIG
![Page 137: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/137.jpg)
@moRtenDk #drUpaltWIG
{{ attach_library('classy/book-navigation') }}
cSs FilEs In TemPlaTe
![Page 138: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/138.jpg)
@moRtenDk #drUpaltWIG
tWigBloCkMORe COoLNEsS FrOM tWiG
![Page 139: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/139.jpg)
@moRtenDk #drUpaltWIG
datA (pAge.Html.twiG)
PAGe.HTmL.TwIGD8
datA (pAge.Html.twiG)
![Page 140: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/140.jpg)
@moRtenDk #drUpaltWIG
datA (pAge.Html.twiG)
{% block foo %} {% endblock %}
PAGe.HTmL.TwIGD8
datA (pAge.Html.twiG)
![Page 141: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/141.jpg)
@moRtenDk #drUpaltWIG
datA (pAge.Html.twiG)
(paGe-—froNt.hTml.Twig)
{% extends "page.html.twig" %}
PAGe.HTmL.TwIGD8
datA (pAge.Html.twiG)
![Page 142: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/142.jpg)
@moRtenDk #drUpaltWiG
![Page 143: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/143.jpg)
@moRtenDk #drUpaltWIG
PAGe.HTmL.TwIG
PAGe—FROnT.HtML.tWiG
![Page 144: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/144.jpg)
@moRtenDk #drUpaltWIG
PAGe.HTmL.TwIG
PAGe—FROnT.HtML.tWiG
![Page 145: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/145.jpg)
@moRtenDk #drUpaltWIG
hAppY ?ARE YOU NOT ENTeRTAiNED ?
![Page 146: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/146.jpg)
@moRtenDk #drUpaltWiG
SCReENShOt 2.0
![Page 147: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/147.jpg)
@moRtenDk #drUpaltWiG
mEnupAgeRs
ONLy 1 (OnE) tEMPlATE FILe
MENu.HTmL.TwIG
![Page 148: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/148.jpg)
@moRtenDk #drUpaltWiG
pAgerFUN FOR EVErYBOdY ?PAGeR.HtML.tWiG
![Page 149: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/149.jpg)
@moRtenDk #drUpaltWIG
8 thIngS cHanGed
T L ; D L TOO LONg - DIDn'T lISTeN!
![Page 150: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/150.jpg)
@moRtenDk #drUpaltWIG
1. iE sUppOrt?
NO mORE SUPpORT FOR IE6, Ie7 & iE8
![Page 151: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/151.jpg)
@moRtenDk #drUpaltWIG
2. mArkUp CleAnup
HTMl5 CSS IS sMACsS & BEm BAsEd
“MODeRN” PRaCTIcE #iD ReMOVeD SEVeN Is REsPONsIvE
![Page 152: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/152.jpg)
@moRtenDk #drUpaltWIG
jS sEpeRatIonSEPaRATeD
JAVaSCRiPT’S FuNCTiONAlITY CSS STYlING IS sEPArATEd
.JS-FOObAR{ …} .FOoBaR{ COlOR: BLUe}
![Page 153: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/153.jpg)
@moRtenDk #drUpaltWIG
dIviTis
90% OF tHE mARKuP Is GOnE
![Page 154: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/154.jpg)
@moRtenDk #drUpaltWIG
jQueRy DepEndEncy
DONt WAnT 32K Of LOvE ? … THeN DoN’T
![Page 155: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/155.jpg)
@moRtenDk #drUpaltWIG
cLasSy!
CLAsSY SEPaRATeD ThE MaRKUp
FROm COrE
![Page 156: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/156.jpg)
@moRtenDk #drUpaltWIG
sAluTe!FOR THOsE ThAT rOCKeD ThE TwIG
WE sALUtE YoU!
![Page 157: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/157.jpg)
@moRtenDk #drUpaltWIG
i loOovE uUuCOTtSeR
JOEl
LEWiS
EMMa
LAUrII
#FReERUbEN
DAViD HeRNAnDeZ
JOHn ALbINWIM LEErS
JEN LAMpToN
FABiAN
![Page 158: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/158.jpg)
@moRtenDk #drUpaltWiG
DRUpAl 7
![Page 159: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/159.jpg)
@moRtenDk #drUpaltWIG
DRUpAL.oRG/tHEMe-GUiDe/8
DRUpAL.oRG/cODInG-StANDaRDS/CSS
SMAcSS.cOM
TWIg.SEnSIOlABS.ORG/DOCuMENtATIoN
lInks
![Page 160: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/160.jpg)
@moRtenDk #drUpaltWIG
dOwnLoaD d8
BUIlD StUFF NOW!
DRUpAL.oRG/dRUPaL8
![Page 161: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/161.jpg)
@moRtenDk #drUpaltWIG
WEEkLY mEETiNG’S THUrSDAy 17:00 CEt
#DruPalTwig
![Page 162: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/162.jpg)
@moRtenDk #drUpaltWIG
USE TWItTER #DRuPALtWIG
QUEsTIOnS, cOMMeNTS & FEeDBAcK @MOrTENdK
qUesTioNs
![Page 163: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/163.jpg)
@moRtenDk #drUpaltWiG
sEssIonsDRUpALCoN
![Page 164: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/164.jpg)
@moRtenDk #drUpaltWiG
FROnTENd UNiTED BELuGAM
BOF ROOm XXx
FROnTENd UNiTeD
![Page 165: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/165.jpg)
@moRtenDk #drUpaltWiG
ALL WEEk !DRUpAL fRONtEND SPRiNt
CODeR LoUNGe
SPRiNT lEADeRs:(FRoNTEnD UnITEd)
![Page 166: @moRtenDk #drUpaltWIG - DrupalCon | Be Human, Think … · tHemIng DRUpALCoN BaRCElONA 2015 DRUpAl 8. @moRtenDk #drUpaltWIG SLIdES aRE oNLInE In 60 MInUTEs sLidEs. @moRtenDk ... data-drupal-foo](https://reader036.vdocuments.site/reader036/viewer/2022062600/5b18ce037f8b9a32258c09fd/html5/thumbnails/166.jpg)
@moRtenDk #drUpaltWIG
FONtS: DAFt BRuSH, BRUsH Up, BiTTEr
ICOnS: SMAlL IcONS 2
cRedIts