jessevdk / cldoc

clang based documentation generator for C and C++
GNU General Public License v2.0
553 stars 59 forks source link

XML File names are incompatible with the Windows filesystem #91

Closed Honeybunch closed 9 years ago

Honeybunch commented 9 years ago

I used clang and cldoc on Debian 8 testing to generate some awesome documentation and pushed it back up to my repo. I then pulled down onto my Windows machine to do some builds and found that some of the XML files wouldn't be created. I looked at the files and realized that because the file names are created with colons (Namespace::Class.xml) they're not able to be created in Windows because Windows is too lame to accept certain characters in the file names. I just tested it and I can't just replace the colons in the file names with a different character. Is there any chance that you could either fix this or that I could submit a patch that changes the naming scheme to be more windows friendly?

jessevdk commented 9 years ago

Sure, maybe a dot would be a good replacement.

Honeybunch commented 9 years ago

I tried doing some fancy find-replace on the files, replacing all instances of "::" with different character combinations. The python script output the files in the right format and even the contents of the xml files but the javascript for the page won't load anything. I can't find any other code related to file name parsing that I haven't changed. Is there anything in any of the web code (index.html, cldoc.js) that I may have missed regarding that?

refi64 commented 9 years ago

@Honeybunch Well, if you're experiencing what seriously just happened to me, you need to run cldoc serve and open localhost:8000 in your web browser. Because of security reasons, the average web browser, won't open the files as is. They need to be on a web server.

Honeybunch commented 9 years ago

@kirbyfan64 I don't think so. I'm not generating anything static and if I generate with the stock cldoc installation from pip it works just fine. I will give it a shot though.

Honeybunch commented 9 years ago

@kirbyfan64 yep serving the files on a webserver doesn't help.

jessevdk commented 9 years ago

Works for me on OS X if I replace the :: separator with .. Ideally we should just write xml files with ., but still keep the :: identifiers as it matches more how C++ separates name spaces.