Plugins currently declare rule descriptions with HTML files. The drawback is that HTML is highly coupled with styling :
- tempted to use SonarQube CSS
- CSS is not an API, so not forward-compatible
- mix data and rendering
- does not enforce consistency among rules -> different styles
- hard to write
Also, rule properties only support raw text.
The solution is to support markdown format (which is already supported for description extension):
This format should be available for:
- the description of a rule
- from the API to declare rules
- from the UI on custom rules or manual rules
- the description of a rule property
- same as above
On UI side, this means that description of rule properties can be long, so the Coding Rules page should handle this properly (which a collapse/expand feature for instance) to prevent having a too long rule detail panel.