{"id":20558865,"url":"https://github.com/sarahcssiqueira/base-wp-theme","last_synced_at":"2025-08-30T09:16:12.380Z","repository":{"id":175907943,"uuid":"650218575","full_name":"sarahcssiqueira/base-wp-theme","owner":"sarahcssiqueira","description":"Base WP Theme is a starter WordPress theme to use as a base to build WordPress themes from scratch.","archived":false,"fork":false,"pushed_at":"2025-03-27T22:42:48.000Z","size":445,"stargazers_count":9,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T13:55:34.070Z","etag":null,"topics":["wordpress","wordpress-boilerplate","wordpress-development","wordpress-starter-theme","wordpress-theme"],"latest_commit_sha":null,"homepage":"https://base-wp-theme.sarahjobs.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sarahcssiqueira.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.MD","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-06T15:41:48.000Z","updated_at":"2025-03-27T22:42:45.000Z","dependencies_parsed_at":"2023-07-14T01:38:26.434Z","dependency_job_id":"32d01076-5d96-4c48-9852-14e498df8543","html_url":"https://github.com/sarahcssiqueira/base-wp-theme","commit_stats":null,"previous_names":["sarahcssiqueira/base-theme","sarahcssiqueira/base-wp-theme"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/sarahcssiqueira/base-wp-theme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahcssiqueira%2Fbase-wp-theme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahcssiqueira%2Fbase-wp-theme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahcssiqueira%2Fbase-wp-theme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahcssiqueira%2Fbase-wp-theme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sarahcssiqueira","download_url":"https://codeload.github.com/sarahcssiqueira/base-wp-theme/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahcssiqueira%2Fbase-wp-theme/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268623647,"owners_count":24280142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["wordpress","wordpress-boilerplate","wordpress-development","wordpress-starter-theme","wordpress-theme"],"created_at":"2024-11-16T03:47:21.509Z","updated_at":"2025-08-03T22:34:12.363Z","avatar_url":"https://github.com/sarahcssiqueira.png","language":"PHP","funding_links":["https://www.buymeacoffee.com/sarahcssiqueira"],"categories":[],"sub_categories":[],"readme":"# Base WP Theme\r\n\r\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\r\n[![License: GPL v2](https://img.shields.io/badge/License-GPL_v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)\r\n[![ThemeTerritory](https://img.shields.io/badge/Theme%20Territory-Free-blue.svg?logo=wordpress)]()\r\n[![Deploy](https://github.com/sarahcssiqueira/base-wp-theme/actions/workflows/deployment.yml/badge.svg)](https://github.com/sarahcssiqueira/base-wp-theme/actions/workflows/deployment.yml)\r\n[![Release Version](https://img.shields.io/github/release/sarahcssiqueira/base-wp-theme.svg?color)](https://github.com/sarahcssiqueira/base-wp-theme/releases/latest)\r\n\r\n\u003e The `develop` branch tracks development and it's not a stable code. For a stable version, use the [`master`](https://github.com/sarahcssiqueira/base-wp-theme/tree/master) branch or the latest [release](https://github.com/sarahcssiqueira/base-wp-theme/releases).\r\n\r\nBase WP Theme is a **starter** WordPress theme to use as a base to build WordPress themes from scratch.\r\n\r\nContains the configuration files for handling the assets files like Javascript, CSS, and images using [Webpack](https://webpack.js.org/) and also handles [WordPress Coding Standards](https://github.com/WordPress/WordPress-Coding-Standards) through [Composer](https://getcomposer.org/). Some topics covered in the project:\r\n\r\n- [Webpack](https://webpack.js.org/) for managing, compiling, and optimizing the theme's asset files;\r\n- [ES6](https://babeljs.io/learn-es2015/);\r\n- [Eslint](https://eslint.org/);\r\n- [Babel](https://babeljs.io/);\r\n- [SASS](http://sass-lang.com/);\r\n- [Stylelint](https://stylelint.io/);\r\n- [WordPress Coding Standards](https://github.com/WordPress/WordPress-Coding-Standards);\r\n- [PHP Namespaces](http://php.net/manual/pl/language.namespaces.php);\r\n- [Autoload](https://www.php.net/manual/en/language.oop5.autoload.php);\r\n\r\n## ✔️ Table of Contents\r\n\r\n- [Introduction](#base-wp-theme)\r\n- [Requirements](#requirements)\r\n- [Usage](#usage)\r\n- [WordPress Hierarchy](#wordpress-hierarchy)\r\n- [Assets](#assets)\r\n- [Scripts](#scripts)\r\n- [Build](#build)\r\n- [Deploy](#deploy)\r\n- [Contributing and Support](#🤝-contributing-and-support)\r\n- [Changelog](#changelog-📄)\r\n- [License](#license)\r\n\r\n## Requirements\r\n\r\nBase WP Theme follows [WordPress recommended requirements](https://wordpress.org/about/requirements/). To work on this project you will need:\r\n\r\n- WordPress \u003e= 4.7\r\n- PHP \u003e= 7.4\r\n- MySQL \u003e= 5.7 or MariaDB \u003e=10.3\r\n- Nginx or Apache with mod_rewrite module\r\n- HTTPS support\r\n\r\n### ➕ Plus\r\n\r\n- [Node.js](https://nodejs.org) for webpack and other dependencies;\r\n- [Composer](https://getcomposer.org) for Coding standards;\r\n\r\nFor WordPress local development, I **strongly recommend using Docker**. To see how to create a Docker environment, check my repository [Docker WordPress](https://github.com/sarahcssiqueira/docker-wordpress). But feel free to work with the one you prefer, like XAMPP for example.\r\n\r\n## Usage\r\n\r\nClone the repository with `git clone https://github.com/sarahcssiqueira/base-wp-theme` or download one of the latest [releases](https://github.com/sarahcssiqueira/base-wp-theme/releases). Paste in the **/wp-content/themes/** folder of your WordPress installation.\r\nOn the Base WP Theme root folder, run the following commands to install the required dependencies:\r\n\r\n`npm install \u0026\u0026 composer install`\r\n\r\nTo use WPCS, we have to tell the PHP Code Sniffer about the WordPress Coding Standards. For that run the command:\r\n\r\n`composer cstd`\r\n\r\n### Reseting the theme\r\n\r\nRemove the front-page.php and create your own, you can use the front-page-sample.php present in the root folder. Also, remove the front-page.scss partial. Remove the statement '/.front-page' of the index.scss file.\r\n\r\n## WordPress Hierarchy\r\n\r\nOn the theme's root folder are the following WordPress **.php** files, on where you should work. On each file, you can see more info about their responsibilities. For additional information, please refer to [WordPress Template Hierarchy documentation](https://developer.wordpress.org/themes/basics/template-hierarchy/).\r\n\r\n- index.php\r\n- page.php\r\n- privacy-policy.php\r\n- single.php\r\n- category.php\r\n- tag.php\r\n- author.php\r\n- archive.php\r\n- search.php\r\n- 404.php\r\n- attachment.php\r\n- front-page.php\r\n- header.php\r\n- footer.php\r\n\r\n## Assets\r\n\r\nThe assets folder keeps the javascript, css, and images. This project uses scss.\r\n\r\n## Scripts\r\n\r\nThere are scripts on package.json and in composer.json to help us with common routines.\r\n\r\n### Scripts to watch, lint, and fix assets\r\n\r\nTo watch the assets with webpack run the command `npm run dev`\r\n\r\nTo lint Javascript using eslint, run `npm run lint`\r\n\r\nTo automatically fix Javascript with eslint it's necessary to add the flag --fix, for that run `npm run lint:fix`\r\n\r\nTo lint CSS using stylelint, run `npm run lint-css`\r\n\r\nTo automatically fix CSS with stylelint it's necessary to add the flag --fix, run `npm run lint-css:fix`\r\n\r\n### Scripts to PHP Sniffer and WordPress Coding Standards\r\n\r\nTo generate a report for PHP code standards violations run the command:\r\n\r\n`composer cs`\r\n\r\nTo automatically fix the coding standards violations run the:\r\n\r\n`composer cbf`\r\n\r\nThe coding standards are defined in the .phpcs.xml file.\r\n\r\n## Build\r\n\r\nTo create an optimized version of the assets, run the command `npm run build`\r\n\r\nThe assets on the **build folder** are the ones enqueued on the **class-assets.php -\u003e functions.php**.\r\n\r\n## Deploy\r\n\r\nThe **Base WP Theme** is deployed in a [LAMP server on Digital Ocean](https://dev.to/sarahcssiqueira/setting-a-lamp-server-on-digital-ocean-ssl-55l0). The deployment is handled by GitHub Actions.\r\nUpdate or replace the [.github/worfklow/deployment.yml](https://github.com/sarahcssiqueira/base-wp-theme/blob/master/.github/workflows/deployment.yml) file according to your deployment needs.\r\n\r\nIn the **Base WP Theme**, the deployment **workflow is triggered** when a **new tag** is added to the master branch, so the **deployed version** will always correspond to the [latest release](https://github.com/sarahcssiqueira/base-wp-theme/releases/latest) version.\r\n\r\nYou can set the trigger for your workflow on push, on pull requests, on issues opened, etc. Please refer to [GitHub documentation](https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#about-workflow-triggers) for more details.\r\n\r\nFor more workflows samples go to [Reusable WordPress Workflows repository](https://github.com/sarahcssiqueira/reusable-wp-workflows).\r\n\r\n## 🤝 Contributing and Support\r\n\r\nContribute informing about [issues](https://github.com/sarahcssiqueira/base-wp-theme/issues) or even through [pull requests](https://github.com/sarahcssiqueira/base-wp-theme/pulls) for improvements.\r\n\r\n❤️ Support [buying me a coffee](https://www.buymeacoffee.com/sarahcssiqueira).\r\n\r\n## Changelog 📄\r\n\r\nAll changes to this project are documented in [CHANGELOG](https://github.com/sarahcssiqueira/base-wp-theme/blob/main/CHANGELOG.md)\r\n\r\n## License\r\n\r\nThe Base WP Theme is licensed under the [GPL v2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarahcssiqueira%2Fbase-wp-theme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarahcssiqueira%2Fbase-wp-theme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarahcssiqueira%2Fbase-wp-theme/lists"}