Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doxygen custom pages not linked correctly. #58

Closed
crud89 opened this issue Aug 29, 2018 · 6 comments
Closed

Doxygen custom pages not linked correctly. #58

crud89 opened this issue Aug 29, 2018 · 6 comments

Comments

@crud89
Copy link

crud89 commented Aug 29, 2018

Hey there! :)
I am using your framework with doxygen 1.8.13 and got everything working well so far, except for the Pages page. I want to include custom page files, generated from markdown text. Basically I want to organize my tutorials that way. So say I have a file ./docs/tutorials/helloworld.md. I then include the file by adding it to the INPUT list:

INPUT = ../ \
        tutorials/helloworld.md

Doxygen links the resulting md_tutorials__helloworld.html file correctly, however when I run it through dox2html.py, the created link is invalid, since it points to md_tutorials_helloworld.html. Note that there is one underscore missing. The debug output does not give much meaningful information either, since it just tells me that it does not find a brief or detailed description. However, the correct file is created, just the link within the Pages page is invalid.

Any ideas?

@nephatrine
Copy link

nephatrine commented Sep 10, 2018

I'm having a similar issue. I have a LICENSE.md that Doxygen is putting into its own page. The XML generated is:

<compound refid="md__l_i_c_e_n_s_e" kind="page"><name>md_LICENSE</name></compound>

In the HTML that m.css creates for that, it generates a file md__l_i_c_e_n_s_e.html. I can get to it without issues from the search bar, but the hyperlink in the Pages view links to md_license.html which doesn't exist and returns an error. For some reason the Pages page is eating the underscores?

@mosra
Copy link
Owner

mosra commented Sep 11, 2018

Hi all, sorry for the late reply, I am extremely busy right now...

I think both of these issues are related to the CASE_SENSE_NAMES option in the Doxyfile. It defaults to NO on Windows and causes the extra underscores to be added ... in some cases, but not all, which means I get a very inconsistent and sometimes irrepairable data in the XML files :/

Can you try setting this option to YES to see if it fixes anything?

@mosra mosra added this to TODO in Doxygen theme via automation Sep 11, 2018
@nephatrine
Copy link

@mosra I can confirm that setting CASE_SENSE_NAMES to YES corrected the issue for me, though that doesn't seem like an ideal solution.

Looking at dox2html5 though, I noticed this:

# Compound URL is ID, except for index page
compound.url = (compounddef.find('compoundname').text if compound.kind == 'page' else compound.id) + '.html'

I'm not much of a python guy so the order of that if statement is a bit confusing to me, but it looks like it's using the compoundname instead of compound.id for all pages. In at least my case though, that's what is causing the mismatch. If I change that line of code to always use compound.id, then the generated HTML is correct and the Pages links all work as does the index page and nothing seems to break, but this is just a small test project so idk.

@mosra
Copy link
Owner

mosra commented Sep 13, 2018

Uh, sorry, I forgot that I already implemented some support for CASE_SENSE_NAMES = NO as a fix for #42. Turns out I missed one thing, thank you @nephatrine for pointing it out. Should be fixed in 03b69fd.

@Aschratt I was not able to reproduce the problem you're having with the exact casing you mentioned, but trying out tutorials/Helloworld.md (uppercase H) together with CASE_SENSE_NAMES = NO resulted in the same double underscore you're having. I think this is the same case and so the above commit should fix that too.

Closing as resolved, please complain if something is still wrong ;)

@mosra mosra closed this as completed Sep 13, 2018
Doxygen theme automation moved this from TODO to Done Sep 13, 2018
@crud89
Copy link
Author

crud89 commented Sep 14, 2018

Hi! I tried again with your changes and can confim, that it now works with CASE_SENSE_NAMES = NO. Thank you! 👍

@mosra
Copy link
Owner

mosra commented Sep 14, 2018

Awesome, thanks for the confirmation! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Doxygen theme
  
Done
Development

No branches or pull requests

3 participants