jdsteinbach / eleventy-plugin-toc

11ty plugin to generate a TOC from page content
62 stars 19 forks source link

ToC is generated out of order #22

Open alex-okrushko opened 3 years ago

alex-okrushko commented 3 years ago

Say, I have the following HTML:

<h1>Style Guide</h1>
  <h2 id="a">a</h2>
    <h3 id="aa">aa</h3>
    <p>aa foo bar</p>
       <h4 id="aaa">aaa</h4>
       <p>blah blah</p>
  <h2 id="b">b</h2>
  <p>bbb</p>
  <h2 id="c">c</h2>
    <h3 id="cc">cc</h3>
    <p>cc cc cc</p>

The generated ToC puts cc h3 into the first a group, instead of putting it under c group:

Screen Shot 2021-01-17 at 10 51 49 AM

alex-okrushko commented 3 years ago

Looks like @JordanShurmer fixed it in https://github.com/JordanShurmer/eleventy-plugin-toc and released the plugin under eleventy-plugin-nesting-toc.

Maybe let's merge the fixes and keep one ToC plugin?

Thank you

JordanShurmer commented 3 years ago

I ended up basically rewriting the whole thing, so mine isn't really much of a fork of this anymore. Plus things have changed quite a bit since my initial fork. So.. I'm not sure merging my fork would be feasible nor desirable .

Probably far better to submit a new PR against this project adding the proper nesting logic.

alex-okrushko commented 3 years ago

@JordanShurmer I ended up using your eleventy-plugin-nesting-toc: https://github.com/ts-dev-inc/ts.dev

I noticed that it was a rewrite, and I like how you structured it.

@netmikey I'd suggest to use eleventy-plugin-nesting-toc as well.

netmikey commented 3 years ago

@JordanShurmer Would you mind enabling Github issues on your fork? Cause #21 exists on your rewrite too ;-)

JordanShurmer commented 3 years ago

@netmikey Yes

https://github.com/JordanShurmer/eleventy-plugin-nesting-toc/issues/4

jdsteinbach commented 3 years ago

@alex-okrushko Can you provide a reduced test case, including Eleventy version, templating language, plugin version, etc?

I just test with your sample markup in a clean Eleventy install and the TOC was rendered with the headings in the correct order.

Thanks!