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

members of namespace not included in final md if members are refid #84

Open
elevin72 opened this issue Jan 29, 2024 · 1 comment
Open
Labels
bug Something isn't working

Comments

@elevin72
Copy link

Hi! I am an encountering an issue with the following code where the enum enum1 and void func3 show on the page associated with group1, but not on the page associated with namespace Foo.

/** @addtogroup group1 The First Group
 *  @{
 */

namespace Foo {
    /** @addtogroup group1 The First Group
     *  @{
     */

    /**
     * @brief an enum inside a namespace
     */
    enum enum1 {
        A,
        B
    };

    /**
     * @brief a class inside a namespace
     */
    class class1 {
        public:
        /**
         * @brief a func1 inside a class inside a namespace
         */
        void func1();
        /**
         * @brief a func2 inside a class inside namespace
         */
        void func2();
    };
    /**
     * @brief a func3 inside a namespace
     */
    void func3(){};

    /** @} */
}

/** @} */

After a little preliminary debugging, here is what I have found:

The xml for the namespace looks like this:

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.10.0" xml:lang="en-US">
  <compounddef id="namespaceFoo" kind="namespace" language="C++">
    <compoundname>Foo</compoundname>
    <innerclass refid="classFoo_1_1class1" prot="public">Foo::class1</innerclass>
    <sectiondef kind="enum">
      <member refid="group__group1_1gad39a3a7f855ec8cf8715e5d7e6787539" kind="enum"><name>enum1</name></member>
    </sectiondef>
    <sectiondef kind="func">
      <member refid="group__group1_1ga2a68212559a3785d1ee59693366c4a45" kind="function"><name>func3</name></member>
    </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="includes/grouptest.h" line="5" column="1"/>
  </compounddef>
</doxygen>

and in Node._check_for_children() there is no check for members inside of a sectiondef.

In file Node.py, around line 233 I would expect to see something like:

 for member in sectiondef.findall("member"):
    # handle logic of members with a refid...

I am ready to take a stab at this at submit a PR, but I would like to open this issue first to check with @JakubAndrysek to see if that logic was left out for some good reason.

Thanks in advance for any information you may have for me.

@JakubAndrysek
Copy link
Owner

Hi, I have taken over this part of the project after Doxybook, which might contain some bugs. My main goal was to integrate Doxybook as a MkDocs plugin, and I didn`t modify the core part of the project.
Feel free to fix these core issues, and if you know how to help fix other issues, I will be grateful.
Thanks, Jacob.

@JakubAndrysek JakubAndrysek added the bug Something isn't working label Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants