# Extensions
This section describes the auto identifier extension
## Heading Auto Identifiers
Allows to automatically creates an identifier for a heading:
```````````````````````````````` example
# This is a heading
.
This is a heading
````````````````````````````````
Only punctuation `-`, `_` and `.` is kept, all other non letter characters are discarded.
Consecutive same character `-`, `_` or `.` are rendered into a single one
Characters `-`, `_` and `.` at the end of the string are also discarded.
```````````````````````````````` example
# This - is a &@! heading _ with . and ! -
.
This - is a &@! heading _ with . and ! -
````````````````````````````````
Formatting (emphasis) are also discarded:
```````````````````````````````` example
# This is a *heading*
.
This is a heading
````````````````````````````````
Links are also removed:
```````````````````````````````` example
# This is a [heading](/url)
.
````````````````````````````````
If multiple heading have the same text, -1, -2...-n will be postfix to the header id.
```````````````````````````````` example
# This is a heading
# This is a heading
.
This is a heading
This is a heading
````````````````````````````````
The heading Id will start on the first letter character of the heading, all previous characters will be discarded:
```````````````````````````````` example
# 1.0 This is a heading
.
1.0 This is a heading
````````````````````````````````
If the heading is all stripped by the previous rules, the id `section` will be used instead:
```````````````````````````````` example
# 1.0 & ^ % *
# 1.0 & ^ % *
.
1.0 & ^ % *
1.0 & ^ % *
````````````````````````````````
When the options "AutoLink" is setup, it is possible to link to an existing heading by using the
exact same Label text as the heading:
```````````````````````````````` example
# This is a heading
[This is a heading]
.
This is a heading
This is a heading
````````````````````````````````
Links before the heading are also working:
```````````````````````````````` example
[This is a heading]
# This is a heading
.
This is a heading
This is a heading
````````````````````````````````
The text of the link can be changed:
```````````````````````````````` example
[With a new text][This is a heading]
# This is a heading
.
With a new text
This is a heading
````````````````````````````````
An autoidentifier should not conflict with an existing link:
```````````````````````````````` example
![scenario image][scenario]
## Scenario
[scenario]: ./scenario.png
.

Scenario
````````````````````````````````