SlideShare a Scribd company logo
1 of 57
Download to read offline
OCT 13, 2014 
Create Your Own 
Starter Files 
Emily Lewis for CSS Dev Conf 
#starterfiles 
Some rights reserved
OCT 13, 2014 
Create Your Own 
Starter Files 
Emily Lewis for CSS Dev Conf 
#starterfiles 
Some rights reserved
Owner, Lead Developer 
abrightumbrella.com 
Author, Microformats Made Simple 
microformatsmadesimple.com 
Co-author, HTML5 Cookbook 
shop.oreilly.com/product/0636920016038.do 
Managing Editor, Web Standards Sherpa 
webstandardssherpa.com 
Co-host, CTRL+CLICK CAST 
ctrlclickcast.com
I’m a code freak 
♡ Frameworks
the Idea of 
♡ 
• Getting a site up and and running quickly and 
easily 
• Building sites consistently with responsive 
techniques 
• Rapid prototyping to define scope and inform 
project deliverables
in Practice 
• More than what I need for the types of projects I 
build 
• Difficult for me to “adapt” to someone else’s 
approach 
• What works for prototyping rarely works for my 
production code
in Practice 
• I’m removed from the fundamental 
understanding of why a given technique is used 
• Can be harder to troubleshoot 
• Can lead to bloated code 
themetaq.com/articles/the-pros-and-cons-of-using-a- 
front-end-framework ★
My Old Process 
1. Choose the most recent completed project 
that shares common elements 
2. Copy 
3. Paste 
4. Tweak 
5. Repeat
My Old Deliverables 
• Static wireframes 
• Visual comps 
• Front-end templates 
• CMS integration
18 Months Ago ... 
• Hired Lea Alcantara as a designer 
• Lea’s workflow includes earlier decisions about 
visual presentation than comps 
• New deliverable: Element Collage 
★ danielmall.com/articles/rif-element-collages/ 
★ styletil.es/
18 Months Ago ... 
• More responsive work, more responsive 
deliverables 
• New deliverable: Live Wires 
www.ngenworks.com/blog/live-wires-better-prototyping/ 
★
18 Months Ago ... 
• Clients needed different resources than they 
had in the past 
• New deliverable: Style Guide
Today’s Deliverables 
• Element Collages 
• Live Wires 
• Front-end templates 
• CMS integration 
• Web-based Style Guide
Me, the Business  wner 
Productivity 
& 
Profit
Me, the Devel  
per 
Code Freak 
Conniptions
Managed Solution 
• Relies on our preferred coding and naming 
conventions 
• Includes what we need, but not what we don’t 
• Relies on techniques that I understand, can 
explain and can troubleshoot 
• Defines and documents internal standards
Managed Solution 
• Scales for bespoke projects that have all our 
deliverables 
• Scales for new projects that need a new type 
of deliverable 
• Scales for projects that only need one 
deliverable
Managed Solution 
• Limits repetition (DRY) 
• Ties all web-based deliverables together, so that 
prototyping code easily evolves to production code 
• Faster project setups 
• Faster client deliverables 
• Lets us focus our energy on custom work
Enter: “Starter Files” 
• Began as just the core Sass assets and 
organization that I created for basic template 
styling 
• Evolved into a system of shared front-end 
assets that can be used by all of our web-based 
deliverables 
ctrlclickcast.com/episodes/cms-markup-templating 
★
Starter Files Mindset
The Mindset 
• Stop thinking of assets and instead think of a 
system 
• Doesn’t need to be a fully realized approach 
before you can use it 
• Constantly evolving
The Rules 
• Don’t go back and update completed projects when Starter 
Files are updated unless there is budget and time 
• Try new techniques when a project specifically calls for it, so 
that the client is paying for the “new” development 
• After every project is complete, revisit Starter Files and 
incorporate anything new that was learned during the 
project 
• If new ideas occur during a project, but aren’t relevant to 
that project, make note and set aside to address in the future
The Prep 
• How do you work now and how do you want to work in the future? 
• What parts of your business/deliverables do you want to support? 
• What are your naming conventions? 
• How do you want to organize directories and subdirectories? 
• What do your team members need and what are they open to? 
• What are your patterns in HTML and CSS, even JS? 
• What can be shared and what is unique to each type of 
deliverable?
Our Starter System 
Organization & Structure Naming 
• Organized by project deliverables 
• Needed to identify what assets were: 
• Global 
• Shared 
• Deliverable-specific
Organization 
Sass Partials - Global & Shared
Organization 
Sass Partials - Element Collage
Organization 
Sass Partials - Live Wires
Organization 
Sass Partials - Templates
Organization 
Sass Partials - Style Guide
Organization 
HTML Assets - Global
Organization 
HTML Assets - Deliverables
Our Starter System 
Modularity 
• Look for repeated patterns across deliverables 
and abstract the parts that are common among 
them 
• Minimize repetition in both HTML and CSS 
webstandardssherpa.com/reviews/think-modularly/ 
★
Modularity 
Sass Placeholders
Modularity 
Global HTML Modules
Our Starter System 
Naming Conventions 
• Single class pattern vs. multiple class pattern 
• Moving away from strictly content-based 
semantics 
• Class name = HTML module file name 
architecture/ ★ 
★ bem.info 
nicolasgallagher.com/about-html-semantics-front-end-
Our Starter System 
Naming Conventions 
• Base rules, element selectors 
• Layout rules, prefixed classes 
• Module rules, block-element classes 
★ smacss.com/
Naming Conventions 
Module Rules
Our Starter System 
Building Deliverables 
• Basic PHP includes 
• Global includes 
• Global modules 
• Deliverable-specific includes and modules
Building Deliverables 
Creating a Document “Shell”
Building Deliverables 
Creating Element Collages
Building Deliverables 
Evolving the Process 
• HTML partials with Mustache 
• Emmet text expanders for Sublime 
www.sitepoint.com/creating-html-templates-with-mustachejs/ 
★ 
in-mustache-js-using-partials/ ★ 
letscodetheweb.com/creating-recursive-html-templates- 
more ★ 
themetaq.com/articles/emmet-write-even-less-do-even-
Building Deliverables 
Evolving the Process 
• Style Guide from Sass comments 
• Some combination of (or inspiration from) all 
★ warpspire.com/posts/kss/ 
★ github.com/jacobrask/styledocco/
Our Starter System 
Maintenance 
• “Living” documentation on Google Docs 
• System is version controlled with Git 
★ www.git-tower.com/ 
★ beanstalkapp.com/
Maintenance 
Evolving the Process 
• Git submodules 
• Git subtrees 
tips/ ★ 
blogs.atlassian.com/2013/03/git-submodules-workflows- 
git-subtree/ ★ 
blogs.atlassian.com/2013/05/alternatives-to-git-submodule-
Integrated System 
Element Collage + Live Wires
Integrated System 
= Front-end templates
Integrated System 
= Style Guide
Serious Investment 
• It isn’t easy 
• It takes time (= money) 
• It takes focus 
• It takes a commitment to maintaining/evolving
 
Me, the Business wner 
• Faster setup of new projects, regardless of scale 
• Deliverables build on each other, prototyping 
to production 
• Internal standards for team, consistency 
• More DRY
Me, the Devel  per 
• I get to fly my code freak flag 
• The onus is on me to stay up-to-date; constant 
state of learning 
• I’m confident in the techniques I’m using; can 
troubleshoot and explain
Create Your Own 
• Invest in your business/company to find 
efficiencies and deliver better products 
• Use what you want, need and are comfortable 
with - this can include frameworks! 
• Invest in yourself to stay educated
★ Resources 
• The pros & cons of using a front-end framework 
themetaq.com/articles/the-pros-and-cons-of-using-a-front-end-framework 
• Reading Is Fundamental Element Collages 
danielmall.com/articles/rif-element-collages/ 
• Style Tiles 
styletil.es/ 
• Live Wires 
www.ngenworks.com/blog/live-wires-better-prototyping/ 
• CMS Markup & Templating with Allison Wagner 
ctrlclickcast.com/episodes/cms-markup-templating
★ Resources 
• Think Modularly 
webstandardssherpa.com/reviews/think-modularly/ 
• About HTML semantics and front-end architecture 
nicolasgallagher.com/about-html-semantics-front-end-architecture/ 
• BEM 
bem.info 
• SMACSS 
smacss.com/ 
• Creating HTML Templates with Mustache.js 
www.sitepoint.com/creating-html-templates-with-mustachejs/
★ Resources 
• Creating Recursive HTML Templates in Mustache.js Using Partials 
letscodetheweb.com/creating-recursive-html-templates-in-mustache-js-using-partials/ 
• Emmet: Write Even Less, Do Even More 
themetaq.com/articles/emmet-write-even-less-do-even-more 
• Knyle Style Sheets 
warpspire.com/posts/kss/ 
• StyleDocco 
github.com/jacobrask/styledocco/ 
• Tower 
www.git-tower.com/
★ Resources 
• Beanstalk 
beanstalkapp.com/ 
• Git Submodules Workflow Tips 
blogs.atlassian.com/2013/03/git-submodules-workflows-tips/ 
• Alternatives to Git Submodules 
blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/
Questions? 
emily@abrightumbrella.com @emilylewis 
#starterfiles

More Related Content

What's hot

DocOps — The Analytical Window to Your Customer’s Experience with Wade Clements
DocOps — The Analytical Window to Your Customer’s Experience with Wade ClementsDocOps — The Analytical Window to Your Customer’s Experience with Wade Clements
DocOps — The Analytical Window to Your Customer’s Experience with Wade ClementsInformation Development World
 
Friday final test
Friday final testFriday final test
Friday final testbcoder
 
Treeshaking your CSS
Treeshaking your CSSTreeshaking your CSS
Treeshaking your CSSJames Stone
 
Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Exove
 
Rapid Evolution of Web Dev? aka Talking About The Web
Rapid Evolution of Web Dev? aka Talking About The WebRapid Evolution of Web Dev? aka Talking About The Web
Rapid Evolution of Web Dev? aka Talking About The WebPINT Inc
 
Hands-on with Source Control: Using MadCap Flare with a Cloud Source Control ...
Hands-on with Source Control: Using MadCap Flare with a Cloud Source Control ...Hands-on with Source Control: Using MadCap Flare with a Cloud Source Control ...
Hands-on with Source Control: Using MadCap Flare with a Cloud Source Control ...docguy
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Adam Mokan
 
How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!pixelonion
 
Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceMatthew Lancaster
 
Contributing Back to WordPress - Getting Involved in the Community
Contributing Back to WordPress - Getting Involved in the CommunityContributing Back to WordPress - Getting Involved in the Community
Contributing Back to WordPress - Getting Involved in the CommunityZero Point Development
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterpriseTaylor Lovett
 
How to Evaluate your Technical Partner
How to Evaluate your Technical PartnerHow to Evaluate your Technical Partner
How to Evaluate your Technical PartnerOscar Merida
 
Extreme Development: Pair Programming
Extreme Development: Pair ProgrammingExtreme Development: Pair Programming
Extreme Development: Pair ProgrammingDevin Olson
 
Less is more: Getting Real About Content and Features
Less is more: Getting Real About Content and Features Less is more: Getting Real About Content and Features
Less is more: Getting Real About Content and Features Charlie Morris
 
You're Hired! How to ace your next job interview
You're Hired!  How to ace your next job interviewYou're Hired!  How to ace your next job interview
You're Hired! How to ace your next job interviewRichard Harrington
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSébastien Levert
 

What's hot (18)

DocOps — The Analytical Window to Your Customer’s Experience with Wade Clements
DocOps — The Analytical Window to Your Customer’s Experience with Wade ClementsDocOps — The Analytical Window to Your Customer’s Experience with Wade Clements
DocOps — The Analytical Window to Your Customer’s Experience with Wade Clements
 
Friday final test
Friday final testFriday final test
Friday final test
 
Treeshaking your CSS
Treeshaking your CSSTreeshaking your CSS
Treeshaking your CSS
 
Html5 Flyover
Html5 FlyoverHtml5 Flyover
Html5 Flyover
 
Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012
 
Rapid Evolution of Web Dev? aka Talking About The Web
Rapid Evolution of Web Dev? aka Talking About The WebRapid Evolution of Web Dev? aka Talking About The Web
Rapid Evolution of Web Dev? aka Talking About The Web
 
Hands-on with Source Control: Using MadCap Flare with a Cloud Source Control ...
Hands-on with Source Control: Using MadCap Flare with a Cloud Source Control ...Hands-on with Source Control: Using MadCap Flare with a Cloud Source Control ...
Hands-on with Source Control: Using MadCap Flare with a Cloud Source Control ...
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!
 
Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery Conference
 
Contributing Back to WordPress - Getting Involved in the Community
Contributing Back to WordPress - Getting Involved in the CommunityContributing Back to WordPress - Getting Involved in the Community
Contributing Back to WordPress - Getting Involved in the Community
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterprise
 
How to Evaluate your Technical Partner
How to Evaluate your Technical PartnerHow to Evaluate your Technical Partner
How to Evaluate your Technical Partner
 
Extreme Development: Pair Programming
Extreme Development: Pair ProgrammingExtreme Development: Pair Programming
Extreme Development: Pair Programming
 
Less is more: Getting Real About Content and Features
Less is more: Getting Real About Content and Features Less is more: Getting Real About Content and Features
Less is more: Getting Real About Content and Features
 
You're Hired! How to ace your next job interview
You're Hired!  How to ace your next job interviewYou're Hired!  How to ace your next job interview
You're Hired! How to ace your next job interview
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
 
Module 5 - WCM system comparison
Module 5 - WCM system comparison Module 5 - WCM system comparison
Module 5 - WCM system comparison
 

Similar to Create Your Own Starter Files

DITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project PlanDITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project PlanSuite Solutions
 
How to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreHow to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreDan Poltawski
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end toolingThomas Daly
 
WordPress Themes and Plugins
WordPress Themes and PluginsWordPress Themes and Plugins
WordPress Themes and Pluginssuperann
 
DITA Quick Start Webinar: Defining Your Style Sheet Requirements
DITA Quick Start Webinar: Defining Your Style Sheet RequirementsDITA Quick Start Webinar: Defining Your Style Sheet Requirements
DITA Quick Start Webinar: Defining Your Style Sheet RequirementsSuite Solutions
 
Back To Square One: Building a WordPress Starter Development Kit
Back To Square One: Building a WordPress Starter Development KitBack To Square One: Building a WordPress Starter Development Kit
Back To Square One: Building a WordPress Starter Development Kitkyleu
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--devaltsav
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic applicationTaras Matyashovsky
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPThomas Daly
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme developmentJonny Allbut
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesAlfred Jett Grandeza
 
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
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation PortalSteve Anderson
 
Documentation Communities: Sound Strategy or Documentarian's Gambit?
Documentation Communities: Sound Strategy or Documentarian's Gambit?Documentation Communities: Sound Strategy or Documentarian's Gambit?
Documentation Communities: Sound Strategy or Documentarian's Gambit?Laura Novich
 
Scaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityScaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityAviran Mordo
 
USG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 DaysUSG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 DaysEric Sembrat
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress UniversityStephanie Leary
 

Similar to Create Your Own Starter Files (20)

DITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project PlanDITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project Plan
 
How to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreHow to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle core
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
 
WordPress Themes and Plugins
WordPress Themes and PluginsWordPress Themes and Plugins
WordPress Themes and Plugins
 
DITA Quick Start Webinar: Defining Your Style Sheet Requirements
DITA Quick Start Webinar: Defining Your Style Sheet RequirementsDITA Quick Start Webinar: Defining Your Style Sheet Requirements
DITA Quick Start Webinar: Defining Your Style Sheet Requirements
 
Back To Square One: Building a WordPress Starter Development Kit
Back To Square One: Building a WordPress Starter Development KitBack To Square One: Building a WordPress Starter Development Kit
Back To Square One: Building a WordPress Starter Development Kit
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--dev
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
 
Joomla! theming
Joomla! themingJoomla! theming
Joomla! theming
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry Practices
 
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
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
 
Movingto moodle2 v1 1
Movingto moodle2 v1 1Movingto moodle2 v1 1
Movingto moodle2 v1 1
 
Documentation Communities: Sound Strategy or Documentarian's Gambit?
Documentation Communities: Sound Strategy or Documentarian's Gambit?Documentation Communities: Sound Strategy or Documentarian's Gambit?
Documentation Communities: Sound Strategy or Documentarian's Gambit?
 
Scaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityScaling r&d org while maintaining quality
Scaling r&d org while maintaining quality
 
USG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 DaysUSG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 Days
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress University
 

More from Emily Lewis

The Hiring Process
The Hiring ProcessThe Hiring Process
The Hiring ProcessEmily Lewis
 
Take Your Markup to Eleven
Take Your Markup to ElevenTake Your Markup to Eleven
Take Your Markup to ElevenEmily Lewis
 
Designer-Friendly EE
Designer-Friendly EEDesigner-Friendly EE
Designer-Friendly EEEmily Lewis
 
10 Advanced CSS Techniques (You Wish You Knew More About)
10 Advanced CSS Techniques (You Wish You Knew More About)10 Advanced CSS Techniques (You Wish You Knew More About)
10 Advanced CSS Techniques (You Wish You Knew More About)Emily Lewis
 
Building the Webuquerque Community
Building the Webuquerque CommunityBuilding the Webuquerque Community
Building the Webuquerque CommunityEmily Lewis
 
Multiple Site Management with ExpressionEngine
Multiple Site Management with ExpressionEngineMultiple Site Management with ExpressionEngine
Multiple Site Management with ExpressionEngineEmily Lewis
 
Take Your Markup to 11
Take Your Markup to 11Take Your Markup to 11
Take Your Markup to 11Emily Lewis
 
WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management SystemsEmily Lewis
 
Microformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebMicroformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebEmily Lewis
 
jQuery, A Designer's Perspective
jQuery, A Designer's PerspectivejQuery, A Designer's Perspective
jQuery, A Designer's PerspectiveEmily Lewis
 
Practical Microformats - Voices That Matter
Practical Microformats - Voices That MatterPractical Microformats - Voices That Matter
Practical Microformats - Voices That MatterEmily Lewis
 
[Workshop Summits] Microformats Workshop
[Workshop Summits] Microformats Workshop[Workshop Summits] Microformats Workshop
[Workshop Summits] Microformats WorkshopEmily Lewis
 
Microformats: Web Semantics & More
Microformats: Web Semantics & MoreMicroformats: Web Semantics & More
Microformats: Web Semantics & MoreEmily Lewis
 
Podcasting & Vodcasting 101
Podcasting & Vodcasting 101Podcasting & Vodcasting 101
Podcasting & Vodcasting 101Emily Lewis
 
Webuquerque: Social Media Means Business
Webuquerque: Social Media Means BusinessWebuquerque: Social Media Means Business
Webuquerque: Social Media Means BusinessEmily Lewis
 

More from Emily Lewis (15)

The Hiring Process
The Hiring ProcessThe Hiring Process
The Hiring Process
 
Take Your Markup to Eleven
Take Your Markup to ElevenTake Your Markup to Eleven
Take Your Markup to Eleven
 
Designer-Friendly EE
Designer-Friendly EEDesigner-Friendly EE
Designer-Friendly EE
 
10 Advanced CSS Techniques (You Wish You Knew More About)
10 Advanced CSS Techniques (You Wish You Knew More About)10 Advanced CSS Techniques (You Wish You Knew More About)
10 Advanced CSS Techniques (You Wish You Knew More About)
 
Building the Webuquerque Community
Building the Webuquerque CommunityBuilding the Webuquerque Community
Building the Webuquerque Community
 
Multiple Site Management with ExpressionEngine
Multiple Site Management with ExpressionEngineMultiple Site Management with ExpressionEngine
Multiple Site Management with ExpressionEngine
 
Take Your Markup to 11
Take Your Markup to 11Take Your Markup to 11
Take Your Markup to 11
 
WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management Systems
 
Microformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebMicroformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic Web
 
jQuery, A Designer's Perspective
jQuery, A Designer's PerspectivejQuery, A Designer's Perspective
jQuery, A Designer's Perspective
 
Practical Microformats - Voices That Matter
Practical Microformats - Voices That MatterPractical Microformats - Voices That Matter
Practical Microformats - Voices That Matter
 
[Workshop Summits] Microformats Workshop
[Workshop Summits] Microformats Workshop[Workshop Summits] Microformats Workshop
[Workshop Summits] Microformats Workshop
 
Microformats: Web Semantics & More
Microformats: Web Semantics & MoreMicroformats: Web Semantics & More
Microformats: Web Semantics & More
 
Podcasting & Vodcasting 101
Podcasting & Vodcasting 101Podcasting & Vodcasting 101
Podcasting & Vodcasting 101
 
Webuquerque: Social Media Means Business
Webuquerque: Social Media Means BusinessWebuquerque: Social Media Means Business
Webuquerque: Social Media Means Business
 

Recently uploaded

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 

Recently uploaded (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

Create Your Own Starter Files

  • 1. OCT 13, 2014 Create Your Own Starter Files Emily Lewis for CSS Dev Conf #starterfiles Some rights reserved
  • 2. OCT 13, 2014 Create Your Own Starter Files Emily Lewis for CSS Dev Conf #starterfiles Some rights reserved
  • 3. Owner, Lead Developer abrightumbrella.com Author, Microformats Made Simple microformatsmadesimple.com Co-author, HTML5 Cookbook shop.oreilly.com/product/0636920016038.do Managing Editor, Web Standards Sherpa webstandardssherpa.com Co-host, CTRL+CLICK CAST ctrlclickcast.com
  • 4. I’m a code freak 
  • 6. the Idea of ♡ • Getting a site up and and running quickly and easily • Building sites consistently with responsive techniques • Rapid prototyping to define scope and inform project deliverables
  • 7. in Practice • More than what I need for the types of projects I build • Difficult for me to “adapt” to someone else’s approach • What works for prototyping rarely works for my production code
  • 8. in Practice • I’m removed from the fundamental understanding of why a given technique is used • Can be harder to troubleshoot • Can lead to bloated code themetaq.com/articles/the-pros-and-cons-of-using-a- front-end-framework ★
  • 9. My Old Process 1. Choose the most recent completed project that shares common elements 2. Copy 3. Paste 4. Tweak 5. Repeat
  • 10. My Old Deliverables • Static wireframes • Visual comps • Front-end templates • CMS integration
  • 11. 18 Months Ago ... • Hired Lea Alcantara as a designer • Lea’s workflow includes earlier decisions about visual presentation than comps • New deliverable: Element Collage ★ danielmall.com/articles/rif-element-collages/ ★ styletil.es/
  • 12. 18 Months Ago ... • More responsive work, more responsive deliverables • New deliverable: Live Wires www.ngenworks.com/blog/live-wires-better-prototyping/ ★
  • 13. 18 Months Ago ... • Clients needed different resources than they had in the past • New deliverable: Style Guide
  • 14. Today’s Deliverables • Element Collages • Live Wires • Front-end templates • CMS integration • Web-based Style Guide
  • 15. Me, the Business  wner Productivity & Profit
  • 16. Me, the Devel  per Code Freak Conniptions
  • 17. Managed Solution • Relies on our preferred coding and naming conventions • Includes what we need, but not what we don’t • Relies on techniques that I understand, can explain and can troubleshoot • Defines and documents internal standards
  • 18. Managed Solution • Scales for bespoke projects that have all our deliverables • Scales for new projects that need a new type of deliverable • Scales for projects that only need one deliverable
  • 19. Managed Solution • Limits repetition (DRY) • Ties all web-based deliverables together, so that prototyping code easily evolves to production code • Faster project setups • Faster client deliverables • Lets us focus our energy on custom work
  • 20. Enter: “Starter Files” • Began as just the core Sass assets and organization that I created for basic template styling • Evolved into a system of shared front-end assets that can be used by all of our web-based deliverables ctrlclickcast.com/episodes/cms-markup-templating ★
  • 22. The Mindset • Stop thinking of assets and instead think of a system • Doesn’t need to be a fully realized approach before you can use it • Constantly evolving
  • 23. The Rules • Don’t go back and update completed projects when Starter Files are updated unless there is budget and time • Try new techniques when a project specifically calls for it, so that the client is paying for the “new” development • After every project is complete, revisit Starter Files and incorporate anything new that was learned during the project • If new ideas occur during a project, but aren’t relevant to that project, make note and set aside to address in the future
  • 24. The Prep • How do you work now and how do you want to work in the future? • What parts of your business/deliverables do you want to support? • What are your naming conventions? • How do you want to organize directories and subdirectories? • What do your team members need and what are they open to? • What are your patterns in HTML and CSS, even JS? • What can be shared and what is unique to each type of deliverable?
  • 25. Our Starter System Organization & Structure Naming • Organized by project deliverables • Needed to identify what assets were: • Global • Shared • Deliverable-specific
  • 26. Organization Sass Partials - Global & Shared
  • 27. Organization Sass Partials - Element Collage
  • 30. Organization Sass Partials - Style Guide
  • 32. Organization HTML Assets - Deliverables
  • 33. Our Starter System Modularity • Look for repeated patterns across deliverables and abstract the parts that are common among them • Minimize repetition in both HTML and CSS webstandardssherpa.com/reviews/think-modularly/ ★
  • 36. Our Starter System Naming Conventions • Single class pattern vs. multiple class pattern • Moving away from strictly content-based semantics • Class name = HTML module file name architecture/ ★ ★ bem.info nicolasgallagher.com/about-html-semantics-front-end-
  • 37. Our Starter System Naming Conventions • Base rules, element selectors • Layout rules, prefixed classes • Module rules, block-element classes ★ smacss.com/
  • 39. Our Starter System Building Deliverables • Basic PHP includes • Global includes • Global modules • Deliverable-specific includes and modules
  • 40. Building Deliverables Creating a Document “Shell”
  • 41. Building Deliverables Creating Element Collages
  • 42. Building Deliverables Evolving the Process • HTML partials with Mustache • Emmet text expanders for Sublime www.sitepoint.com/creating-html-templates-with-mustachejs/ ★ in-mustache-js-using-partials/ ★ letscodetheweb.com/creating-recursive-html-templates- more ★ themetaq.com/articles/emmet-write-even-less-do-even-
  • 43. Building Deliverables Evolving the Process • Style Guide from Sass comments • Some combination of (or inspiration from) all ★ warpspire.com/posts/kss/ ★ github.com/jacobrask/styledocco/
  • 44. Our Starter System Maintenance • “Living” documentation on Google Docs • System is version controlled with Git ★ www.git-tower.com/ ★ beanstalkapp.com/
  • 45. Maintenance Evolving the Process • Git submodules • Git subtrees tips/ ★ blogs.atlassian.com/2013/03/git-submodules-workflows- git-subtree/ ★ blogs.atlassian.com/2013/05/alternatives-to-git-submodule-
  • 46. Integrated System Element Collage + Live Wires
  • 47. Integrated System = Front-end templates
  • 48. Integrated System = Style Guide
  • 49. Serious Investment • It isn’t easy • It takes time (= money) • It takes focus • It takes a commitment to maintaining/evolving
  • 50.  Me, the Business wner • Faster setup of new projects, regardless of scale • Deliverables build on each other, prototyping to production • Internal standards for team, consistency • More DRY
  • 51. Me, the Devel  per • I get to fly my code freak flag • The onus is on me to stay up-to-date; constant state of learning • I’m confident in the techniques I’m using; can troubleshoot and explain
  • 52. Create Your Own • Invest in your business/company to find efficiencies and deliver better products • Use what you want, need and are comfortable with - this can include frameworks! • Invest in yourself to stay educated
  • 53. ★ Resources • The pros & cons of using a front-end framework themetaq.com/articles/the-pros-and-cons-of-using-a-front-end-framework • Reading Is Fundamental Element Collages danielmall.com/articles/rif-element-collages/ • Style Tiles styletil.es/ • Live Wires www.ngenworks.com/blog/live-wires-better-prototyping/ • CMS Markup & Templating with Allison Wagner ctrlclickcast.com/episodes/cms-markup-templating
  • 54. ★ Resources • Think Modularly webstandardssherpa.com/reviews/think-modularly/ • About HTML semantics and front-end architecture nicolasgallagher.com/about-html-semantics-front-end-architecture/ • BEM bem.info • SMACSS smacss.com/ • Creating HTML Templates with Mustache.js www.sitepoint.com/creating-html-templates-with-mustachejs/
  • 55. ★ Resources • Creating Recursive HTML Templates in Mustache.js Using Partials letscodetheweb.com/creating-recursive-html-templates-in-mustache-js-using-partials/ • Emmet: Write Even Less, Do Even More themetaq.com/articles/emmet-write-even-less-do-even-more • Knyle Style Sheets warpspire.com/posts/kss/ • StyleDocco github.com/jacobrask/styledocco/ • Tower www.git-tower.com/
  • 56. ★ Resources • Beanstalk beanstalkapp.com/ • Git Submodules Workflow Tips blogs.atlassian.com/2013/03/git-submodules-workflows-tips/ • Alternatives to Git Submodules blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/