# MD044 - Proper Names
## Description
This rule ensures that proper names are consistently capitalized throughout a document. This helps maintain
consistency and professionalism in technical documentation.
The rule can be configured with a list of proper names and their correct capitalization.
## Examples
### Valid
With configuration `names: ["JavaScript", "Node.js", "GitHub"]`:
```markdown
# JavaScript Development Guide
This guide covers JavaScript and Node.js development practices for GitHub projects.
```
### Invalid
With the same configuration:
```markdown
# Javascript Development Guide
This guide covers javascript and nodejs development practices for github projects.
```
### Fixed
```markdown
# JavaScript Development Guide
This guide covers JavaScript and Node.js development practices for GitHub projects.
```
## Configuration
This rule has the following configuration options:
- `names`: An array of strings representing proper names with their correct capitalization. Default is an empty array.
- `code_blocks`: Whether to check code blocks for proper names. Default is `true`.
- `html_elements`: Whether to check HTML elements for proper names. Default is `true`.
Example configuration:
```json
{
"MD044": {
"names": ["JavaScript", "Node.js", "GitHub"],
"code_blocks": false,
"html_elements": true
}
}
```
## Special Cases
- This rule only applies when the `names` array is not empty
- The rule performs case-sensitive matching
- When `code_blocks` is `false`, proper names in code blocks are not checked
- When `html_elements` is `false`, proper names in HTML elements are not checked
- The rule does not check proper names in URLs or image paths
## Related Rules
- [MD033 - No inline HTML](md033.md): Ensures no inline HTML is used
- [MD040 - Fenced code blocks should have a language specified](md040.md): Ensures code blocks specify a language
- [MD049 - Emphasis style](md049.md): Ensures consistent style for emphasis markers