Skip to content

feat: Allow control of Header and Footer#316

Open
thompson-tomo wants to merge 13 commits intothlorenz:masterfrom
thompson-tomo:feat/#315_controlHeaderFooter
Open

feat: Allow control of Header and Footer#316
thompson-tomo wants to merge 13 commits intothlorenz:masterfrom
thompson-tomo:feat/#315_controlHeaderFooter

Conversation

@thompson-tomo
Copy link
Contributor

@thompson-tomo thompson-tomo commented Mar 2, 2026

Closes #315

Introduce configuration options which enable the header and footer of toc to be DRY ie no un-necessary content.

In the process introduce options to specify user definable headers and footers.

Note the title padding had been consolidated into the options object which makes it easier to pass properties through and test. Only that option could be move due to not being available in a released version.

The content block generation has been decoupled from the transform module which is the cause of the test changes.

An example of what could be added to header/footer is markdownlint/prettier pragma to enable/disable checks.

@thompson-tomo thompson-tomo marked this pull request as draft March 2, 2026 09:46
@thompson-tomo thompson-tomo force-pushed the feat/#315_controlHeaderFooter branch from 910343e to 9ec94fd Compare March 3, 2026 01:07
@thompson-tomo thompson-tomo marked this pull request as ready for review March 3, 2026 01:26
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds configurable TOC header/footer generation to doctoc so users can remove the legacy “generated TOC…” wrappers and/or inject custom header/footer content, while refactoring marker/comment generation into a dedicated module.

Changes:

  • Introduces toc.header / toc.footer options (remove + custom content) and wires them through CLI parsing into transform().
  • Refactors comment/pragma generation into lib/content-generation.js and updates tests accordingly.
  • Documents the new CLI flags in README.md and adds dedicated header/footer behavior tests.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
lib/transform.js Adds options-driven marker generation and header/footer injection; refactors skip tag and marker logic to use shared generator.
lib/content-generation.js New shared helper for comment blocks, escaped start tags, and legacy pragma strings.
doctoc.js Adds new CLI flags and builds an options object passed into transform().
test/transform.js Updates legacy wrapper expectations to use the new content-generation helper; updates title padding tests to pass options.
test/transform-toc-headerFooter.js New test coverage for header/footer removal and custom header/footer content (md + mdx).
README.md Documents the new TOC header/footer flags and updates the README TOC.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow control of toc header/footer

2 participants