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

Documentation improvement suggestions from Reddit #106

Open
ned14 opened this issue Feb 6, 2023 · 2 comments
Open

Documentation improvement suggestions from Reddit #106

ned14 opened this issue Feb 6, 2023 · 2 comments
Assignees

Comments

@ned14
Copy link
Owner

ned14 commented Feb 6, 2023

From https://www.reddit.com/r/cpp/comments/10tt5nw/comment/j7ezsof/?utm_source=share&utm_medium=web2x&context=3

When someone searches for the library what he is see is github readme page of the project first.

And he expects to see list of main features, platforms support + short examples how library works for typical operations, links to more advanced examples and build/cmake/project notes.

Less often, a person will follow links to another readme page.

On your doxygen readme page you have a description that is more likely to scare away the user as an OP.

Next follow not clear features list. After it there two strange examples for rary cases. And all this just gives the feeling that OP is experiencing.

As simple and clean example you can see https://github.com/mandreyel/mio readme.md

And documentation in most cases is more user-friendly if you will use something like MkDocs(based on Markdown), example http://rapidjson.org/

For a starter you can show basic operations for:

  • regular files, read/write/get stats
  • memory mapped files
  • work with directories
  • async examples
  • some small, advanced techniques
  • links to more advanced examples
@ned14 ned14 self-assigned this Feb 6, 2023
@BurningEnlightenment
Copy link
Collaborator

BurningEnlightenment commented Feb 6, 2023

And documentation in most cases is more user-friendly if you will use something like MkDocs(based on Markdown), example http://rapidjson.org/

May I make a case for using Sphinx instead of something Markdown-based like MkDocs? reStructuredText (reST) isn't as ubiquitous as Markdown, but I've found it far superior in that it actually builds a symbol database, allowing for intelligent OOB referencing OOB. I could contribute the initial setup for it.

Notable users would be:

@ned14
Copy link
Owner Author

ned14 commented Feb 6, 2023

@BurningEnlightenment If there were any specific part of the OP's request that is least likely to get done this week, it is the set up and config of non-doxygen docs tooling unfortunately.

I've no specific issue with Sphinx versus other tooling except for the same general issue with all of them: none of them are sufficiently better than doxygen for C++ to make me get excited about them. Outcome uses https://gohugo.io which is much better again than Sphinx at referencing, and it lets you use any mix of structured text formats you like based on whichever is best for the content you are making, and it let me make from the same source https://ned14.github.io/outcome/ and https://www.boost.org/doc/libs/master/libs/outcome/doc/html/index.html which if you look closely, they're absolutely identical except for the styling.

Outcome's reference API docs are hand made however, because the Boost review rejected both previously submitted sets of reference API docs each of which came from a different docs generator. Because docs generators for C++ generally suck, and there is no currently good substitute for writing reference docs by hand. And if you're not going to write them by hand, then doxygen's crappy docs isn't especially worse nor better than those from any other tooling (relative to hand made docs).

I do have a mental note to some day check out a newer clang based docs parser called hdoc and see if it does a much better job than doxygen at parsing (which negatively affects Sphinx/Evolve etc). I had the notion of having hdoc dump its output into a Hugo site, and Hugo would fill in all the stuff which hdoc doesn't do such as search and indexing. I've not found time to do that, but that's my mental note that I ought to go investigate that option some day.

Now, if you'd be volunteering to try feeding some code into hdoc and see if it's become high fidelity enough to substantially improve on doxygen, now you would be getting me excited. Last time I tried was a few years ago, and hdoc just wasn't there yet. You should still be able to see that attempt at https://docs.hdoc.io/ned14/LLFIO/.

ned14 added a commit that referenced this issue Feb 8, 2023
individual files and freshening the Readme.md.
ned14 added a commit that referenced this issue Feb 10, 2023
ned14 added a commit that referenced this issue Feb 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants