Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This closes #91
It adds 3 new public methods for allowing elements to be allowed using a regex pattern, they are:
policy.AllowElementsMatching(regexp)
policy.AllowAttrs("span").OnElementsMatching(regexp)
policy.AllowStyles("color","mystyle").OnElementsMatching(regexp)
This means all elements that match the regular expression provided, will be affected by the policy being built. This allows a common prefix for example to be used for custom elements and have them all be included in the sanitized output, along with any custom attrs or styles as we can do now on explicitly allowed elements using
AllowElements(...)
Rules
Some rules have been implemented, would be good to get feedback:
AllowElements
those rules override any regex rules, the regex rules are simply ignoredAllowElementsMatching(regexp.MustCompile('^my-element-'))
andAllowElementsMatching(regexp.MustCompile('^my-element-other'))
would not be recommended as both will get matched and we won't know reliably which rule to use.