## Air-light - A minimalist WordPress starter theme [](https://travis-ci.org/digitoimistodude/air) [](https://github.com/digitoimistodude/air/releases) []() Air-light (or simply *Air*) is designed to be a minimal starting point for a WordPress project at [Digitoimisto Dude Oy](https://www.dude.fi), a Finnish boutique digital agency in the center of Jyväskylä. Theme is based on [_s](https://github.com/automattic/_s). ## [Demo](https://dudetest.xyz/air) - **CSS gzipped:** 7 KB *(47.1 KB original)* - **JS gzipped:** 3.5 KB *(10.8 KB original)* - **Front page HTML**: 7.4 KB *(29.4 KB original)*  This theme is built to be very straightforward, backwards compatible, front end developer friendly and modular by its structure. Following [Underscores](https://github.com/automattic/_s) and [WordPress Theme Coding Standards](https://codex.wordpress.org/Theme_Development#Theme_Development_Standards) best practices and most of the changes in _s are implemented as soon as they are committed. ## Table of contents 1. [Please note before using](#please-note-before-using) 2. [License](#license) 3. [Features](#features) 1. [Layout base & grid](#layout-base--grid) 2. [Typography](#typography) 3. [Development](#development) 4. [Navigation](#navigation) 5. [WordPress & functions](#wordpress--functions) 6. [Accessibility](#accessibility) 7. [Disabled features](#disabled-features) 4. [Extra building blocks](#extra-building-blocks) 1. [Sticky navigation](#sticky-navigation) 2. [Slick slider](#slick-slider) 3. [WooCommerce support](#woocommerce-support) 5. [Requirements](#requirements) 6. [Recommendations for development](#recommendations-for-development) 7. [Installation](#installation) 8. [Contributing](#contributing) 1. [Air development](#air-development) 9. [Notes](#notes) ### Please note before using Air is a **development theme**, so it has updates very often. By using this starter theme, you agree that the anything can change to a different direction without a warning. Air is not meant to be "a theme for everyone", so it doesn't have many parts that are generally included (see [Disabled features](#disabled-features)). If you for some reason happen to use this theme as base, please note the theme won't necessarily be that much fun or won't necessarily look any good. I recommend using [Sage](https://roots.io/sage/) if you need something more complete. ### License Air is licensed with [The MIT License (MIT)](http://choosealicense.com/licenses/mit/) which means you can freely use this theme commercially or privately, modify it, or distribute it, but you are forbidden to hold Dude liable for anything, or claim that what you do with this is made by us. ### Features Some features, WooCommerce support and personal preferences of Dude are moved to [Air helper](https://github.com/digitoimistodude/air-helper) plugin. #### Layout base & grid * All good things from the latest [Underscores](https://github.com/Automattic/_s) * [SASS](http://sass-lang.com/)-support (SCSS-syntax) * CSS reset with a combination with Nicolas Gallagher's [normalize*css](https://github.com/necolas/normalize.css/) * [Jeet](https://github.com/mojotech/jeet) Grid for SASS `@include column(1/100)` * Container div inside site-main * Possible to choose between fluid (flexible 100%) and snappy grid style (snapping to breakpoint, more space around) * Inline SVG-ready #### Typography * Responsive typography with viewport units with fallbacks, see more in [sass/layout/_typography.scss](https://github.com/digitoimistodude/air/blob/master/sass/layout/_typography.scss) and [sass/base/_helpers.scss](https://github.com/digitoimistodude/air/blob/master/sass/base/_helpers.scss#L91), default syntax is `@include responsive-font(3vw, $font-min-size, $font-max-size, $font-max-size);` (formerly [Megatype](https://github.com/StudioThick/megatype), still recommended with blogs or text-only based sites, but **not** included by default after 1.5.0) * Web fonts file are preferred, helper included: [Sass Boilerplate's fontFace-mixin](https://github.com/magnetikonline/sassboilerplate/blob/master/fontface.scss). Put files in `fonts/` directory, you'll need .odt, .ttf, .woff, .woff2. Then just `@include fontFace('Proxima Nova', '../fonts/proximanova-regular-webfont', 400);` in _typography.scss. #### Development * [BrowserSync](http://www.browsersync.io/) for keeping multiple browsers and devices synchronized while testing, along with injecting updated CSS and JS into your browser while you're developing (included in [devpackages](https://github.com/digitoimistodude/devpackages)) * [gulp](http://gulpjs.com/) build script that compiles both Less and Sass, checks for JavaScript errors, optimizes images, and concatenates and minifies files (see Dude's [devpackages](https://github.com/digitoimistodude/devpackages)) * [npm](https://www.npmjs.com) for front-end package management #### Navigation * Custom navigation walker * Support for multi-level drop down submenus * Improved version of the [accessible menu for WordPress themes](https://github.com/theme-smith/accessible-nav-wp), fully accessible and responsive multi-level navigation * Support for animations * Pure CSS hoverintent #### WordPress & functions * Available for translation * Support for Post Thumbnails on posts and pages * HTML5 core markup for WordPress elements * **Air specific:** Templates for hero *blocks* #### Accessibility Creating accessible websites is really important and our goal is to make air as accessible-ready as possible. Theme fully supports navigating with keyboard and screen-readers. Other accessible features: * [Navigation patterns](#navigation) * Skip link * Smart focus for keyboard users, [what-input](https://github.com/ten1seven/what-input) baked in * Valid HTML * Accessible SVG icons * Screen reader class #### Disabled features * Widgets * Post formats * Jetpack support * Customizer * RTL support * Threaded comments * Template tags (direct edit preferred) * No sidebar by default ### Extra building blocks #### Sticky navigation Air has sticky navigation baked in. ##### How to enable You can enable the navigation by 1. Adding sticky-nav.js to your gulpfile (already included with [Devpackages](https://github.com/digitoimistodude/devpackages) and newtheme.sh start script) 2. Uncommeting sticky-nav import in global.scss 3. Restart gulp and save scripts.js once to compile working combined javascript file #### Slick slider Air includes sassified version, clean SCSS file for slick carousel. ##### How to enable To enable Slick carousel support, 1. Run `npm install slick-carousel --save` in theme directory 2. Run `npm update` in theme directory 3. Uncomment `themeDir + '/node_modules/slick-carousel/slick/slick.js'` in gulpfile.js 4. Start gulp again, add slick init to document ready in scripts.js, like this, tweak to your needs (already uncommented): ```` javascript $('.slider').slick({ slidesToShow: 1, slidesToScroll: 1, arrows: true, dots: false, fade: true }); ```` 5. Construct your slider like this: ```` html