SlideShare a Scribd company logo
1 of 39
U S I N G C O R E B A S E
T H E M E S I N D R U PA L 8
B A C K T O B A S I C S
S U Z A N N E K E N N E D Y
D E R G A C H E VA
• Co-founder of Evolving
Web
• Training, Development,
Consulting
D R U PA L 8
T R A I N I N G
• July 20-21 in Ottawa
• Aug 22-26 in Montreal
• Sept 12-16 in Ottawa
• Sept 26-30 in Toronto
• October 3-4 in Chicago
• evolvingweb.ca/training
– S E L I M T O L G A
“For a happier life keep only the things you love
and use.”
A R E Y O U U S I N G A
C O N T R I B B A S E T H E M E ?
W H Y U S E A C O R E B A S E T H E M E ?
• Because Drupal 8 core is awesome
• You get understanding, control over what’s added in
your theme
• Fewer customizations that you don’t know are there
• Less code to maintain
• Easier to on-board new themers
W H Y C L A S S Y A N D S TA B L E A R E
I N V I S I B L E
C L A S S Y. I N F O . Y M L , S TA B L E . I N F O . Y M L
hidden: true
S TA B L E
• Includes all core template
files, which WON’T change
if core changes
• The default base theme for
Drupal 8
S TA B L E T E M P L AT E S
H T M L . H T M L . T W I G I N S TA B L E
<!DOCTYPE html>
<html{{ html_attributes }}>
<head>
<head-placeholder token="{{ placeholder_token|raw }}">
<title>{{ head_title|safe_join(' | ') }}</title>
<css-placeholder token="{{ placeholder_token|raw }}">
<js-placeholder token="{{ placeholder_token|raw }}">
</head>
<body{{ attributes }}>
<a href="#main-content" class="visually-hidden focusable">
{{ 'Skip to main content'|t }}
</a>
{{ page_top }}
{{ page }}
{{ page_bottom }}
<js-bottom-placeholder token="{{ placeholder_token|raw }}">
</body>
</html>
C L A S S Y
• Includes all core template
files, which WON’T change
if core changes
• These templates add many
wonderful, useful classes
• We get classes body
classes, classes for nodes,
fields, views, etc.
C L A S S Y T E M P L AT E S
H T M L . H T M L . T W I G
{%
set body_classes = [
logged_in ? 'user-logged-in',
not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class,
node_type ? 'page-node-type-' ~ node_type|clean_class,
db_offline ? 'db-offline',
]
%}
<!DOCTYPE html>
<html{{ html_attributes }}>
<head>
<head-placeholder token="{{ placeholder_token|raw }}">
<title>{{ head_title|safe_join(' | ') }}</title>
<css-placeholder token="{{ placeholder_token|raw }}">
<js-placeholder token="{{ placeholder_token|raw }}">
</head>
<body{{ attributes.addClass(body_classes) }}>
<a href="#main-content" class="visually-hidden focusable skip-link">
{{ 'Skip to main content'|t }}
</a>
{{ page_top }}
{{ page }}
{{ page_bottom }}
<js-bottom-placeholder token="{{ placeholder_token|raw }}">
</body>
</html>
Stable
Classy
My Theme Zen Bootstrap
Core Templates
base theme: falsebase theme: classy
Adaptive
base theme: stable
Omega
A L L Y O U R B A S E A R E B E L O N G T O U S ,
U N L E S S …
M Y T H E M E . I N F O . Y M L
base theme: false
G E T C L A S S Y
E X T E N D I N G C L A S S Y
M Y T H E M E . I N F O . Y M L
base theme: classy
N O R M A L I Z E . C S S
M O D E R N I Z R . J S
Y O U G E T
C S S F O R
D R U PA L
C O M P O N E N T S
Y O U G E T
base:
version: VERSION
css:
component:
css/components/action-links.css: { weight: -10
css/components/breadcrumb.css: { weight: -10 }
css/components/button.css: { weight: -10 }
css/components/collapse-processed.css: { weigh
css/components/container-inline.css: { weight:
css/components/details.css: { weight: -10 }
css/components/exposed-filters.css: { weight:
css/components/field.css: { weight: -10 }
css/components/form.css: { weight: -10 }
css/components/icons.css: { weight: -10 }
css/components/inline-form.css: { weight: -10
css/components/item-list.css: { weight: -10 }
css/components/link.css: { weight: -10 }
css/components/links.css: { weight: -10 }
css/components/menu.css: { weight: -10 }
css/components/more-link.css: { weight: -10 }
css/components/pager.css: { weight: -10 }
css/components/tabledrag.css: { weight: -10 }
css/components/tableselect.css: { weight: -10
css/components/tablesort.css: { weight: -10 }
css/components/tabs.css: { weight: -10 }
css/components/textarea.css: { weight: -10 }
css/components/ui-dialog.css: { weight: -10 }
!
book-navigation:
version: VERSION
css:
component:
css/components/book-navigation.css: {}
D E FA U LT
R E G I O N S
Y O U G E T
regions:
header: Header
primary_menu: Primary Menu
secondary_menu: Secondary Menu
breadcrumb: Breadcrumb
highlighted: Highlighted
help: Help
content: Content
sidebar_first: Sidebar first
sidebar_second: Sidebar second
footer: Footer
page_top: Page Top
page_bottom: Page Bottom
H T M L 5
Y O U G E T
<header role="banner">
{{ page.header }}
</header>
!
<main role="main">
<a id="main-content" tabindex="-1"></a>
!
<div class="layout-content">
{{ page.content }}
</div>{# /.layout-content #}
</main>
!
{% if page.footer %}
<footer role="contentinfo">
{{ page.footer }}
</footer>
{% endif %}
C L E A N E R M A R K U P
Y O U G E T
<div class="field field-name-field-name field-type-text
field-label-hidden”>
<div class="field-items">
<div class="field-item even">Ella</div>
</div>
</div>
<div class="field field--name-field-name field--type-
string field--label-hidden field__item">Ella</div>
S I N G L E VA L U E F I E L D I N D 7
S I N G L E VA L U E F I E L D I N D 8
T W I G T E M P L AT E S G A L O R E
Y O U G E T
B E M C L A S S E S
Y O U G E T
B L O C K , E L E M E N T, M O D I F I E R
<div class="field field--name-field-name
field--type-string field--label-hidden
field__item">Ella</div>
W H AT ’ S
M I S S I N G ?
S TA R I N G W I T H C L A S S Y
W H AT ’ S M I S S I N G ?
• Pre-existing, organized stylesheets
• Layout CSS or a grid system
• Extra regions to place your content
• So… how do we add these?
C U S T O M I Z I N G
R E G I O N S
• Define them in
your .info.yml file
• Use them in your
page.html.twig file
regions:
header: Header
primary_menu: Primary Menu
secondary_menu: Secondary Menu
breadcrumb: Breadcrumb
highlighted: Highlighted
help: Help
content: Content
content_bottom: Content bottom
pre_footer: Pre-footer
footer: Footer
page_top: Page Top
page_bottom: Page Bottom
O R G A N I Z I N G Y O U R C S S
M Y T H E M E . L I B R A R I E S . Y M L
global-styling:
css:
base:
css/base/normalize.css
css/base/elements.css
layout:
css/layout/layout.css
css/layout/layout--medium.css
css/layout/layout--wide.css
component:
css/node.css
css/block.css
css/menu.css
theme:
css/styles.css
css/typography.css
O R G A N I Z I N G Y O U R C S S
M Y T H E M E . I N F O . Y M L
!
libraries:
- 'mytheme/global-styling'
C L A S S Y L O O K I N G S A S S Y
M Y T H E M E . L I B R A R I E S . Y M L
global-styling:
css:
base:
css/base.css
layout:
css/layout.css
component:
css/components.css
theme:
css/styles.css
sass/base.scss
sass/layout.scss
sass/_layout-wide.scss
sass/_layout-small.scss
sass/components/scss
sass/_block.scss
sass/_node.scss
sass/_menu.scss
sass/styles.scss
sass/_branding.scss
sass/_typography.scss
R E M O V I N G C S S
M Y T H E M E . I N F O . Y M L
!
!
libraries-override:
classy/messages: false
!
stylesheets-remove:
- core/assets/vendor/normalize-css/normalize.css
G R I D S , G R I D S E V E RY W H E R E !
Y O U H AV E S O M E O P T I O N S …
• Add a CSS grid system to your theme - then apply the
appropriate classes in your templates (Boostrap, Zurb
Foundation, Skeleton, Simple Grid, etc.)
• Use a grid system like Zen grids, which you apply by
writing CSS using Classy classes
• Create your own grid system css-tricks.com/dont-
overthink-it-grids
• Write CSS using Classy classes to create a layout/grid
I M P L E M E N T I N G
A G R I D S Y S T E M
• Add grid CSS to your
theme
• Add appropriate classes
to:
• Your Twig templates
• Views config
• Your content (if needed)
I M P L E M E N T I N G A G R I D L AY O U T
PA G E . H T M L . T W I G
{% 	
set content_classes = [	
page.sidebar_first and page.sidebar_second ? 'col-sm-6',	
page.sidebar_first and page.sidebar_second is empty ? 'col-sm-9',	
page.sidebar_second and page.sidebar_first is empty ? 'col-sm-9',	
page.sidebar_first is empty and page.sidebar_second is empty ? 'col-
sm-12'	
]	
%}	
<section{{ content_attributes.addClass(content_classes) }}>	
{{ page.content }} 	
</section>
C R E AT I N G A
L AY O U T W I T H C S S
• Add layout classes to your
body tag
• Add a layout.css file that
positions regions
• Add CSS for any grid-like
elements
• Use media queries to
adjust the layout for
different screen sizes
{%	
set body_classes = [	
logged_in ? 'user-logged-in',	
…	
page.sidebar_first ? 'sidebar-first',	
page.sidebar_second ? 'sidebar-second',	
]	
%}
C R E AT I N G A
L AY O U T W I T H C S S
• Add layout classes to your
body tag
• Add a layout.css file that
positions regions
• Add CSS for any grid-like
elements
• Use media queries to
adjust the layout for
different screen sizes
#content {
width: 100%;
}
@media screen and (min-width: 800px){
body.sidebar-first #content {
width: 80%;
left: 20%; /* LTR */
}
body.sidebar-second #content {
width: 80%;
}
body.two-sidebars #content {
width: 60%;
left: 20%;
}
#sidebar-first {
width: 20%;
left: -80%; /* LTR */
}
body.two-sidebars #sidebar-first {
left: -60%; /* LTR */
}
#sidebar-second {
float: right; /* LTR */
width: 20%;
}
}
T O O M U C H W O R K ?
• Contrib base themes provide:
• Settings
• Grid system integration out-of-the-box:
• Templates with correct classes
• CSS for layout and styling of elements
D R U PA L 8
T R A I N I N G
• July 20-21 in Ottawa
• Aug 22-26 in Montreal
• Sept 12-16 in Ottawa
• Sept 26-30 in Toronto
• October 3-4 in Chicago
• evolvingweb.ca/training
bit.ly/d8-layouts
Webinar: Creating Mobile-Proof Layouts in Drupal 8
June 27 at 12-1pm

More Related Content

What's hot

Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeSuzanne Dergacheva
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateLaura Scott
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Ryan Price
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Developmentmwrather
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and DrupalJim Birch
 
Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingJamie Schmid
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) ThemingPINGV
 
Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Mediacurrent
 
From PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to lifeFrom PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to lifeDerek Christensen
 
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. FoundationBattle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. FoundationRachel Cherry
 
Developing Your Ultimate Package
Developing Your Ultimate PackageDeveloping Your Ultimate Package
Developing Your Ultimate PackageSimon Collison
 
Drupal 7 Theme System
Drupal 7 Theme SystemDrupal 7 Theme System
Drupal 7 Theme SystemPeter Arato
 
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010Benjamin Niaulin
 
WordPress Theme Structure
WordPress Theme StructureWordPress Theme Structure
WordPress Theme Structurekeithdevon
 
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalChandra Prakash Thapa
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Ivan Zugec
 
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...Jim Birch
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianMagnolia
 

What's hot (20)

Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb update
 
A Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 MinutesA Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 Minutes
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Development
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and Drupal
 
Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress Themeing
 
Efficient theming in Drupal
Efficient theming in DrupalEfficient theming in Drupal
Efficient theming in Drupal
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) Theming
 
Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Let's dig into the Omega Theme!
Let's dig into the Omega Theme!
 
From PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to lifeFrom PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to life
 
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. FoundationBattle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
 
Developing Your Ultimate Package
Developing Your Ultimate PackageDeveloping Your Ultimate Package
Developing Your Ultimate Package
 
Drupal 7 Theme System
Drupal 7 Theme SystemDrupal 7 Theme System
Drupal 7 Theme System
 
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
 
WordPress Theme Structure
WordPress Theme StructureWordPress Theme Structure
WordPress Theme Structure
 
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7
 
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at Atlassian
 

Viewers also liked

Site Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp OttawaSite Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp OttawaSuzanne Dergacheva
 
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Suzanne Dergacheva
 
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012Suzanne Dergacheva
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Suzanne Dergacheva
 
Views Configuration at Drupal Camp Toronto 2012
Views Configuration at Drupal Camp Toronto 2012Views Configuration at Drupal Camp Toronto 2012
Views Configuration at Drupal Camp Toronto 2012Suzanne Dergacheva
 
DrupalCamp 2011 -- Poutine Maker
DrupalCamp 2011 -- Poutine MakerDrupalCamp 2011 -- Poutine Maker
DrupalCamp 2011 -- Poutine Makertavisharmstrong
 
Instant Dynamic Forms with #states
Instant Dynamic Forms with #statesInstant Dynamic Forms with #states
Instant Dynamic Forms with #statesKonstantin Käfer
 
Introduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience ToolkitIntroduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience ToolkitSuzanne Dergacheva
 
Upgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasUpgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasSuzanne Dergacheva
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Suzanne Dergacheva
 
Apresentação hamlet
Apresentação hamletApresentação hamlet
Apresentação hamletHamlet B2B
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8Suzanne Dergacheva
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Suzanne Dergacheva
 
Meilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web DrupalMeilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web DrupalSuzanne Dergacheva
 
31 intranet homepage design examples, with screenshots
31 intranet homepage design examples, with screenshots31 intranet homepage design examples, with screenshots
31 intranet homepage design examples, with screenshotsDigital Workplace Group
 

Viewers also liked (16)

Site Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp OttawaSite Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp Ottawa
 
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
 
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012
 
Views Configuration at Drupal Camp Toronto 2012
Views Configuration at Drupal Camp Toronto 2012Views Configuration at Drupal Camp Toronto 2012
Views Configuration at Drupal Camp Toronto 2012
 
Chef
ChefChef
Chef
 
DrupalCamp 2011 -- Poutine Maker
DrupalCamp 2011 -- Poutine MakerDrupalCamp 2011 -- Poutine Maker
DrupalCamp 2011 -- Poutine Maker
 
Instant Dynamic Forms with #states
Instant Dynamic Forms with #statesInstant Dynamic Forms with #states
Instant Dynamic Forms with #states
 
Introduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience ToolkitIntroduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience Toolkit
 
Upgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasUpgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and Gotchas
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
 
Apresentação hamlet
Apresentação hamletApresentação hamlet
Apresentação hamlet
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
 
Meilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web DrupalMeilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web Drupal
 
31 intranet homepage design examples, with screenshots
31 intranet homepage design examples, with screenshots31 intranet homepage design examples, with screenshots
31 intranet homepage design examples, with screenshots
 

Similar to Using Core Themes in Drupal 8

ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4imdurgesh
 
Joomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Joomla! Day Chicago 2011 - Templating the right way - Jonathan ShroyerJoomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Joomla! Day Chicago 2011 - Templating the right way - Jonathan ShroyerSteven Pignataro
 
HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010alanburke
 
WordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp ChicagoWordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp ChicagoJoseph Dolson
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
HTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptHTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptraghavanp4
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucksTim Wright
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - LondonMarek Sotak
 
Advance Css 1194323118268797 5
Advance Css 1194323118268797 5Advance Css 1194323118268797 5
Advance Css 1194323118268797 5dharshyamal
 
Advance Css
Advance CssAdvance Css
Advance Cssvijayta
 
Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)christopherfross
 
Introduction to BOOTSTRAP
Introduction to BOOTSTRAPIntroduction to BOOTSTRAP
Introduction to BOOTSTRAPJeanie Arnoco
 
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpOptimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpMatthew Davis
 

Similar to Using Core Themes in Drupal 8 (20)

ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4
 
Joomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Joomla! Day Chicago 2011 - Templating the right way - Jonathan ShroyerJoomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Joomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
 
HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010
 
WordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp ChicagoWordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp Chicago
 
HTML5 & CSS3 Flag
HTML5 & CSS3 FlagHTML5 & CSS3 Flag
HTML5 & CSS3 Flag
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
Test upload
Test uploadTest upload
Test upload
 
HTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptHTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.ppt
 
css.ppt
css.pptcss.ppt
css.ppt
 
css.ppt
css.pptcss.ppt
css.ppt
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucks
 
Pfnp slides
Pfnp slidesPfnp slides
Pfnp slides
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - London
 
Class15
Class15Class15
Class15
 
Advance Css 1194323118268797 5
Advance Css 1194323118268797 5Advance Css 1194323118268797 5
Advance Css 1194323118268797 5
 
Advance Css
Advance CssAdvance Css
Advance Css
 
Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Introduction to BOOTSTRAP
Introduction to BOOTSTRAPIntroduction to BOOTSTRAP
Introduction to BOOTSTRAP
 
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpOptimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
 

More from Suzanne Dergacheva

It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...Suzanne Dergacheva
 
Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8Suzanne Dergacheva
 
Dipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module DevelopmentDipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module DevelopmentSuzanne Dergacheva
 
Device-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for DrupalDevice-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for DrupalSuzanne Dergacheva
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarCreating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarSuzanne Dergacheva
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DaySuzanne Dergacheva
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreSuzanne Dergacheva
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarSuzanne Dergacheva
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinCreating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinSuzanne Dergacheva
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Suzanne Dergacheva
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualSuzanne Dergacheva
 
Creating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large OrganizationCreating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large OrganizationSuzanne Dergacheva
 
Intro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersIntro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersSuzanne Dergacheva
 
10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-BoxSuzanne Dergacheva
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarSuzanne Dergacheva
 
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...Suzanne Dergacheva
 
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014Suzanne Dergacheva
 
Using Panels Wisely - DrupalCamp Ottawa 2014
Using Panels Wisely - DrupalCamp Ottawa 2014Using Panels Wisely - DrupalCamp Ottawa 2014
Using Panels Wisely - DrupalCamp Ottawa 2014Suzanne Dergacheva
 
Drupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New JerseyDrupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New JerseySuzanne Dergacheva
 

More from Suzanne Dergacheva (20)

It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...
 
Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8
 
Dipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module DevelopmentDipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module Development
 
Device-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for DrupalDevice-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for Drupal
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarCreating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - Webinar
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? Webinar
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinCreating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 Multilingual
 
Creating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large OrganizationCreating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large Organization
 
Intro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersIntro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site Builders
 
Drupal migrate-june2015
Drupal migrate-june2015Drupal migrate-june2015
Drupal migrate-june2015
 
10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
 
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
 
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
 
Using Panels Wisely - DrupalCamp Ottawa 2014
Using Panels Wisely - DrupalCamp Ottawa 2014Using Panels Wisely - DrupalCamp Ottawa 2014
Using Panels Wisely - DrupalCamp Ottawa 2014
 
Drupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New JerseyDrupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New Jersey
 

Recently uploaded

定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 

Recently uploaded (20)

定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 

Using Core Themes in Drupal 8

  • 1. U S I N G C O R E B A S E T H E M E S I N D R U PA L 8 B A C K T O B A S I C S
  • 2.
  • 3. S U Z A N N E K E N N E D Y D E R G A C H E VA • Co-founder of Evolving Web • Training, Development, Consulting
  • 4. D R U PA L 8 T R A I N I N G • July 20-21 in Ottawa • Aug 22-26 in Montreal • Sept 12-16 in Ottawa • Sept 26-30 in Toronto • October 3-4 in Chicago • evolvingweb.ca/training
  • 5. – S E L I M T O L G A “For a happier life keep only the things you love and use.”
  • 6. A R E Y O U U S I N G A C O N T R I B B A S E T H E M E ?
  • 7. W H Y U S E A C O R E B A S E T H E M E ? • Because Drupal 8 core is awesome • You get understanding, control over what’s added in your theme • Fewer customizations that you don’t know are there • Less code to maintain • Easier to on-board new themers
  • 8. W H Y C L A S S Y A N D S TA B L E A R E I N V I S I B L E C L A S S Y. I N F O . Y M L , S TA B L E . I N F O . Y M L hidden: true
  • 9. S TA B L E • Includes all core template files, which WON’T change if core changes • The default base theme for Drupal 8
  • 10. S TA B L E T E M P L AT E S H T M L . H T M L . T W I G I N S TA B L E <!DOCTYPE html> <html{{ html_attributes }}> <head> <head-placeholder token="{{ placeholder_token|raw }}"> <title>{{ head_title|safe_join(' | ') }}</title> <css-placeholder token="{{ placeholder_token|raw }}"> <js-placeholder token="{{ placeholder_token|raw }}"> </head> <body{{ attributes }}> <a href="#main-content" class="visually-hidden focusable"> {{ 'Skip to main content'|t }} </a> {{ page_top }} {{ page }} {{ page_bottom }} <js-bottom-placeholder token="{{ placeholder_token|raw }}"> </body> </html>
  • 11. C L A S S Y • Includes all core template files, which WON’T change if core changes • These templates add many wonderful, useful classes • We get classes body classes, classes for nodes, fields, views, etc.
  • 12. C L A S S Y T E M P L AT E S H T M L . H T M L . T W I G {% set body_classes = [ logged_in ? 'user-logged-in', not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class, node_type ? 'page-node-type-' ~ node_type|clean_class, db_offline ? 'db-offline', ] %} <!DOCTYPE html> <html{{ html_attributes }}> <head> <head-placeholder token="{{ placeholder_token|raw }}"> <title>{{ head_title|safe_join(' | ') }}</title> <css-placeholder token="{{ placeholder_token|raw }}"> <js-placeholder token="{{ placeholder_token|raw }}"> </head> <body{{ attributes.addClass(body_classes) }}> <a href="#main-content" class="visually-hidden focusable skip-link"> {{ 'Skip to main content'|t }} </a> {{ page_top }} {{ page }} {{ page_bottom }} <js-bottom-placeholder token="{{ placeholder_token|raw }}"> </body> </html>
  • 13. Stable Classy My Theme Zen Bootstrap Core Templates base theme: falsebase theme: classy Adaptive base theme: stable Omega
  • 14. A L L Y O U R B A S E A R E B E L O N G T O U S , U N L E S S … M Y T H E M E . I N F O . Y M L base theme: false
  • 15. G E T C L A S S Y
  • 16. E X T E N D I N G C L A S S Y M Y T H E M E . I N F O . Y M L base theme: classy
  • 17. N O R M A L I Z E . C S S M O D E R N I Z R . J S Y O U G E T
  • 18. C S S F O R D R U PA L C O M P O N E N T S Y O U G E T base: version: VERSION css: component: css/components/action-links.css: { weight: -10 css/components/breadcrumb.css: { weight: -10 } css/components/button.css: { weight: -10 } css/components/collapse-processed.css: { weigh css/components/container-inline.css: { weight: css/components/details.css: { weight: -10 } css/components/exposed-filters.css: { weight: css/components/field.css: { weight: -10 } css/components/form.css: { weight: -10 } css/components/icons.css: { weight: -10 } css/components/inline-form.css: { weight: -10 css/components/item-list.css: { weight: -10 } css/components/link.css: { weight: -10 } css/components/links.css: { weight: -10 } css/components/menu.css: { weight: -10 } css/components/more-link.css: { weight: -10 } css/components/pager.css: { weight: -10 } css/components/tabledrag.css: { weight: -10 } css/components/tableselect.css: { weight: -10 css/components/tablesort.css: { weight: -10 } css/components/tabs.css: { weight: -10 } css/components/textarea.css: { weight: -10 } css/components/ui-dialog.css: { weight: -10 } ! book-navigation: version: VERSION css: component: css/components/book-navigation.css: {}
  • 19. D E FA U LT R E G I O N S Y O U G E T regions: header: Header primary_menu: Primary Menu secondary_menu: Secondary Menu breadcrumb: Breadcrumb highlighted: Highlighted help: Help content: Content sidebar_first: Sidebar first sidebar_second: Sidebar second footer: Footer page_top: Page Top page_bottom: Page Bottom
  • 20. H T M L 5 Y O U G E T <header role="banner"> {{ page.header }} </header> ! <main role="main"> <a id="main-content" tabindex="-1"></a> ! <div class="layout-content"> {{ page.content }} </div>{# /.layout-content #} </main> ! {% if page.footer %} <footer role="contentinfo"> {{ page.footer }} </footer> {% endif %}
  • 21. C L E A N E R M A R K U P Y O U G E T <div class="field field-name-field-name field-type-text field-label-hidden”> <div class="field-items"> <div class="field-item even">Ella</div> </div> </div> <div class="field field--name-field-name field--type- string field--label-hidden field__item">Ella</div> S I N G L E VA L U E F I E L D I N D 7 S I N G L E VA L U E F I E L D I N D 8
  • 22. T W I G T E M P L AT E S G A L O R E Y O U G E T
  • 23. B E M C L A S S E S Y O U G E T B L O C K , E L E M E N T, M O D I F I E R <div class="field field--name-field-name field--type-string field--label-hidden field__item">Ella</div>
  • 24. W H AT ’ S M I S S I N G ? S TA R I N G W I T H C L A S S Y
  • 25. W H AT ’ S M I S S I N G ? • Pre-existing, organized stylesheets • Layout CSS or a grid system • Extra regions to place your content • So… how do we add these?
  • 26. C U S T O M I Z I N G R E G I O N S • Define them in your .info.yml file • Use them in your page.html.twig file regions: header: Header primary_menu: Primary Menu secondary_menu: Secondary Menu breadcrumb: Breadcrumb highlighted: Highlighted help: Help content: Content content_bottom: Content bottom pre_footer: Pre-footer footer: Footer page_top: Page Top page_bottom: Page Bottom
  • 27. O R G A N I Z I N G Y O U R C S S M Y T H E M E . L I B R A R I E S . Y M L global-styling: css: base: css/base/normalize.css css/base/elements.css layout: css/layout/layout.css css/layout/layout--medium.css css/layout/layout--wide.css component: css/node.css css/block.css css/menu.css theme: css/styles.css css/typography.css
  • 28. O R G A N I Z I N G Y O U R C S S M Y T H E M E . I N F O . Y M L ! libraries: - 'mytheme/global-styling'
  • 29. C L A S S Y L O O K I N G S A S S Y M Y T H E M E . L I B R A R I E S . Y M L global-styling: css: base: css/base.css layout: css/layout.css component: css/components.css theme: css/styles.css sass/base.scss sass/layout.scss sass/_layout-wide.scss sass/_layout-small.scss sass/components/scss sass/_block.scss sass/_node.scss sass/_menu.scss sass/styles.scss sass/_branding.scss sass/_typography.scss
  • 30. R E M O V I N G C S S M Y T H E M E . I N F O . Y M L ! ! libraries-override: classy/messages: false ! stylesheets-remove: - core/assets/vendor/normalize-css/normalize.css
  • 31. G R I D S , G R I D S E V E RY W H E R E !
  • 32. Y O U H AV E S O M E O P T I O N S … • Add a CSS grid system to your theme - then apply the appropriate classes in your templates (Boostrap, Zurb Foundation, Skeleton, Simple Grid, etc.) • Use a grid system like Zen grids, which you apply by writing CSS using Classy classes • Create your own grid system css-tricks.com/dont- overthink-it-grids • Write CSS using Classy classes to create a layout/grid
  • 33. I M P L E M E N T I N G A G R I D S Y S T E M • Add grid CSS to your theme • Add appropriate classes to: • Your Twig templates • Views config • Your content (if needed)
  • 34. I M P L E M E N T I N G A G R I D L AY O U T PA G E . H T M L . T W I G {% set content_classes = [ page.sidebar_first and page.sidebar_second ? 'col-sm-6', page.sidebar_first and page.sidebar_second is empty ? 'col-sm-9', page.sidebar_second and page.sidebar_first is empty ? 'col-sm-9', page.sidebar_first is empty and page.sidebar_second is empty ? 'col- sm-12' ] %} <section{{ content_attributes.addClass(content_classes) }}> {{ page.content }} </section>
  • 35. C R E AT I N G A L AY O U T W I T H C S S • Add layout classes to your body tag • Add a layout.css file that positions regions • Add CSS for any grid-like elements • Use media queries to adjust the layout for different screen sizes {% set body_classes = [ logged_in ? 'user-logged-in', … page.sidebar_first ? 'sidebar-first', page.sidebar_second ? 'sidebar-second', ] %}
  • 36. C R E AT I N G A L AY O U T W I T H C S S • Add layout classes to your body tag • Add a layout.css file that positions regions • Add CSS for any grid-like elements • Use media queries to adjust the layout for different screen sizes #content { width: 100%; } @media screen and (min-width: 800px){ body.sidebar-first #content { width: 80%; left: 20%; /* LTR */ } body.sidebar-second #content { width: 80%; } body.two-sidebars #content { width: 60%; left: 20%; } #sidebar-first { width: 20%; left: -80%; /* LTR */ } body.two-sidebars #sidebar-first { left: -60%; /* LTR */ } #sidebar-second { float: right; /* LTR */ width: 20%; } }
  • 37. T O O M U C H W O R K ? • Contrib base themes provide: • Settings • Grid system integration out-of-the-box: • Templates with correct classes • CSS for layout and styling of elements
  • 38. D R U PA L 8 T R A I N I N G • July 20-21 in Ottawa • Aug 22-26 in Montreal • Sept 12-16 in Ottawa • Sept 26-30 in Toronto • October 3-4 in Chicago • evolvingweb.ca/training
  • 39. bit.ly/d8-layouts Webinar: Creating Mobile-Proof Layouts in Drupal 8 June 27 at 12-1pm