patternlab-php-core icon indicating copy to clipboard operation
patternlab-php-core copied to clipboard

DPL: Add Ability to Disable Default Pattern Data Rules + Add Extra Pattern Data Rules

Open sghoweri opened this issue 8 years ago • 2 comments

Original pull request from the Drupal Pattern Lab Fork which already merged in these 9 previous PRs.

This allows for for any of the default set of Pattern Lab data rules to be optionally disabled in addition to allowing for extra rules to be added as well. While not that big of a change in of itself (besides checking a couple optional config options) this opens the door wide open for the customization and continued evolution of Pattern Lab well beyond what is currently possible.

cough Installable Components cough

Should address the two main use cases described in #11.

To Disable A Default Pattern Lab Rule

For example, to disable the default Markdown documentation rule, add the following to your config.yml file:

disabledPatternRules:
    - DocumentationRule

To Add A New Custom Rule

To add a new extra rule (say, to locally add in a super-powered markdown data rule that allows Twig templates to get embedded and compiled in .md files) add the following to your config.yml config + create a new _extensions/rules folder in your PL source folder to house your new Rule files.

extraPatternRules:
    - DocumentationRule

With a new test rule file (DocumentationRule.php) added to source/_extensions/rules/DocumentationRule.php

Customize Pattern Rule Folder Location

There's also an optional config option to specify the location of your rules folder:

extraPatternRulesDir: "source_my-extensions/rules"

CC @evanmwillhite @aleksip @legostud

Side note: @christophersmith262 sorry, I totally didn't realize you had already created a feature branch for this a while back (allowing for default PL rules to be disabled) until I was tried to push my feature branch for this.

Could you take a peek at what I came up with to see if there's a way to incorporate your single array / loop approach idea with this while still allowing for rules to either be opted out of and/or opted in?

sghoweri avatar Oct 06 '17 21:10 sghoweri

@sghoweri Looks like there are a few drupal-pattern-labs in composer.json.

aleksip avatar Nov 12 '17 10:11 aleksip

@aleksip whoops - missed that. Revered those composer.json changes.

sghoweri avatar Nov 12 '17 18:11 sghoweri