All Projects → pixelshelsinki → pixels-starter-theme

pixelshelsinki / pixels-starter-theme

Licence: other
Starter theme for Pixels projects

Programming Languages

PHP
23972 projects - #3 most used programming language
Twig
543 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
CSS
56736 projects

Projects that are alternatives of or similar to pixels-starter-theme

luxe
Luxe is a WordPress starter theme using a modern workflow and best practices.
Stars: ✭ 22 (+69.23%)
Mutual labels:  wordpress-theme, wordpress-starter-theme, starter-theme
Understrap
Understrap is the renowned open-source WordPress starter theme that combines Underscores with Bootstrap. Trusted by more than 100,000 developers.
Stars: ✭ 2,822 (+21607.69%)
Mutual labels:  wordpress-theme, wordpress-starter-theme, starter-theme
StrapPress
Bootstrap 4 WordPress Starter Theme that is Gutenberg Compatible
Stars: ✭ 55 (+323.08%)
Mutual labels:  wordpress-theme, starter-theme
foxer
Foxer starter theme based on _s.
Stars: ✭ 14 (+7.69%)
Mutual labels:  wordpress-theme, starter-theme
sleek
The WordPress Theme for Developers.
Stars: ✭ 35 (+169.23%)
Mutual labels:  wordpress-theme, starter-theme
ignition
The Starter Theme that Could
Stars: ✭ 78 (+500%)
Mutual labels:  wordpress-theme, starter-theme
Forward-Framework
A killer WordPress theme framework built using underscores, gulp, sass, bourbon neat, bower & browsersync.
Stars: ✭ 23 (+76.92%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
webpack-gulp-wordpress-starter-theme
A WordPress theme with Webpack & Gulp
Stars: ✭ 110 (+746.15%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
Sage
WordPress starter theme with a modern development workflow
Stars: ✭ 11,531 (+88600%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
air
A hyper-minimal WordPress starter theme for developers built with Tailwind CSS.
Stars: ✭ 45 (+246.15%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
bootscore
Flexible Bootstrap 5 WordPress starter theme with full WooCommerce support
Stars: ✭ 160 (+1130.77%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
bootstrap-basic
Bootstrap 3 css framework theme for wordpress. For theme developer can start build their theme very fast. To download for use with your project, please go to wordpress.org themes page in the link.
Stars: ✭ 22 (+69.23%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
Create React Wptheme
Create modern, React-enabled WordPress themes with a single command.
Stars: ✭ 252 (+1838.46%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
Wp Tailwindcss Theme Boilerplate
A minimalist boilerplate for WordPress theme development using Tailwind CSS, SCSS, and Laravel Mix.
Stars: ✭ 199 (+1430.77%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
untheme
A blank WordPress theme for developers.
Stars: ✭ 82 (+530.77%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
themes-starter-material
Material Design WordPress Starter Theme.
Stars: ✭ 22 (+69.23%)
Mutual labels:  wordpress-theme, starter-theme
Theme
Tonik is a WordPress Starter Theme which aims to modernize, organize and enhance some aspects of WordPress theme development.
Stars: ✭ 1,197 (+9107.69%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
Wordpress Bootstrap
Bootstrap in WordPress theme form - Bootstrap 3.3.1
Stars: ✭ 1,494 (+11392.31%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
sage-laravel-mix
🌟 Sage 9 with laravel mix & vuejs
Stars: ✭ 31 (+138.46%)
Mutual labels:  wordpress-theme, wordpress-starter-theme
starter-kit-theme
WordPress starter theme with a modern development stack for launching projects faster and easily
Stars: ✭ 25 (+92.31%)
Mutual labels:  wordpress-theme, wordpress-starter-theme

Build Status This project is using Percy.io for visual regression testing.

Pixels Starter Theme

This is the starter theme for Pixels website projects that are built on WordPress. Please use the latest release, not master.

Updates

Minor updates and additions will added to the current major release as long as they don't break backwards compatibility, in accordance with semantic versioning.

Every 6 months a full check of the theme will be done, to update to new versions of dependencies etc.

Issues, improvements and these instructions.

Please read the documentation below before using. If things are not clear or you find a mistake, or simply a way to improve the theme, please submit an issue or pull request.

Tools and Technologies

This theme uses the following:

  • Sass for stylesheets
  • ES6 for Javascript
  • Composer for PSR-4 autoloading and PHP dependencies
  • Webpack for compiling assets
  • Browsersync for synchronised browser testing
  • Timber as a templating engine

Requirements

To install this theme the server instance must have the following setup:

To develop this theme you must also have the following:

Theme Installation

Hopefully in a future update this will be automated in some way

  1. Download this repository as a ZIP (don't clone!).
  2. Drop it into the theme folder of your WordPress installation and rename the folder to <client or project name>-theme.
  3. Open the theme in your favourite text editor.
  4. Search pixels-text-domainand replace with <client or project>-theme through the entire theme directory. This should be the same as the theme folder name name from step 2.
  5. Update Theme Name and Description in style.css. Note don't call the theme ' theme', call it simply the name of the client or project.

Theme Development

To start developing do the following:

  1. Update assets/config.js settings:
  • devUrl should be your development URL.
  1. In Terminal run yarn in the theme directory to install dependencies.

It may be possible in the future to have a local config that allows you to have different devUrl if needed

Build Commands

  • yarn start -- Compile assets when file changes are made, start Browsersync session
  • yarn build -- Compile and optimize the files in your assets directory

Lint Commands

Lint commands check that code is structured and written nicely. If the commands above return lint errors, run one of the following (based on the error) to get a more detailed explanation.

  • yarn lint -- Checks JS and SCSS for errors, formatting and other issues.
  • yarn lint:scripts -- Checks JS only for errors, formatting and other issues.
  • yarn lint:styles -- Checks SCSS for errors, formatting and other issues.
  • composer test -- Checks PHP for errors, formatting and other issues.

Theme Structure

The theme structure is kept simple, sticking to a relatively familiar WordPress structure for the most part. However we try and follow a React Redux-style for components and views, so everything is kept in one package as much as possible.

pixels-starter-theme/                # -> Theme root folder
|-- assets/                          # -> Front-end assets
  |-- build/                         # -> Webpack and Lint config
  |-- fonts/                         # -> Theme fonts
  |-- images/                        # -> Theme images
  |-- scripts/                       # -> Theme JS
  |-- styles/                        # -> Theme general styles
  |-- config.js                      # -> Settings for compiled assets
|-- controllers/                     # -> WordPress template files, where data is setup.
  |-- index.php                      # -> The minimum required file.
|-- dist/                            # -> Compiled assets (never edit). Always reference assets from here (never assets/)
|-- languages/                       # -> Language files for the theme.
|-- lib/                             # -> Theme PHP
  |-- Admin/                         # -> Theme methods for WP-Admin
  |-- Controllers/                   # -> Twig Controller classes
  |-- Templates/                     # -> Templating related classes
  |-- Twig/                          # -> Classes related to Twig and Timber
  |-- Utils/.                        # -> General purpose theme classes
  |-- Assets.php                     # -> Handle theme assets
  |-- Config.php                     # -> Set up theme  
  |-- Hooks.php                      # -> Theme actions & filters (general purpose)
  |-- Images.php                     # -> Theme image size & method handling
  |-- Navigations.php                # -> Theme menus registration & custom logic
  |-- Share.php                      # -> Social share class
  |-- Widgets.php                    # -> Register and handle theme widgets & areas
|-- node_modules/                    # -> Node modules used for theme development (never edit)
|-- views/                           # -> Views used in the theme. All twig files live here.
  |-- layouts/                       # -> Layouts used in the theme
    |-- layout/                      # -> Type of layout
      |-- layout.scss                # -> SCSS file for a layout (if required)
      |-- layout.twig                # -> Twig template file for a layout (required)
  |-- components/                    # -> Components used in the theme
    |-- component/                   # -> Type of component
      |-- component.scss             # -> SCSS file for a component (if required)
        |-- component.twig           # -> Twig template file for a component (required)
        |-- component-variation.twig # -> Twig template file for a component variation. May extend the base component or be completely independent.
|-- vendor                           # -> Composer dependencies (never edit)

assets/

assets/ is where all global SCSS, JS, images and font files should live. From here files are compiled to the dist/ directory.

Any references to assets (in particular font files and images) should be made via the dist/ directory, not the assets/ directory.

components/ and views/

views/components/ are where all reusable components live and views/layouts/ where layouts live. Each broad component and view has its own directory, in which there is at least a twig template file, and optionally a SCSS file.

PHP files

PHP files are object oriented, namespaced and use Composer autoloading.

Twig files

Twig files should start with a DocBlock explaining what the component is, any link references (e.g. Bootstrap documentation), version and variables available (to be used when calling with {% include 'file/file.twig' with { variable: value } %})

An additional block should be added with default values for when the file is auto-included in the Pattern Library.

See input/input.twig or single/single.twig for an example.

SCSS files

SCSS files should start with a CSS comment block with a simple heading.

SCSS files must be included explicitly in assets/styles/main.scss.

This theme uses a linter that will force certain styling of SCSS and JS. This is to ensure more consistent and better structured SCSS.

in the future JS files will also be put here

dist/

dist/is where the assets are compiled to. As mentioned in assets/, any reference to asset files should be made via dist/ and not assets/.

lib/

lib/ is where the PHP setup functionality related to the theme lives. To ensure a file in this directory loads, add it in the array at the end of the functions.php file.

Design System

This starter theme comes with a basic, semi-automatic design system. To see the design system, create a page using the 'Design System' template. For each component you can create a -data.json file, with an array of json objects. Each object in the top level array is different example that will be output, useful for if you need to output different configurations of the same component for viewing, or visual regression testing at a component level.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].