github-markdown-toc icon indicating copy to clipboard operation
github-markdown-toc copied to clipboard

[Feature] `--no-code-tag-removal` flag allowing to make removal of backticks in TOC entries optional

Open jofas opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe.

CI in one of my projects started failing, because the generated TOC entries did not contain backticks. I.e. a headline:

# `Headline`

becomes a TOC entry

* [Headline](#headline)

Note the missing backticks ` in the generated TOC entry. My linter didn't like that and started failing CI.

Describe the solution you'd like

I'd like to have the option to generate a TOC entry:

* [`Headline`](#headline)

with the backticks present.

For this I propose a new CLI flag --no-code-tag-removal that when present disables the current logic removing the generated <code> and </code> tags and instead replaces them with a backtick again.

Describe alternatives you've considered

  1. Reverting parts of 1056956, namely this line:

    https://github.com/ekalinin/github-markdown-toc/blob/0ccf70d0f49b61895f64bca86793ff8cdb88ad51/gh-md-toc#L280

    While I believe this was a rather arbitrary change of logic in response to #13, it would still be a breaking change just to revert it. There might be users that want backticks to be removed from the TOC.

  2. Adding a flag --remove-code-tags.

    While I find --remove-code-tags to be a better name than --no-code-tag-removal, it would reverse the logic of code tag removal and become a breaking change again, just like the first considered alternative. I.e. now the default is that backticks are removed. The proposed --no-code-tag-removal flag would change that, add backticks to the generated TOC entries again. --remove-code-tags would be the opposite, make code tags in the output the default (breaking change), allowing the user to opt out of this.

jofas avatar Aug 04 '24 15:08 jofas