Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 25 commits into
base: master
Choose a base branch
from

Conversation

sghoweri
Copy link
Contributor

@sghoweri sghoweri commented Oct 6, 2017

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?

dmolsen and others added 24 commits July 28, 2016 17:12
Remove extra character from InstallerUtil so dev branch works
… comments to explain my PHP chicken scratch.

Addresses existing open issue #3 and corresponds with the 2nd half of work mentioned in drupal-pattern-lab/patternengine-php-twig#1
Updating global data to use `yml` or `yaml`
v2.8.0 RC - Merging Latest on Dev into Master
Replace possible dots in pattern names with dashes
…-lineages

Fix for Broken Lineage Functionality in PL When Using Twig templates w/ Path Namespaces (ie. Drupal 8-friendly Paths)
Don't overwrite nameClean if it has already been set
…exist when scanning the pattern source directory for patterns; adds the RecursiveIteratorIterator flag to follow symbolic links while still continuing to skip dots (. and ..).

This opens the door for some creative workarounds to the rigid way Pattern Lab expects pattern templates to be organized at the file system level + how the physical path to a pattern determines how it's organized in Pattern Lab... pattern-lab#28
Allow Pattern Lab to follow pattern symlinks when registering patterns
…sabled in addition to providing a way to load additional extra rules as well to allow for deeper customization than previously possible. Solves use cases described in #11
@aleksip
Copy link
Member

aleksip commented Nov 12, 2017

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

@sghoweri
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants