Giter Club home page Giter Club logo

doxypress's People

Contributors

agserm avatar bgeller avatar brycelelbach avatar planetmarshall avatar sp3eder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

doxypress's Issues

Compilation database

I'm playing around with DoxyPress and so far it seems very interesting. Nice work! I immediately have an issue I wanted to talk about. The clang parsing functionality is very interesting and I believe this is The Future™, so I'd like to use this.

Currently I need to pass compilation flags manually, and it seems this gets applied to all input files. Also, I get errors like an "undefined std::uint64_t", which seems to suggest it cannot find the standard library headers.

This might not be the best way to handle flags. There's already functionality to handle things like this with clang::tooling::CompilationDatabase.

Also, how exactly do you parse headers? The GUI seems to be attempting to parse implementation files, not header files. I'm guessing you're extracting the declarations from the translation unit resulting from parsing a .cpp file?

Build fails with fatal error: clang-c/Index.h on Ubuntu 20.04

Followed the build instructions on: https://www.copperspice.com/docs/doxypress/build-doxypress.html
I have a native version of libClang 10.0.1 installed also tried width the prebuilt clang binaries
OS: Ubuntu 20.04.5 LTS
cmake version 3.16.3
Ninja not used

kill@cyclops:/opt/work/doxypress$ mkdir build
kill@cyclops:/opt/work/doxypress$ cd build
kill@cyclops:/opt/work/doxypress/build$ cmake ..
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for fork
-- Looking for fork - found
-- Looking for getpid
-- Looking for getpid - found
-- Looking for windows.h
-- Looking for windows.h - not found

DoxyPress configured to run on:  Linux 64 bit,  Mode
DoxyPress will be built in:      /opt/work/doxypress/build
DoxyPress will be installed in:  /usr/local


-- Configuring done
-- Generating done
-- Build files have been written to: /opt/work/doxypress/build
kill@cyclops:/opt/work/doxypress/build$ make
[  1%] Generating qrc_doxypress.cpp
Scanning dependencies of target DoxyPress
[  2%] Building CXX object src/CMakeFiles/DoxyPress.dir/doxy_work.cpp.o
In file included from /opt/work/doxypress/src/doxy_work.cpp:53:
/opt/work/doxypress/src/parse_clang.h:24:10: fatal error: clang-c/Index.h: No such file or directory
   24 | #include <clang-c/Index.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/DoxyPress.dir/build.make:235: src/CMakeFiles/DoxyPress.dir/doxy_work.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:94: src/CMakeFiles/DoxyPress.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

Had a quick look at the CMakeLists.txt and it seems to hard code the CLANG_PATH and CLANG_INC variables to ../clang_lib tried to change that to the actual directory for clang on ubuntu: /usr/lib/llvm-10/ but to no avail

I guess cmake should ideally use llvm-config to find the lib and include dirs..

Brief descriptions are duplicated when using clang parser

Using

  • Ubuntu 18.04 LTS
  • doxypress 1.3.8 binary release
  • Clang-9

Steps to reproduce

git clone https://github.com/planetmarshall/doxypress_test
cd doxypress_test
mkdir build
cmake -B build
doxypress doxypress.json

Expected results

Generates the following html in doc/html/namespacelib.html

<p>Create an empty array. </p>
<p>Create an empty array and return it </p>

Actual results

The following HTML is generated, with a duplicated brief description

<p>Create an empty array. </p>
<p>Create an empty array</p>
<p>Create an empty array and return it </p>

Workaround

Set "clang-parsing": false in doxypress.json

Provide a way do hide implementation details in header only libraries.

Header-only libraries often put implementation details into a special namespace (Boost libraries often use detail).

Implementation details should not be displayed in documentation. When a function returns a type that is an implementation detail, it should be displayed as unspecified.

Examples:
http://www.boost.org/doc/libs/release/doc/html/boost/algorithm/is_alnum.html
http://www.boost.org/doc/libs/release/libs/core/doc/html/core/lightweight_test.html

Generating graphs with dot does not handle long paths well

Hi all!

I've attahced a zip, inside two folders and two Doxy JSONS. If you put the two folders to the C:\ root directory and run the doxy_sample7.json then everything will be everything fine.

But if you run doxy_sample8.jsoon you will get the following error message:
Error: Unable to run 'C:/Program Files (x86)/Graphviz2.38/bin/dot.exe', exit code = 2
Arguments = '"./inline_dotgraph_1.dot" -Tsvg -o "C:/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx12345678/doc/dot_inline_dotgraph_1.svg"'

The two JSONs and the two directories differs only in directory name (...8 is 1 character longer).
If you run the dot.exe with the full path it will generate the files correctly, so I think the bug is in the doxypress.
doxy_sample.zip

genteert.dll missing after uninstall

I am updating a web post that I wrote on integrating DoxyPress with Visual Studio. Since I originally wrote that post, I have reinstalled Windows 10. All Windows updates that are available as of this morning are installed.

I downloaded the DoxyPress Windows x64 installer and ran it. DoxyPress installed properly. In order to capture screenshots of the installation process, I uninstalled DoxyPress, then ran the installer again. Now when the installer starts, it displays two message boxes. The first contains:

...\AppData\Local\Temp\genteert.dll is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support. Error status 0xc0000020

and the second contains:

Cannot load ...\AppData\Local\Temp\genteert.dll

I have downloaded the installer again and run it. Same result. I tried the 32-bit installer. Again, same result.

Searching the error status from the first message box, I am led to a Microsoft page on fixing Windows Update errors. Following the instructions on that page does not solve the problem. I guess that would be logical since genteert.dll is user specific and not a Windows DLL.

It appears that the DoxyPress uninstaller uninstalls genteert.dll.

Are East Asian languages supported as input file encodings?

I have specified Shift-JIS for the input file language in the project file. (just like doxygen).

"input-encoding": "Shift-JIS",

When I run doxypress, I get corrupted documents and the following error

Error: Unsupported character encoding: 'Shift-JIS'

Question - rust support?

I've noticed Doxypress can use Clang
so I was wondering would it be possible to add support for reading rust source?

[HTML output] [v1.3.8] Problems with copying files to destination folder

Hi, I try to use some images in my documentation, however doxypress reports problems when copying them to destination folder.

Project's archive: doxtest.zip

The project's structure looks like this:

doxtest/
    docs/
        intro.dox
    images/
        image1.png
        image2.png
        image3.png
        image4.png
        image5.png
    doxypress.json

docs/intro.dox file contents:

/** @mainpage Introduction
@image html image1.png
@image html image2.png
@image html image3.png
@image html image4.png
@image html image5.png
*/ 

When doxypress parses the intro.dox file it prints following errors:

Generating main page
QFSFileEngine::open() No file name specified
QFSFileEngine::open() No file name specified
QFSFileEngine::open() No file name specified
QFSFileEngine::open() No file name specified
/home/projects/doxtest/docs/intro.dox:5: Warning: Unable to open image file for writing html/image3.png, error: 14

QFSFileEngine::open() No file name specified
QFSFileEngine::open() No file name specified
/home/projects/doxtest/docs/intro.dox:6: Warning: Unable to open image file for writing html/image4.png, error: 14

QFSFileEngine::open() No file name specified

And this is the project file:

{
    "clang": {
        "clang-compilation-path": "",
        "clang-dialect": "-std=c++14",
        "clang-flags": [
            ""
        ],
        "clang-parsing": false,
        "clang-use-headers": true
    },
    "configuration": {
        "allow-sub-grouping": true,
        "allow-unicode-names": false,
        "always-detailed-sec": false,
        "auto-link": true,
        "brief-member-desc": true,
        "built-in-stl-support": false,
        "case-sensitive-fname": true,
        "cpp-cli-support": false,
        "create-subdirs": false,
        "duplicate-docs": false,
        "enabled-sections": [
            ""
        ],
        "extract-all": false,
        "extract-anon-namespaces": false,
        "extract-local-classes": true,
        "extract-local-methods": false,
        "extract-package": false,
        "extract-private": false,
        "extract-static": false,
        "file-version-filter": "",
        "force-local-includes": false,
        "full-path-names": true,
        "generate-bug-list": true,
        "generate-deprecate-list": true,
        "generate-test-list": true,
        "generate-todo-list": true,
        "group-nested-compounds": false,
        "hide-compound-ref": false,
        "hide-friend-compounds": false,
        "hide-in-body-docs": false,
        "hide-navtree-members": false,
        "hide-scope-names": false,
        "hide-undoc-classes": false,
        "hide-undoc-members": false,
        "idl-support": true,
        "inherit-docs": true,
        "inline-grouped-classes": false,
        "inline-info": true,
        "inline-inherited-member": false,
        "inline-simple-struct": false,
        "internal-docs": false,
        "javadoc-auto-brief": false,
        "language-mapping": [
            ""
        ],
        "layout-file": "",
        "main-page-name": "",
        "main-page-omit": false,
        "markdown": true,
        "max-init-lines": 30,
        "multiline-cpp-brief": false,
        "ns-alias": [
            ""
        ],
        "qt-auto-brief": false,
        "repeat-brief": true,
        "separate-member-pages": false,
        "short-names": false,
        "show-file-page": true,
        "show-grouped-members-inc": false,
        "show-include-files": true,
        "show-namespace-page": true,
        "show-used-files": true,
        "sip-support": false,
        "sort-brief-docs": false,
        "sort-by-scope-name": false,
        "sort-class-case-sensitive": false,
        "sort-constructors-first": false,
        "sort-group-names": false,
        "sort-member-docs": true,
        "strict-sig-matching": false,
        "tcl-subst": [
            ""
        ],
        "toc-include-headers": 0,
        "use-typedef-name": false
    },
    "dot": {
        "class-diagrams": true,
        "dia-file-dirs": [
            ""
        ],
        "dia-path": "",
        "directory-graph": true,
        "dot-call": false,
        "dot-called-by": false,
        "dot-class-graph": true,
        "dot-cleanup": true,
        "dot-collaboration": true,
        "dot-file-dirs": [
            ""
        ],
        "dot-font-name": "Helvetica",
        "dot-font-path": "",
        "dot-font-size": 10,
        "dot-graph-max-depth": 0,
        "dot-graph-max-nodes": 50,
        "dot-hierarchy": true,
        "dot-image-format": "png",
        "dot-include": true,
        "dot-included-by": true,
        "dot-multiple-targets": false,
        "dot-num-threads": 0,
        "dot-path": "",
        "dot-transparent": false,
        "generate-legend": true,
        "group-graphs": true,
        "have-dot": false,
        "hide-undoc-relations": true,
        "interactive-svg": false,
        "msc-file-dirs": [
            ""
        ],
        "mscgen-path": "",
        "plantuml-cfg-file": "",
        "plantuml-inc-path": [
            ""
        ],
        "plantuml-jar-path": "",
        "template-relations": false,
        "uml-limit-num-fields": 10,
        "uml-look": false
    },
    "doxypress-format": 1,
    "doxypress-updated": "2018-Jun-30",
    "external": {
        "all-externals": false,
        "external-groups": true,
        "external-pages": true,
        "generate-tagfile": "",
        "perl-path": "/usr/bin/perl",
        "tag-files": [
            ""
        ]
    },
    "general": {
        "abbreviate-brief": [
            "The $name class",
            "The $name widget",
            "The $name file",
            "is",
            "provides",
            "specifies",
            "contains",
            "represents",
            "a",
            "an",
            "the"
        ],
        "aliases": [
            ""
        ],
        "lookup-cache-size": 0,
        "optimize-c": false,
        "optimize-cplus": true,
        "optimize-fortran": false,
        "optimize-java": false,
        "optimize-python": false,
        "output-dir": "",
        "output-language": "English",
        "strip-from-inc-path": [
            ""
        ],
        "strip-from-path": [
            ""
        ],
        "tab-size": 4
    },
    "index": {
        "alpha-index": true,
        "cols-in-index": 5,
        "ignore-prefix": [
            ""
        ]
    },
    "input": {
        "example-patterns": [
            "*"
        ],
        "example-recursive": false,
        "example-source": [
            ""
        ],
        "exclude-files": [
            ""
        ],
        "exclude-patterns": [
            ""
        ],
        "exclude-symbols": [
            ""
        ],
        "exclude-symlinks": false,
        "filter-patterns": [
            ""
        ],
        "filter-program": "",
        "filter-source-files": false,
        "filter-source-patterns": [
            ""
        ],
        "image-path": [
            "images/"
        ],
        "input-encoding": "UTF-8",
        "input-patterns": [
            "*.as",
            "*.c",
            "*.cc",
            "*.cpp",
            "*.cxx",
            "*.c++",
            "*.cs",
            "*.d",
            "*.ddl",
            "*.dox",
            "*.for",
            "*.f",
            "*.f90",
            "*.h",
            "*.hh",
            "*.hxx",
            "*.hpp",
            "*.h++",
            "*.idl",
            "*.ii",
            "*.ixx",
            "*.ipp",
            "*.i++",
            "*.inc",
            "*.inl",
            "*.java",
            "*.js",
            "*.m",
            "*.md",
            "*.mm",
            "*.markdown",
            "*.odl",
            "*.php",
            "*.php3",
            "*.php4",
            "*.php5",
            "*.phtml",
            "*.py",
            "*.pyw",
            "*.qsf",
            "*.tcl",
            "*.ucf"
        ],
        "input-recursive": false,
        "input-source": [
            "docs/"
        ],
        "mdfile-mainpage": ""
    },
    "messages": {
        "quiet": false,
        "warn-doc-error": true,
        "warn-format": "$file:$line: $text",
        "warn-logfile": "",
        "warn-undoc": true,
        "warn-undoc-param": false,
        "warnings": true
    },
    "output-chm": {
        "binary-toc": false,
        "chm-file": "",
        "chm-index-encoding": "",
        "generate-chi": false,
        "generate-chm": false,
        "hhc-location": "",
        "toc-expanded": false
    },
    "output-docbook": {
        "docbook-output": "docbook",
        "docbook-program-listing": false,
        "generate-docbook": false
    },
    "output-docset": {
        "docset-bundle-id": "org.doxypress.Project",
        "docset-feedname": "DoxyPress generated docs",
        "docset-publisher-id": "org.doxypress.Publisher",
        "docset-publisher-name": "Publisher",
        "generate-docset": false
    },
    "output-eclipse": {
        "eclipse-doc-id": "org.doxypress.Project",
        "generate-eclipse": false
    },
    "output-html": {
        "disable-index": false,
        "enum-values-per-line": 4,
        "external-links-in-window": false,
        "formula-fontsize": 10,
        "formula-transparent": true,
        "generate-html": true,
        "generate-treeview": false,
        "ghostscript": "",
        "html-colorstyle-gamma": 80,
        "html-colorstyle-hue": 220,
        "html-colorstyle-sat": 100,
        "html-dynamic-sections": false,
        "html-extra-files": [
            ""
        ],
        "html-file-extension": ".html",
        "html-footer": "",
        "html-header": "",
        "html-index-num-entries": 100,
        "html-output": "html",
        "html-search": false,
        "html-stylesheets": [
            ""
        ],
        "html-timestamp": true,
        "mathjax-codefile": "",
        "mathjax-extensions": [
            ""
        ],
        "mathjax-format": "HTML-CSS",
        "mathjax-relpath": "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/",
        "search-data-file": "searchdata.xml",
        "search-external": false,
        "search-external-id": "",
        "search-external-url": "",
        "search-mappings": [
            ""
        ],
        "search-server-based": false,
        "treeview-width": 250,
        "use-mathjax": false
    },
    "output-latex": {
        "cite-bib-files": [
            ""
        ],
        "generate-latex": false,
        "latex-batch-mode": false,
        "latex-bib-style": "plain",
        "latex-cmd-name": "latex",
        "latex-compact": false,
        "latex-extra-files": [
            ""
        ],
        "latex-extra-packages": [
            ""
        ],
        "latex-footer": "",
        "latex-header": "",
        "latex-hide-indices": false,
        "latex-hyper-pdf": true,
        "latex-output": "latex",
        "latex-paper-type": "a4",
        "latex-pdf": true,
        "latex-ps": true,
        "latex-source-code": false,
        "latex-stylesheets": [
            ""
        ],
        "latex-timestamp": false,
        "make-index-cmd-name": "makeindex"
    },
    "output-man": {
        "generate-man": false,
        "man-extension": ".3",
        "man-links": false,
        "man-output": "man",
        "man-subdir": ""
    },
    "output-perl": {
        "generate-perl": false,
        "perl-latex": false,
        "perl-prefix": "",
        "perl-pretty": true
    },
    "output-qhelp": {
        "generate-qthelp": false,
        "qch-file": "",
        "qhp-cust-attrib": [
            ""
        ],
        "qhp-cust-filter-name": "",
        "qhp-namespace": "org.doxypress.Project",
        "qhp-sect-attrib": [
            ""
        ],
        "qhp-virtual-folder": "doc",
        "qthelp-gen-path": ""
    },
    "output-rtf": {
        "generate-rtf": false,
        "rtf-compact": false,
        "rtf-extension": "",
        "rtf-hyperlinks": false,
        "rtf-output": "rtf",
        "rtf-paper-type": "a4",
        "rtf-source-code": false,
        "rtf-stylesheet": ""
    },
    "output-xml": {
        "generate-xml": false,
        "xml-output": "xml",
        "xml-program-listing": true
    },
    "preprocessor": {
        "enable-preprocessing": true,
        "expand-as-defined": [
            ""
        ],
        "expand-only-predefined": false,
        "include-path": [
            ""
        ],
        "include-patterns": [
            ""
        ],
        "macro-expansion": false,
        "predefined-macros": [
            ""
        ],
        "search-includes": true,
        "skip-function-macros": true
    },
    "project": {
        "project-brief": "",
        "project-logo": "",
        "project-name": "My Project",
        "project-version": ""
    },
    "source": {
        "inline-source": false,
        "ref-by-relation": false,
        "ref-link-source": true,
        "ref-relation": false,
        "source-code": false,
        "source-tooltips": true,
        "strip-code-comments": true,
        "suffix-exclude-navtree": [
            "doc",
            "dox",
            "md",
            "markdown",
            "txt"
        ],
        "suffix-header-navtree": [
            "h",
            "hh",
            "hxx",
            "hpp",
            "h++",
            "idl",
            "ddl",
            "pidl"
        ],
        "suffix-source-navtree": [
            "c",
            "cc",
            "cxx",
            "cpp",
            "c++",
            "ii",
            "ixx",
            "ipp",
            "i++",
            "inl",
            "java",
            "m",
            "mm",
            "xml"
        ],
        "use-htags": false,
        "verbatim-headers": true
    }
}

No tags in git and not releases on github

There are no tags in the git repository.
(also no GitHub's releases)

On the forum, there are already announcements of multiple released versions.
At least one is already available in both source and binary forms (did not find older versions).

The lack of tags makes it look like there are no releases yet!
(and no releases results in GitHub's "Watch releases" functionality not notifiying about new versions)

Is it possible to tag the latest version (and all the future ones) ?

clang-format

Please format the code with clang-format and put the .clang-format file into the root of the repository.
This will simplify contributions.

XML Support?

How is the XML support on doxypress? I've had a migraine lasting 2+ years from Doxygen's XML output.

Backslashes incorrectly interpreted in Markdown verbatim text in HTML output

When a DoxyPress project has a Markdown main page with verbatim text (e.g. a source code listing), backslash-escaped text is incorrectly interpreted in the resulting HTML view.

For example, the markdown

~~~
cout << "A thing" << "\n";
~~~

Produces the HTML code listing

cout << "A thing" << "n";

Ergo the backslash is removed. This should not happen as this is verbatim text and should be transcribed verbatim.

Note that LaTeX output is not affected by this, and the backslash remains in the generated LaTeX.

I will update this issue with more information when I have time to test it more thoroughly.

Provide exact difference with Doxygen

I think I looked everywhere, but I can't find anything telling what exactly the difference between DoxyPress and Doxygen.
Improved this and that is not an answer.
I think it should be in the first line of README.
Thanks

Inquiry: Does DoxyPress correctly support nested ouptut in the PDF output?

Doxygen has aproblem with generating nested chapter/subchapter structure for the PDF output, making the @InGroup functionality have a very limited use for PDF output (HTML is OK).

This is a long standing issue of Doxygen: https://stackoverflow.com/questions/21037598/latex-output-generated-using-doxygen-does-not-support-nested-groups-defgroup-wi/59955116

Does DoxyPress fix this issue?

(Note: I tried generating the same document in DoxyPress as I am with Doxygen to no avail; I am still to create a minimal example test case without IP issues.)

doxypress aborts with SIGABRT processing headers from wt-4.3.0

This issue is with doxypress version 1.3.7 on linux (KDE neon which is like ubuntu). While investigating the SEGV that occurs with doxypress when it is processing the wt source code, I made it so it would only process the header files (.h and .hpp only). doxypress gave SIGABRT .This is due to an assertion failure. The stack trace is shown below:

doxypress: src/docparser.cpp:6516: int DocPara::handleCommand(const QString &): Assertion `0' failed.

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff1e9a801 in __GI_abort () at abort.c:79
#2 0x00007ffff1e8a39a in __assert_fail_base (fmt=0x7ffff20117d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x208527c "0", file=file@entry=0x19d97d1 "src/docparser.cpp", line=line@entry=6516,
function=function@entry=0x19daffb "int DocPara::handleCommand(const QString &)") at assert.c:92
#3 0x00007ffff1e8a412 in __GI___assert_fail (assertion=0x208527c "0", file=0x19d97d1 "src/docparser.cpp", line=6516, function=0x19daffb "int DocPara::handleCommand(const QString &)") at assert.c:101
#4 0x0000000000625d56 in DocPara::handleCommand(QString8 const&) ()
#5 0x000000000060addf in DocPara::parse(bool, int) ()
#6 0x000000000062f094 in DocRoot::parse() ()
#7 0x00000000006305e8 in validatingParseDoc(QString8 const&, int, QSharedPointer, QSharedPointer, QString8 const&, bool, bool, QString8 const&, bool, bool) ()
#8 0x000000000085c9d6 in OutputList::generateDoc(QString8 const&, int, QSharedPointer, QSharedPointer, QString8 const&, bool, bool, QString8 const&, bool, bool) ()
#9 0x0000000000820b04 in MemberDef::writeDocumentation(QSharedPointer, OutputList&, QString8 const&, QSharedPointer, bool, bool, bool) ()
#10 0x0000000000842b80 in MemberList::writeDocumentation(OutputList&, QString8 const&, QSharedPointer, QString8 const&, bool, bool) ()
#11 0x0000000000564c3a in ClassDef::writeMemberDocumentation(OutputList&, MemberListType, QString8 const&, bool) ()
#12 0x0000000000566706 in ClassDef::writeDocumentationContents(OutputList&, QString8 const&) ()
#13 0x0000000000566ffd in ClassDef::writeDocumentation(OutputList&) ()
#14 0x0000000000488405 in Doxy_Work::generateNamespaceDocs() ()
#15 0x0000000000481bb0 in generateOutput() ()
#16 0x00000000007e508f in main ()
(gdb)

Installer must be run as administrator

When attempting to run the installer, it tells me that it cannot install to C:\Program Files\DoxyPress without telling my why it can't install there. I know enough about installers to guess that this is an elevation problem, so I run the installer as administrator and it works properly. This shouldn't be required. I don't know where your installer source is located but for Windows you should consider using WiX to get things done properly and avoid non-standard experience like this.

doxypress core dumps with a SEGV processing the Wt open source code

I ran doxypress version 1.3.7 on wt-4.3.0 on KDE Neon (which is ubuntu-like). After some processing it exited silently and mysteriously. I then ran it under gdb where it showed it was getting a SEGV. I was able to get a stack trace:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004e5598 in CsString::CsBasicString<CsString::utf8, std::__1::allocator >::CsBasicStringQString8::const_iterator(QString8::const_iterator, QString8::const_iterator, std::__1::allocator const&) ()
(gdb) where
#0 0x00000000004e5598 in CsString::CsBasicString<CsString::utf8, std::__1::allocator >::CsBasicStringQString8::const_iterator(QString8::const_iterator, QString8::const_iterator, std::__1::allocator const&) ()
#1 0x000000000081dd9b in MemberDef::writeDocumentation(QSharedPointer, OutputList&, QString8 const&, QSharedPointer, bool, bool, bool) ()
#2 0x0000000000842b80 in MemberList::writeDocumentation(OutputList&, QString8 const&, QSharedPointer, QString8 const&, bool, bool) ()
#3 0x00000000006e59b1 in FileDef::writeMemberDocumentation(OutputList&, MemberListType, QString8 const&) ()
#4 0x00000000006e4d7f in FileDef::writeDocumentation(OutputList&) ()
#5 0x0000000000487aec in Doxy_Work::generateFileDocs() ()
#6 0x0000000000481920 in generateOutput() ()
#7 0x00000000007e508f in main ()
(gdb)

Get doxypress in standard packages for Linux distros (esp Ubuntu)

I'm interested enough in Doxypress to try it out if I can install it as a standard Ubuntu package but not enough to build it myself. I suspect there are many others like me so I think you'll get much better adoption if you can to get Doxypress in standard Linux distro packages and then publicise that fact.

Thanks.

Inconsistent encoding in HTML output

Hi
I'm creating documentation in czech and my HTML output is sometimes wrong.

  • I'm using DoxyPress 1.5.1
  • Output language is set to czech
  • Input file encoding is set to UTF-8
  • My files are in UTF-8
  • Resulting HTML is in UTF-8 but with wrong characters

It's fine here:
image
But if follow a link, encoding is obviously wrong.
image

Broken section formatting

When creating sections or subsections (either with commands or Markdown), adding span-formatting into the section contents (such as <code>...</code> or Markdown backticks), the generated formatting tags are HTML-escaped (contain &lt; and &gt; entities).

This is a regression issue, it is not being reproduced in an old version. As far as I had time to debug it, the parser seems to generate "Sym_Less" tokens within the sections. I did not find why yet.

Doxypress hangs on comments with backticks

Comments in C++ files with backticks (see below) hang the parser.

Steps to reproduce

Create an empty directory with a *.hpp or *.cpp (other file extensions not tested) file

/// `text`

Create a (default) doxypress.json file

doxypress.json
{
    "clang": {
        "clang-compilation-path": "",
        "clang-dialect": "-std=c++14",
        "clang-flags": [
            ""
        ],
        "clang-parsing": false,
        "clang-use-headers": true
    },
    "configuration": {
        "allow-sub-grouping": true,
        "allow-unicode-names": false,
        "always-detailed-sec": false,
        "auto-link": true,
        "brief-member-desc": true,
        "built-in-stl-support": false,
        "case-sensitive-fname": true,
        "cpp-cli-support": false,
        "create-subdirs": false,
        "duplicate-docs": false,
        "enabled-sections": [
            ""
        ],
        "extract-all": false,
        "extract-anon-namespaces": false,
        "extract-local-classes": true,
        "extract-local-methods": false,
        "extract-package": false,
        "extract-private": false,
        "extract-static": false,
        "file-version-filter": "",
        "force-local-includes": false,
        "full-path-names": true,
        "generate-bug-list": true,
        "generate-deprecate-list": true,
        "generate-test-list": true,
        "generate-todo-list": true,
        "group-nested-compounds": false,
        "hide-compound-ref": false,
        "hide-friend-compounds": false,
        "hide-in-body-docs": false,
        "hide-navtree-members": false,
        "hide-scope-names": false,
        "hide-undoc-classes": false,
        "hide-undoc-members": false,
        "idl-support": true,
        "inherit-docs": true,
        "inline-grouped-classes": false,
        "inline-info": true,
        "inline-inherited-member": false,
        "inline-simple-struct": false,
        "internal-docs": false,
        "javadoc-auto-brief": false,
        "language-mapping": [
            ""
        ],
        "layout-file": "",
        "main-page-name": "",
        "main-page-omit": false,
        "markdown": true,
        "max-init-lines": 30,
        "multiline-cpp-brief": false,
        "ns-alias": [
            ""
        ],
        "qt-auto-brief": false,
        "repeat-brief": true,
        "separate-member-pages": false,
        "short-names": false,
        "show-file-page": true,
        "show-grouped-members-inc": false,
        "show-include-files": true,
        "show-namespace-page": true,
        "show-used-files": true,
        "sip-support": false,
        "sort-brief-docs": false,
        "sort-by-scope-name": false,
        "sort-class-case-sensitive": false,
        "sort-constructors-first": false,
        "sort-group-names": false,
        "sort-member-docs": true,
        "strict-sig-matching": false,
        "tcl-subst": [
            ""
        ],
        "toc-include-headers": 0,
        "use-typedef-name": false
    },
    "dot": {
        "class-diagrams": true,
        "dia-file-dirs": [
            ""
        ],
        "dia-path": "",
        "directory-graph": true,
        "dot-call": false,
        "dot-called-by": false,
        "dot-class-graph": true,
        "dot-cleanup": true,
        "dot-collaboration": true,
        "dot-file-dirs": [
            ""
        ],
        "dot-font-name": "Helvetica",
        "dot-font-path": "",
        "dot-font-size": 10,
        "dot-graph-max-depth": 0,
        "dot-graph-max-nodes": 50,
        "dot-hierarchy": true,
        "dot-image-format": "png",
        "dot-include": true,
        "dot-included-by": true,
        "dot-multiple-targets": false,
        "dot-num-threads": 0,
        "dot-path": "",
        "dot-transparent": false,
        "generate-legend": true,
        "group-graphs": true,
        "have-dot": false,
        "hide-undoc-relations": true,
        "interactive-svg": false,
        "msc-file-dirs": [
            ""
        ],
        "mscgen-path": "",
        "plantuml-cfg-file": "",
        "plantuml-inc-path": [
            ""
        ],
        "plantuml-jar-path": "",
        "template-relations": false,
        "uml-limit-num-fields": 10,
        "uml-look": false
    },
    "doxypress-format": 1,
    "doxypress-updated": "2018-Jun-30",
    "external": {
        "all-externals": false,
        "external-groups": true,
        "external-pages": true,
        "generate-tagfile": "",
        "perl-path": "/usr/bin/perl",
        "tag-files": [
            ""
        ]
    },
    "general": {
        "abbreviate-brief": [
            "The $name class",
            "The $name widget",
            "The $name file",
            "is",
            "provides",
            "specifies",
            "contains",
            "represents",
            "a",
            "an",
            "the"
        ],
        "aliases": [
            ""
        ],
        "lookup-cache-size": 0,
        "optimize-c": false,
        "optimize-cplus": true,
        "optimize-fortran": false,
        "optimize-java": false,
        "optimize-python": false,
        "output-dir": "",
        "output-language": "English",
        "strip-from-inc-path": [
            ""
        ],
        "strip-from-path": [
            ""
        ],
        "tab-size": 4
    },
    "index": {
        "alpha-index": true,
        "cols-in-index": 5,
        "ignore-prefix": [
            ""
        ]
    },
    "input": {
        "example-patterns": [
            "*"
        ],
        "example-recursive": false,
        "example-source": [
            ""
        ],
        "exclude-files": [
            ""
        ],
        "exclude-patterns": [
            ""
        ],
        "exclude-symbols": [
            ""
        ],
        "exclude-symlinks": false,
        "filter-patterns": [
            ""
        ],
        "filter-program": "",
        "filter-source-files": false,
        "filter-source-patterns": [
            ""
        ],
        "image-path": [
            ""
        ],
        "input-encoding": "UTF-8",
        "input-patterns": [
            "*.as",
            "*.c",
            "*.cc",
            "*.cpp",
            "*.cxx",
            "*.c++",
            "*.cs",
            "*.d",
            "*.ddl",
            "*.dox",
            "*.for",
            "*.f",
            "*.f90",
            "*.h",
            "*.hh",
            "*.hxx",
            "*.hpp",
            "*.h++",
            "*.idl",
            "*.ii",
            "*.ixx",
            "*.ipp",
            "*.i++",
            "*.inc",
            "*.inl",
            "*.java",
            "*.js",
            "*.m",
            "*.md",
            "*.mm",
            "*.markdown",
            "*.odl",
            "*.php",
            "*.php3",
            "*.php4",
            "*.php5",
            "*.phtml",
            "*.py",
            "*.pyw",
            "*.qsf",
            "*.tcl",
            "*.ucf"
        ],
        "input-recursive": false,
        "input-source": [
            ""
        ],
        "mdfile-mainpage": ""
    },
    "messages": {
        "quiet": false,
        "warn-doc-error": true,
        "warn-format": "$file:$line: $text",
        "warn-logfile": "",
        "warn-undoc": true,
        "warn-undoc-param": false,
        "warnings": true
    },
    "output-chm": {
        "binary-toc": false,
        "chm-file": "",
        "chm-index-encoding": "",
        "generate-chi": false,
        "generate-chm": false,
        "hhc-location": "",
        "toc-expanded": false
    },
    "output-docbook": {
        "docbook-output": "docbook",
        "docbook-program-listing": false,
        "generate-docbook": false
    },
    "output-docset": {
        "docset-bundle-id": "org.doxypress.Project",
        "docset-feedname": "DoxyPress generated docs",
        "docset-publisher-id": "org.doxypress.Publisher",
        "docset-publisher-name": "Publisher",
        "generate-docset": false
    },
    "output-eclipse": {
        "eclipse-doc-id": "org.doxypress.Project",
        "generate-eclipse": false
    },
    "output-html": {
        "disable-index": false,
        "enum-values-per-line": 4,
        "external-links-in-window": false,
        "formula-fontsize": 10,
        "formula-transparent": true,
        "generate-html": true,
        "generate-treeview": false,
        "ghostscript": "",
        "html-colorstyle-gamma": 80,
        "html-colorstyle-hue": 220,
        "html-colorstyle-sat": 100,
        "html-dynamic-sections": false,
        "html-extra-files": [
            ""
        ],
        "html-file-extension": ".html",
        "html-footer": "",
        "html-header": "",
        "html-index-num-entries": 100,
        "html-output": "html",
        "html-search": false,
        "html-stylesheets": [
            ""
        ],
        "html-timestamp": true,
        "mathjax-codefile": "",
        "mathjax-extensions": [
            ""
        ],
        "mathjax-format": "HTML-CSS",
        "mathjax-relpath": "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/",
        "search-data-file": "searchdata.xml",
        "search-external": false,
        "search-external-id": "",
        "search-external-url": "",
        "search-mappings": [
            ""
        ],
        "search-server-based": false,
        "treeview-width": 250,
        "use-mathjax": false
    },
    "output-latex": {
        "cite-bib-files": [
            ""
        ],
        "generate-latex": false,
        "latex-batch-mode": false,
        "latex-bib-style": "plain",
        "latex-cmd-name": "latex",
        "latex-compact": false,
        "latex-extra-files": [
            ""
        ],
        "latex-extra-packages": [
            ""
        ],
        "latex-footer": "",
        "latex-header": "",
        "latex-hide-indices": false,
        "latex-hyper-pdf": true,
        "latex-output": "latex",
        "latex-paper-type": "a4",
        "latex-pdf": true,
        "latex-ps": true,
        "latex-source-code": false,
        "latex-stylesheets": [
            ""
        ],
        "latex-timestamp": false,
        "make-index-cmd-name": "makeindex"
    },
    "output-man": {
        "generate-man": false,
        "man-extension": ".3",
        "man-links": false,
        "man-output": "man",
        "man-subdir": ""
    },
    "output-perl": {
        "generate-perl": false,
        "perl-latex": false,
        "perl-prefix": "",
        "perl-pretty": true
    },
    "output-qhelp": {
        "generate-qthelp": false,
        "qch-file": "",
        "qhp-cust-attrib": [
            ""
        ],
        "qhp-cust-filter-name": "",
        "qhp-namespace": "org.doxypress.Project",
        "qhp-sect-attrib": [
            ""
        ],
        "qhp-virtual-folder": "doc",
        "qthelp-gen-path": ""
    },
    "output-rtf": {
        "generate-rtf": false,
        "rtf-compact": false,
        "rtf-extension": "",
        "rtf-hyperlinks": false,
        "rtf-output": "rtf",
        "rtf-paper-type": "a4",
        "rtf-source-code": false,
        "rtf-stylesheet": ""
    },
    "output-xml": {
        "generate-xml": false,
        "xml-output": "xml",
        "xml-program-listing": true
    },
    "preprocessor": {
        "enable-preprocessing": true,
        "expand-as-defined": [
            ""
        ],
        "expand-only-predefined": false,
        "include-path": [
            ""
        ],
        "include-patterns": [
            ""
        ],
        "macro-expansion": false,
        "predefined-macros": [
            ""
        ],
        "search-includes": true,
        "skip-function-macros": true
    },
    "project": {
        "project-brief": "",
        "project-logo": "",
        "project-name": "My Project",
        "project-version": ""
    },
    "source": {
        "inline-source": false,
        "ref-by-relation": false,
        "ref-link-source": true,
        "ref-relation": false,
        "source-code": false,
        "source-tooltips": true,
        "strip-code-comments": true,
        "suffix-exclude-navtree": [
            "doc",
            "dox",
            "md",
            "markdown",
            "txt"
        ],
        "suffix-header-navtree": [
            "h",
            "hh",
            "hxx",
            "hpp",
            "h++",
            "idl",
            "ddl",
            "pidl"
        ],
        "suffix-source-navtree": [
            "c",
            "cc",
            "cxx",
            "cpp",
            "c++",
            "ii",
            "ixx",
            "ipp",
            "i++",
            "inl",
            "java",
            "m",
            "mm",
            "xml"
        ],
        "use-htags": false,
        "verbatim-headers": true
    }
}

Run doxypress

$ # optional with debug all flags
$ doxypress -d classes -d commentcnv -d commentscan -d extcmd -d filteroutput -d findmembers -d functions -d lex -d markdown -d preprocessor -d printtree -d validate -d variables

DoxyPress Version: 1.3.6

**  Read Project Configuration
**  Verify Project Configuration

Initialization
Parse input files
Searching for include files
Searching for example files
Searching for images
Searching for dot files
Searching for msc files
Searching for dia files
Searching for files to exclude
Searching for files to process
Searching for files in directory /xyz
Parse tag files

**  Parsing
Processing /xyz/a.cpp
Entering lexical analyzer: src/generated/pre.cpp (for: /xyz/a.cpp)
Finished lexical analyzer: src/generated/pre.cpp (for: /xyz/a.cpp)
Entering lexical analyzer: src/generated/commentcnv.cpp (for: /xyz/a.cpp)
Entering lexical analyzer: src/generated/parse_cstyle.cpp (for: /xyz/a.cpp)

# hangs forever
^C
Cleaning up
DoxyPress aborted
$ 

Doxypress Version

$ doxypress --version
DoxyPress Version: 1.3.6
email: [email protected]

Downloaded from https://download.copperspice.com/

System: Linux, Fedora 31

C# Property default values applied incorrectly

This is an issue that's been in Doxygen for a while, and since so much work is being done on the codebase, I'd like to help finally fix it. Unfortunately with the rewrite to scanner.l (to commentscan.l, I believe) the previously identified line numbers are no longer valid and some quick searching for variables has failed. If someone with more experience in the codebase could direct me to where C# properties are parsed, I would be happy to try and fix this.

Wrong paths when compiling

I cannot get current master (e9a4dbe) to compile.

Using autoreconf, ./configure, make, the binaries lrelease, rcc and alike cannot be found because they are expected in ${CS_HOME}/bin (which is my $HOME/bin) instead of /usr/bin ... After fixing that, I have the same problem with the Qt include paths, i.e. it cannot find the QString header file.

Using CMake, a lot of Windows paths (starting with drives z: and c:) are hard-coded.

C# verbatim string misinterpreted as documentation command

It appears that having a C# verbatim string (string literal prefixed with @) in a method before the documentation of a property leads to the text in the string being included in the name of the property in the docs.

Example code:

public class Test
{
    /// <summary>Test method</summary>
    /// <returns>a string</returns>
    public static string Bar()
    {
        return new string(@"Ratione dolores qui voluptatem. Sunt facere dignissimos quod est odit. Omnis ipsum quos possimus quis aut. Voluptatem dolorem ut minima magnam aut modi.");
    }
    
    /// <summary>A property</summary>
    /// <value>a number</value>
    public static int Foo
    {
        get {return 3;}
    }
}

This code documents as:
image

First noticed in DoxyPress 1.2.5

FEATURE override configuration option on command line

Some options would be best overriden from the command line take precedence over the configuration file, without having a complex build step that updates the configuration file.

Specifically in my case changing the project-version, where I want different output for each branch which I can easily detect on the command line.

It would be good if we could override any setting.

XML Commands: seealso

The seealso tag is not completely supported in Doxygen, and it seems it is not fixed in Doxypress. Consider the following:

<seealso href="https://docs.microsoft.com/en-us/windows/win32/api/windef/ns-windef-size">SIZE</seealso>

The attribute href is a well-known extension used in .NET for explicit URL, but this does not work.

<seealso cref="https://docs.microsoft.com/en-us/windows/win32/api/windef/ns-windef-size">SIZE</seealso>

For this, there is See also section generated with the hyperlink text, but it is not hyperlinked and the SIZE is displayed somewhere below.

Markdown Output

I want use Markdown, can you make enhancement to produce Markdown Files? I found Moxygen but it is not enough, i need separate .MD files with images like HTML output.

Documentation of C# class skipped if on one line only

If the XML doc comment summary tag for a C# class is all on one line, like below, DoxyPress will fail to pick it up.

Example code:

/// <summary>A test class</summary>
public class Test
{
    /// <summary>A test method</summary>
    public void foo(){}
}

In the example above, foo() documents fine, but Test does not. Workaround: pad out the doc comment like so:

/// <summary>
/// A test class
/// </summary>

Invisible markdown labeled-headings

When adding a markdown heading with the header ID extension, the following issues are exhibited:

  • The generated HTML page contains empty text for the heading (the anchor is still generated)
  • The page tree does not contain the section index
    • Probably the same issue as the above, but no page documentation is created for pages that specify their title as a level-1 heading with an ID.

This is a regression issue, version 1.2.10 worked fine, master (1.3.5) shows this issue.

navtree sync issue

Pre-conditions:

  • specifying a \mainpage, which is then inserted under the navtree root
  • set a "low" \sortid, causing the main page to be organized before other pages in the same level of the navtree

Issue:

  • The auto-synced navtree opening is broken; it opens the one-earlier tree category rather than the one we're at.

Expected:

  • The navtree synchronization opens the correct nodes of the tree corresponding to the page opened.

Analysis:

  • The breadcrumb indexes generated into navtreeindex0.js do not account for the main page's location in their first numeric value. With hand-fixed breadcrumbs, the feature seems to work.

DoxyPress crashes with Segfault if clang compilation database cannot be found

Steps to Reproduce

Edit the doxy_test_clang.json file so that the clang-compilation-path field refers to a file. Eg:

 "clang": {
        "clang-compilation-path": "doxy_test_clang.json",
  ...

Run Doxypress with

doxypress test_build/doxy_test_clang.json

Expected Results

Doxypress should exit cleanly with a suitable error message.

Actual Results

Doxypress crashes with a segmentation fault

Notes

This is caused by the following lines in parse_clang.cpp:

   if (db_json == nullptr) {
            errAll("Using compilation path '%s' failed.\nClang error: %s\n", csPrintable(clangCompilationPath), error.c_str());
      }

      db_commands = db_json->getAllCompileCommands();

If db_json is null, the pointer deference will fail.

Incorrect HHP generation

When generating HTML output for CHM files, the HHP file has incorrect referencing for internal images such as class hierarchy diagrams; the HHP file lists them as html\file.png. This is incorrect, as the images are not in an html subdirectory. All HTML output files are placed in the same directory as the HHP.

The simple solution is simply to remove html\ prefix from the offending lines.

LaTeX output problems

I've found a few issues with the LaTeX output produced by Doxypress. The main file refman.tex has a fairly perplexing line remove-value, under the comment "NLS Support Packages". I don't know the purpose of it, as Doxygen's output does not have this line. Commenting it out has no ill effects, and in fact removes extraneous (almost) blank pages from the resulting PDF.

The bigger problem, however, is in the individual class/function documention tex files: the description text of function parameters are not applied in the tex file.

Compare this example output produced by Doxypress:

\begin{DoxyParams}{Parameters}
{\em num} & 

\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An uint16\+\_\+t. 
\end{DoxyReturn}

To this output (from the same source) by Doxygen:

\begin{DoxyParams}{Parameters}
{\em num} & A number.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An uint16\+\_\+t. 
\end{DoxyReturn}

Also, Doxypress output is missing the make.bat file to build the latex on Windows.
Simply copying this file from Doxygen appears to work without issue once the remove-value line is commented out.

C++ code used for this example is below.

example.h:

#pragma once

class Test
{
    public:
    uint16_t swap16(uint16_t);
}; 

example.cpp:

#include "example.h"

/**
* Swap 16.
*
* @param num A number.
*
* @returns An uint16_t.
**/
uint16_t Test::swap16(uint16_t num)
{
    return (num >> 8) | (num << 8);
}

Config step CMake fail on Windows

I have build copperspice but when I try to configure doxypress using cmake-gui I get:

CMake Error at CMakeLists.txt:22 (include):
include could not find load file:

xxxxxx/copperspice_BUILD/InstallMinGW.cmake

and indeed I do build copperspice with MSVC but then this !?

Incorrect LaTex output in code snippets

Hi,

Here's the way to reproduce the issue (see attachment for a self-contained example):

  1. Use a snippet in comments:
/**
 * @snippet example/custom_operator.cc full
 */
  1. In the referenced custom_operator.cc, write something like this:
auto operator^(E1 &&x, E2 &&y) -> Compound<XOR, E1, E2> {
    ....
}

Notice there's NO space between operator and ^.

When LaTex docs are generated, open refman.tex in some validating tool (I use TexStudio), or just run make pdf in latex directory. PDF generation should fail, and the reason for it is this line:

\DoxyCodeLine{\textcolor{keyword}{auto} operator^(E1 \&\&x, E2 \&\&y) -> Compound<XOR, E1, E2>

For comparison, this is what Doxygen generates (tested with 1.8.19):

\DoxyCodeLine{\textcolor{keyword}{auto} operator\string^(E1 \&\&x, E2 \&\&y) -\/> \mbox{\hyperlink{classctaeb_1_1Compound}{Compound<XOR, E1, E2>}} \{}

Now, if I ADD a space between operator and ^, Doxypress generates correct LaTex:

\DoxyCodeLine{\textcolor{keyword}{auto} operator\string^(E1 \&\&x, E2 \&\&y) -\/> \mbox{\hyperlink{classctaeb_1_1Compound}{Compound<XOR, E1, E2>}} \{}

So, apparently the problem boils down to the ^ being unrecognized. Enabling or disabling clang parsing makes no difference, it seems.

My environment:
Ubuntu 18.04 + doxypress 1.4.0

Thanks,
Igor.

latex-snippet-bug-reproduce.zip

Provide a way to identify function overloads.

In the doxygen generated XML output, the only way to find out whether a function is overloaded or not, is to compare the description with the following string: "This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts."

See here for example: https://github.com/boostorg/boostbook/blob/develop/xsl/doxygen/doxygen2boostbook.xsl#L22

It would be nice if doxypress provided a better way.

Markdown code blocks generated outside DoxyCode block in Latex output

Take the example markdown file here:

# Usage with Python

The DCS-100 SDK can be used in Python code with either [IronPython](http://www.ironpython.net) or [Python.NET](http://pythonnet.github.io). The usage is a little different between the two.

## IronPython

~~~{.py}
import os
import clr
...

The generated Latex for this markdown will be something like:

The D\+C\+S-\/100 S\+DK can be used in Python code with either \href{http://www.ironpython.net}{\tt Iron\+Python} or \href{http://pythonnet.github.io}{\tt Python.\+N\+ET}. The usage is a little different between the two.

\subsection*{Iron\+Python}


\begin{DoxyCode}
\end{DoxyCode}

1 \textcolor{keyword}{import} os
2 \textcolor{keyword}{import} clr
3 ...

Additionally, it would be nice if the latex output used Minted to format such code, as it would avoid the issues of pre-processing the code (for which I will file another issue I found) for DoxyPress and turn it into a straight-through transfer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.