ardumont / markdown-toc

Generate a TOC in markdown file
GNU General Public License v3.0
127 stars 102 forks source link

Don't assume that a document has an h1 #15

Open Wilfred opened 8 years ago

Wilfred commented 8 years ago

Given the markdown:

## foo

### bar

markdown-toc produces:

<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->
**Table of Contents**

- [-](#-)
    - [bar](#bar)

<!-- markdown-toc end -->
ardumont commented 8 years ago

Hello, sorry for the delay.

Indeed.

ardumont commented 8 years ago

Well,

just to let you know, the problem is upstream...

The data-structure, created by the function markdown-imenu-create-index (from markdown-mode), when not "respected" is then not well-formed...

I tried something around it [1]

Not yet working... The levels are still messed up and i have no way to determine the levels correctly from this data-structure without reparsing myself the buffer.

So i guess, the only way is to try and improve [2]

Or to override imenu-create-index-function (whose value is the function markdown-imenu-create-index that I use to extract a beginning of toc) with one that is ok regarding this use case.

But, I'm nowhere near having time to yet.

[1] https://github.com/ardumont/markdown-toc/blob/improve-strange-markdown-dealing/markdown-toc.el#L92

[2] https://github.com/jrblevin/markdown-mode/blob/master/markdown-mode.el#L4014

Cheers,

wesnel commented 1 year ago

hi, is this still an issue? i cannot recreate this issue on my end:

## foo

### bar

<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc -->
**Table of Contents**

- [foo](#foo)
    - [bar](#bar)

<!-- markdown-toc end -->

i think the upstream issue may have been fixed. i am using markdown-mode version 2.6-alpha and markdown-toc version 0.1.5.

maybe the fix was in jrblevin/markdown-mode#574? i'm not sure.