Skip to content
Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.
CSS PHP JavaScript
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add instruction to run CLI tools in CONTRIBUTING.md Apr 17, 2020
inc Refactor the css layout to use grid and flex Apr 18, 2020
js Refactor navigation.js to Javascript ES6 (#1423) May 15, 2020
languages Merge branch 'master' into update-single-post-nav Apr 17, 2020
sass Exclude alignment classes from RTL conversion (#1435) May 16, 2020
template-parts Fix PHP, CSS AND JS coding standards Apr 5, 2020
.eslintrc Refactor navigation.js to Javascript ES6 (#1423) May 15, 2020
.gitignore Re-organize SASS structure (#1425) May 10, 2020
.stylelintrc.json Add SASS compilation and sync the CSS files Apr 8, 2020
.travis.yml Travis CI : dont install dependencies unless they are used Apr 16, 2020
404.php Refactor the css layout to use grid and flex Apr 18, 2020
LICENSE Change license to v2.0 Jul 15, 2016
README.md Fix small typo (#1428) May 12, 2020
archive.php Refactor the css layout to use grid and flex Apr 18, 2020
comments.php Fix PHP, CSS AND JS coding standards Apr 5, 2020
composer.json Add make-pot command to composer and update _s.pot file Apr 10, 2020
footer.php Refactor the css layout to use grid and flex Apr 18, 2020
functions.php Remove the skip link focus fix (#1424) May 7, 2020
header.php Refactor the css layout to use grid and flex Apr 18, 2020
index.php Refactor the css layout to use grid and flex Apr 18, 2020
package.json Delete the custom bundle script in favor of an npm package (#1433) May 15, 2020
page.php Refactor the css layout to use grid and flex Apr 18, 2020
phpcs.xml.dist Add composer.json and package.json for linting with Travis Apr 7, 2020
readme.txt Update readme.txt Apr 12, 2020
screenshot.png New 1200x900px screenshot, compressed Apr 3, 2015
search.php Refactor the css layout to use grid and flex Apr 18, 2020
sidebar.php Remove landmark roles Jun 23, 2017
single.php Refactor the css layout to use grid and flex Apr 18, 2020
style-rtl.css Exclude alignment classes from RTL conversion (#1435) May 16, 2020
style.css Exclude alignment classes from RTL conversion (#1435) May 16, 2020
woocommerce.css Remove redundant font-size declarations (#1434) May 15, 2020

README.md

Build Status

_s

Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.

My ultra-minimal CSS might make me look like theme tartare but that means less stuff to get in your way when you're designing your awesome theme. Here are some of the other more interesting things you'll find here:

  • A modern workflow with a pre-made command-line interface to turn your project into a more pleasant experience.
  • A just right amount of lean, well-commented, modern, HTML5 templates.
  • A custom header implementation in inc/custom-header.php. Just add the code snippet found in the comments of inc/custom-header.php to your header.php template.
  • Custom template tags in inc/template-tags.php that keep your templates clean and neat and prevent code duplication.
  • Some small tweaks in inc/template-functions.php that can improve your theming experience.
  • A script at js/navigation.js that makes your menu a toggled dropdown on small screens (like your phone), ready for CSS artistry. It's enqueued in functions.php.
  • 2 sample layouts in sass/layouts/ made using CSS Grid for a sidebar on either side of your content. Just uncomment the layout of your choice in sass/style.scss. Note: .no-sidebar styles are automatically loaded.
  • Smartly organized starter CSS in style.css that will help you to quickly get your design off the ground.
  • Full support for WooCommerce plugin integration with hooks in inc/woocommerce.php, styling override woocommerce.css with product gallery features (zoom, swipe, lightbox) enabled.
  • Licensed under GPLv2 or later. :) Use it to make something cool.

Installation

Requirements

_s requires the following dependencies:

Quick Start

Clone or download this repository, change its name to something else (like, say, megatherium-is-awesome), and then you'll need to do a six-step find and replace on the name in all the templates.

  1. Search for '_s' (inside single quotations) to capture the text domain and replace with: 'megatherium-is-awesome'.
  2. Search for _s_ to capture all the functions names and replace with: megatherium_is_awesome_.
  3. Search for Text Domain: _s in style.css and replace with: Text Domain: megatherium-is-awesome.
  4. Search for  _s (with a space before it) to capture DocBlocks and replace with:  Megatherium_is_Awesome.
  5. Search for _s- to capture prefixed handles and replace with: megatherium-is-awesome-.
  6. Search for _S_ (in uppercase) to capture constants and replace with: MEGATHERIUM_IS_AWESOME_.

Then, update the stylesheet header in style.css, the links in footer.php with your own information and rename _s.pot from languages folder to use the theme's slug. Next, update or delete this readme.

Setup

To start using all the tools that come with _s you need to install the necessary Node.js and Composer dependencies :

$ composer install
$ npm install

Available CLI commands

_s comes packed with CLI commands tailored for WordPress theme development :

  • composer lint:wpcs : checks all PHP files against PHP Coding Standards.
  • composer lint:php : checks all PHP files for syntax errors.
  • composer make-pot : generates a .pot file in the language/ directory.
  • npm run compile:css : compiles SASS files to css.
  • npm run compile:rtl : generates an RTL stylesheet.
  • npm run watch : watches all SASS files and recompiles them to css when they change.
  • npm run lint:scss : checks all SASS files against CSS Coding Standards.
  • npm run lint:js : checks all JavaScript files against JavaScript Coding Standards.
  • npm run bundle : generates a .zip archive for distribution, excluding development and system files.

Now you're ready to go! The next step is easy to say, but harder to do: make an awesome WordPress theme. :)

Good luck!

You can’t perform that action at this time.