Skip to content

WordPress/wporg-documentation-2022

Repository files navigation

Documentation

The codebase and development environment for WordPress.org/documentation, formerly WordPress.org/support, also called HelpHub.

Development

Prerequisites

  • Docker
  • Node/npm
  • Yarn
  • Composer

Setup

  1. Set up repo dependencies.

    yarn setup:tools
  2. Build the theme

    yarn build:theme
  3. Start the local environment.

    yarn wp-env start
  4. Run the setup script.

    yarn setup:wp
  5. (optional) There may be times when you want to make changes to the Parent theme and test them with this theme. To do that:

    1. Clone the Parent repo and follow the setup instructions in its readme.md file.
    2. Create a .wp-env.override.json file in this repo
    3. Copy the themes section from .wp-env.json and paste it into the override file. You must copy the entire section for it to work, because it won't be merged with .wp-env.json.
    4. Update the path to the Parent theme to the Parent theme folder inside the Parent repository you cloned above.
    {
    	"themes": [
    		"./source/wp-content/themes/wporg-documentation-2022",
    		"./source/wp-content/themes/wporg-support",
    		"../wporg-parent-2021/source/wp-content/themes/wporg-parent-2021"
    	]
    }
  6. Visit site at localhost:8888.

  7. Log in with username admin and password password.

Environment management

These must be run in the project's root folder, not in theme/plugin subfolders.

  • Stop the environment.

     yarn wp-env stop
  • Restart the environment.

     yarn wp-env start
  • Build the theme's CSS & JavaScript

     yarn build:theme

    or, automatically build on changes:

     yarn start:theme
  • Reset WordPress to a clean install, and reconfigure. This will nuke all local WordPress content!

     yarn wp-env clean all
     yarn setup:wp
  • SSH into docker container.

     yarn wp-env run wordpress bash
  • Run wp-cli commands. Keep the wp-cli command in quotes so that the flags are passed correctly.

     yarn wp-env run cli "post list --post_status=publish"
  • Update composer dependencies and sync any repo-tools changes.

     yarn update:tools
  • Run a lighthouse test.

     yarn lighthouse