Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 0 additions & 72 deletions .github/workflows/badges.yml

This file was deleted.

20 changes: 0 additions & 20 deletions .github/workflows/run-tests.yml

This file was deleted.

106 changes: 71 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,17 @@
# Yard :package_name
# Yard Brave Child

[![Code Style](https://github.com/yardinternet/skeleton-package/actions/workflows/format-php.yml/badge.svg?no-cache)](https://github.com/yardinternet/skeleton-package/actions/workflows/format-php.yml)
[![PHPStan](https://github.com/yardinternet/skeleton-package/actions/workflows/phpstan.yml/badge.svg?no-cache)](https://github.com/yardinternet/skeleton-package/actions/workflows/phpstan.yml)
[![Tests](https://github.com/yardinternet/skeleton-package/actions/workflows/run-tests.yml/badge.svg?no-cache)](https://github.com/yardinternet/skeleton-package/actions/workflows/run-tests.yml)
[![Code Coverage Badge](https://github.com/yardinternet/skeleton-package/blob/badges/coverage.svg)](https://github.com/yardinternet/skeleton-package/actions/workflows/badges.yml)
[![Lines of Code Badge](https://github.com/yardinternet/skeleton-package/blob/badges/lines-of-code.svg)](https://github.com/yardinternet/skeleton-package/actions/workflows/badges.yml)
<!-- [![Tests](https://github.com/yardinternet/skeleton-package/actions/workflows/run-tests.yml/badge.svg?no-cache)](https://github.com/yardinternet/skeleton-package/actions/workflows/run-tests.yml) -->
<!-- [![Code Coverage Badge](https://github.com/yardinternet/skeleton-package/blob/badges/coverage.svg)](https://github.com/yardinternet/skeleton-package/actions/workflows/badges.yml) -->

<!--delete-->
---
This repository provides a scaffold for creating an Acorn package. For more detailed information, please refer to the [Acorn Package Development](https://roots.io/acorn/docs/package-development/) documentation.
Classes to use Acorn with child themes:

Follow these steps to get started:

1. Press the "Use this template" button at the top of this repo to create a new repo with the contents of this skeleton.
2. Run "php ./configure.php" to run a script that will replace all placeholders throughout all the files.
3. Have fun creating your package.

---
<!--/delete-->
- WP like inheritance for config files; child config will override parent config
- No directory scans, everything is config based

## Requirements

- [Sage](https://github.com/roots/sage) >= 10.0
- [Acorn](https://github.com/roots/acorn) >= 4.0

## Installation
Expand All @@ -33,38 +23,84 @@ To install this package using Composer, follow these steps:
```json
{
"type": "vcs",
"url": "git@github.com:yardinternet/skeleton-package.git"
"url": "git@github.com:yardinternet/brave-child.git"
}
```

2. Install this package with Composer:

```sh
composer require yard/skeleton-package
composer require yard/brave-child
```

3. Run the Acorn WP-CLI command to discover this package:

```shell
wp acorn package:discover
## Configuration

1. Create a child theme with sage as the parent theme
[How To Create A Child Theme | Wordpress.org](https://developer.wordpress.org/themes/advanced-topics/child-themes/#how-to-create-a-child-theme) Example `style.css`:

```css
/**
* Theme Name: Sage Child Theme
* Template: sage
* Theme URI: https://www.example.com/sage-child/
* Description: Sage child theme
* Version: 1.0.0
* Author: Example Inc.
* Author URI: http://www.example.com/
* Text Domain: sage
* License: MIT License
* License URI: https://opensource.org/licenses/MIT
* Requires PHP: 8.1
* Requires at least: 5.9
*/
```

You can publish the config file with:
2. Add PSR-4 autoloading for your child theme to your composer.json:

```shell
wp acorn vendor:publish --provider="Yard\SkeletonPackage\SkeletonPackageServiceProvider"
```
```diff
"autoload": {
"psr-4": {
"App\\": "web/app/themes/sage/app/",
+ "Child\\App\\": "web/app/themes/child-theme/app/",
}
},
```

## Usage
3. Add the following line to your config:

From a Blade template:
```php
Config::define('ACORN_BASEPATH', Config::get('WP_CONTENT_DIR') . '/themes/sage');
```

```blade
@include('skeleton-package::example')
```
4. In `sage/config/app.php` change:

From WP-CLI:
```diff
-use Roots\Acorn\ServiceProvider;
+use Yard\BraveChild\ServiceProvider;
```

```shell
wp acorn example
```
5. In `sage/functions.php` change:

```diff
-\Roots\Bootloader()->boot();
+$bootloader = \Roots\bootloader();
+$bootloader->getApplication()->bind(
+ \Roots\Acorn\Bootstrap\LoadConfiguration::class,
+ \Yard\BraveChild\Bootstrap\LoadConfiguration::class
+);
+$bootloader->boot();
```

6. Add view composers to `config/view.php`

> [!IMPORTANT]
> After this change, View Composers in the app/View/Composers directory will no longer be loaded automatically. To ensure they are registered, you have to configure them manually.

```diff
- 'composers' => [],
+ 'composers => [
+ 'app' => App\View\Composers\App::class,
+ 'comments' => App\View\Composers\Comments::class,
+ 'post' => App\View\Composers\Post::class,
+ ],
```
10 changes: 5 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "yard/skeleton-package",
"name": "yard/brave-child",
"type": "package",
"description": ":package_description",
"description": "Package to enable Acorn in child themes",
"license": "MIT",
"config": {
"sort-packages": true,
Expand All @@ -14,7 +14,7 @@
},
"require": {
"php": ">=8.1",
"spatie/laravel-package-tools": "^1.16"
"roots/acorn": "^4.3"
},
"require-dev": {
"10up/wp_mock": "^0.4.2",
Expand All @@ -26,12 +26,12 @@
},
"autoload": {
"psr-4": {
"Yard\\SkeletonPackage\\": "src/"
"Yard\\BraveChild\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Yard\\SkeletonPackage\\Tests\\": "tests/"
"Yard\\BraveChild\\Tests\\": "tests/"
}
},
"scripts": {
Expand Down
Loading