standardese / standardese

A (work-in-progress) nextgen Doxygen for C++
Other
923 stars 45 forks source link

`--input.require_comment` doesn't work #211

Open kuredoro opened 2 years ago

kuredoro commented 2 years ago

This is a minimal example:

#pragma once

struct Foo {
    int bar;
    int zap;
};

If run with default parameters, the output is the following:

# Header file `test.hpp`

`` cpp
struct Foo;
``

Specifying --input.require_comment=0, according to the documentation, should print this to the doc_test.md

# Header file `test.hpp`

`` cpp
struct Foo;
``

## Struct `Foo`

`` cpp
struct Foo
{
    int bar;
    int zap;
};
``
saraedum commented 2 years ago

This will be fixed in the upcoming 0.6.0 release. (When that release will happen is unfortunately a bit unclear as still lots of loose ends need to be tied up there.)

saraedum commented 2 years ago

@kuredoro is the code that you are running standardese on public? I would like to run standardese against a few public repositories in CI.

kuredoro commented 2 years ago

@kuredoro is the code that you are running standardese on public? I would like to run standardese against a few public repositories in CI.

Ah.. sorry, it's an internal project in my company.

In my company, we wish our main project had some docs that we could look up online. But in the meanwhile, when we started a new project, we knew that we 100% need to explore documentation practices on it. I was strongly proposing for the standardese, because of the style of docs it encourages, and the premise that "a tool can only really develop if users use it". So despite it being a rough tool, I advocated to use it for this same reason (it's roughness), to help the open-source, so to speak :)

When we finished v1, it was somewhere beginning of the summer, standardese had 2 big issues that prevented it from compiling the code (fully): Boost.ASIO, and c++17 support. I'm very happy that I am able to use standardese now with these 2 issues solved! (although I hacked my way for the first issue today to get a working app, thanks to @foonathan at #206) And it so coincides that we're thinking about using Confluence wiki to host our API docs, and the standardese is the only documentation tool that outputs markdown, so we'll very probably employ it in our main project as well!

I hope this little bit of trivia was interesting to read. I will wait for the v0.6.0 release impatiently! Maybe even help with it a bit. Just don't give up, standardese is a very useful tool and makes our lives much better! We're counting on you! :+1:

saraedum commented 2 years ago

Glad to hear that.

@kuredoro which distribution of standardese are you running currently? (docker, conda, self-compiled, ...)

kuredoro commented 2 years ago

@saraedum I'm using self-compiled version on Windows. (CMake is broken on Windows by the way, the cppast library just doesn't produce the .lib files nor for Release, nor for Debug. If, however, cppast is compiled standalone, the .libs are generated, and I copied them to the folder with standardese to compile the tool).

kuredoro commented 2 years ago

Also, it's interesting to me, but on Windows I used lots and lots of different software, but I in none of them I saw dynamically linked boost libraries :) As far I can tell there's no flag to staticaly link them, right?

saraedum commented 2 years ago

@kuredoro I don't think there's an issue about building non-statically on Windows yet. Feel free to create one. (I don't know much about Windows but maybe someone else knows what needs to be done.)

standardese is packaged for Windows on conda forge here. That build is using this script that does not use any copying of libraries if you want to have a look.

I don't remember if there's a flag to link boost statically.