docsify-darklight-theme icon indicating copy to clipboard operation
docsify-darklight-theme copied to clipboard

Duplicate header with `autoHeader` and `loadSidebar` set to true

Open nicolas-goudry opened this issue 3 years ago • 1 comments

I found that there’s an odd bug with docsify-darklight-theme plugin, whether it’s used with or without docsify-themeable.

If you setup a raw docsify project:

npx docsify init ./test-docs

And edit docsify’s options in index.html:

window.$docsify = {
  loadSidebar: true,
  autoHeader: true
}

Then create the following _sidebar.md:

- [Title 1](/autotitle.md)
- [Title 2](/customtitle.md)

With the following pages:

autotitle.md

This page has an auto-generated title.

customtitle.md

# My custom title

This page has a custom title.

When loaded, the autotitle.md will have an auto-generated title matching its link text from _sidebar.md.

auto-title-default

When loaded, the customtitle.md will keep its custom title.

custom-title-default


However, after docsify-darklight-theme setup, the customtitle.md will have two main titles:

  • the one from the sidebar
  • the one from its content

custom-title-darklight

I find this behavior very strange and can’t understand where it’s coming from… I heavily rely on the default behavior in order to have short links in my sidebar with more detailed page titles.

For now, I will disable the autoHeader feature and manually provide page titles, but I’d really like to use the default behavior with docsify-darklight-theme… If you could look into this, it would be greatly appreciated!

Thanks :slightly_smiling_face:

nicolas-goudry avatar Dec 03 '21 23:12 nicolas-goudry

I found what’s triggering this behaviour.

On docsify’s afterEach hook, the div holding theme switch button is added before page content. This prevents docsify to detect that a custom page title has been set.

To solve this issue, the div needs to be added after page content. This doesn’t change the theme switch button position on page, given its absolute positioning.

nicolas-goudry avatar Dec 04 '21 22:12 nicolas-goudry