Release of hdoc 1.3.0 brings dark mode and more

25 July 2022

We released hdoc 1.3.0 this week, which brings many features that are long overdue. In particular, we want to highlight dark mode, support for template parameters, easy permalinking, and improvements to the LLVM/Clang demo that we host. The full release notes are here.

Dark mode

Unfortunately, the clean light theme that hdoc has used since it's release, which has been our pride and joy for 3 years, has the unintended side effect of causing our eyes to bleed late at night. Once we had the initial pre-release of dark mode running internally we couldn't believe we waited so long to implement it. Now, we're pleased to share hdoc's dark mode with everyone. The screenshot below shows the difference between dark and light mode:

img

Dark mode automatically adapts to your system settings and provides a more comfortable viewing experience for those who desire it. We hope you will enjoy it as much as we do! Thank you to Reddit user /u/helloiamsomeone for suggesting this feature!

Template parameter comment support

hdoc initially supported a limited set of Doxygen commands, largely those that were most-used in popular open source software projects. The @tparam command originally did not make that cut.

This release brings support for the @tparam command, which allows users to properly document the template parameters their records and functions take. This information is shown under the special "Templates" heading in the generated documentation, as shown below.

img

Another feature that was long overdue for hdoc was the addition of permalink icons which make it easier to grab a permalink to a given function. With hdoc 1.3.0, mousing over the function declaration will reveal a permalink icon in the top right of the declaration which makes it possible to easily share links to documentation.

In addition, the display of functions was improved to be less cluttered. Thank you to Reddit user /u/Adverpol for suggesting both of these improvements!

LLVM documentation now uses GitHub Actions

We have long used LLVM/Clang as a demo project for hdoc. This has let us not only demonstrate the hdoc is capable of documenting large, complex codebases, but has also allowed us to give back to the community by providing a publically accessible, free set of documentation for the LLVM/Clang project.

In the past we manually ran hdoc on our local machines to update the LLVM/Clang documentation as new versions were released. Now, with the addition of hdoc support for GitHub Actions, we have updated our LLVM/Clang fork to use our GitHub Action. This allows us to build LLVM/Clang documentation immediately as new versions are released and show how the hdoc GitHub Action works in practice.

Try hdoc out!

We'd love for you to try hdoc out and see what it can do for your codebase. hdoc now has a GitHub Action which lets you add hdoc to your existing GitHub Workflows without having to download anything. See the blog post for more info. Additionally, you can get pre-compiled static binaries and free hosting on docs.hdoc.io by making an account. Alternatively, you can check out hdoc's source code and compile it yourself. Commercial customers also have enterprise plans available to meet their needs.

Still not sure? Check out what hdoc's output looks like on the LLVM/Clang project, one of the largest and most important C++ projects in existence.