-
Notifications
You must be signed in to change notification settings - Fork 87
Closed
Labels
Description
Describe the Bug
The anchor names in markdown generated documentation for a module are not unique. This is a particular problem for attributes such as ensure. Each attribute with the same name is given the same anchor link name, which breaks linking.
For example, see the docs for my rustup defined type. The ensure attribute links to #ensure, but the browser (Safari, in my case) can’t distinguish between the ensure attribute for the rustup::global class and the rustup defined type.
You can also conflicting anchor names for types as well, since it just ignores characters like :.
Expected Behavior
All anchor names should be unique.
Steps to Reproduce
❯ cat >test.pp
# @summary test::ab class
# @param ensure attribute on test::ab
class test::ab ( $ensure ) {
}
# @summary test::a::b class
# @param ensure attribute on test::a::b
class test::a::b ( $ensure ) {
}
^D
❯ puppet strings generate --format markdown test.pp >/dev/null
❯ fgrep name= REFERENCE.md
### <a name="testab"></a>`test::a::b`
##### <a name="ensure"></a>`ensure`
### <a name="testab"></a>`test::ab`
##### <a name="ensure"></a>`ensure`
Environment
- Puppet 7.19.0 (installed from brew)
- pdk 2.5.0.0(installed from brew)
- macOS 12.6.0