WebDevStudios / wd_s

A starter theme from WebDevStudios.
https://wdunderscores.com
GNU General Public License v2.0
663 stars 137 forks source link
gutenberg hacktoberfest javascript php scss starter-theme tailwindcss wordpress wordpress-scripts wordpress-theme

wd_s

Build Status

A starter theme from WebDevStudios. https://wdunderscores.com

WebDevStudios. Your Success is Our Mission.

Table of Contents

Introduction

Hello there! I am a versatile starter theme known as wd_s, or wdunderscores. My foundation is built primarily on PHP templates, but I offer the flexibility to incorporate custom templates through the Site Editor. It's worth noting that I'm designed for customization, so it's best not to use me as a Parent Theme. Instead, harness my potential to transform me into the most amazing WordPress theme you can envision – that's what I'm here for!

I come equipped with a host of robust web technologies, including Tailwind, npm, webpack, Sass, and PostCSS. To ensure your code aligns with WordPress standards and stays clean, I leverage @wordpress/scripts for CSS and JavaScript linting. What's more, I take accessibility seriously and proudly comply with both WCAG 2.1AA and Section 508 standards right from the start.

I also come with the Site Editor activated, providing you with even more versatility and ease in crafting your WordPress theme. Whether you're customizing templates or utilizing the Site Editor, I'm here to support your creative journey. And remember, I do require at least PHP 8.0 to be activated to unlock my full potential.

Getting Started

Prerequisites

Because I compile and bundle assets via NPM scripts, basic knowledge of the command line and the following dependencies are required:

Quick Start

If you want to keep it simple, head over to https://wdunderscores.com and generate your wd_s based theme from there. You just input the name of the theme you want to create, click the "Generate" button, and you get your ready-to-awesomize starter theme. Alternatively, you could download a pre-built ZIP

Advanced

If you want to set me up manually:

  1. Download and extract the zip into your wp-content/themes directory and rename wd_s to fit your needs.

  2. Find & Replace

You'll need to change all instances of the name: wd_s.

Setup

From the command line, change directories to your new theme directory:

cd /wp-content/themes/your-theme

Install theme dependencies and trigger an initial build.

Note: You will need to have Composer 2 and NPM 9 installed first.

npm i && composer i

Development

From the command line, type any of the following to perform an action:

Command Action
npm run watch Builds assets and starts Live Reload and Browsersync servers
npm run start Builds assets and starts Live Reload server
npm run build Builds production-ready assets for a deployment
npm run lint Check all CSS, JS, MD, and PHP files for errors
npm run format Fix all CSS, JS, MD, and PHP formatting errors automatically
npm run report Gives detailed information on coding standards violations in PHP code

Building a block with wpcli

In order to build a block, run the following wpcli script.

Note: If you're using Local, you can open the shell from within Local to do this. Sitename -> Open site shell.

wp wds create_portable_block myblock --title="This is myblock" --desc="This block is used for wds." --keyword="myblock" --icon="table-row-before" --namespace="wds"

This will scaffold out a block inside of the blocks folder in the theme. Replace myblock with the name of your block and update the other items title, desc, keyword, icon, namespace with the appropriate information.

Note: If you don't see your new block available under the block listing in the editor after following the above steps, try changing the namespacing in your block's block.json to the following format your-namespace/blockname and check again.

Contributing and Support

Your contributions and support tickets are welcome. Please see our contributing guidelines before submitting a pull request.

wd_s is free software, and is released under the terms of the GNU General Public License version 2 or any later version. See LICENSE.md for complete license.