Skip to content

Commit

Permalink
docs: simplified home page
Browse files Browse the repository at this point in the history
  • Loading branch information
alandefreitas committed Jun 11, 2024
1 parent 359d017 commit 83ff42c
Showing 1 changed file with 6 additions and 27 deletions.
33 changes: 6 additions & 27 deletions docs/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,11 @@ Alan Freitas <[email protected]>

image::MrDocsBanner.jpg[]

Welcome to MrDocs, the ultimate solution for generating comprehensive reference documentation from your {cpp} codebase and javadoc comments. MrDocs harnesses the power of Clang/LLVM, offering a seamless and efficient way to document your {cpp} projects.

With MrDocs, you can effortlessly extract valuable insights and produce detailed documentation for your {cpp} code. By leveraging the rich semantic knowledge provided by Clang/LLVM, MrDocs accurately captures the nuances of your codebase, including class hierarchies, functions, and their respective parameters and return types. This ensures that your documentation is not only informative but also up-to-date, eliminating the need for manual documentation maintenance.

The integration of javadoc-style comments takes your documentation to the next level. With MrDocs, you can easily embed human-readable explanations, usage examples, and additional contextual information directly within your code. These comments serve as a valuable resource for both developers and consumers of your code, promoting clarity and understanding.

MrDocs seamlessly fits into your development workflow, with the freedom to customize the output format to suit your project requirements. MrDocs offers versatile options for output formats, including XML and Asciidoc. In addition to the provided output formats, MrDocs empowers users to bring their own creativity and customization to the documentation generation process. With support for handlebars templates, you can create and apply your own unique templates to the generated documentation. This allows you to customize the styling, layout, and overall presentation of your documentation, making it truly personalized and aligned with your project's branding.

MrDocs empowers you to produce high-quality documentation that benefits both developers and users. Explore the power of MrDocs today and experience the ease of building comprehensive reference documentation for your {cpp} projects. Say goodbye to tedious manual documentation and embrace the efficiency and accuracy of MrDocs.

== Comparison

=== Doxygen:

* Tries to work for many languages
* Uses the inferior libclang API
* Old program with lots of technical debt
* Not written by me

=== MrDocs:

* Narrow and deep focus on {cpp} only
* Uses clang's unstable libtooling API:
** Understands ALL C++: if clang can compile it, MrDocs knows about it
** This includes up to {cpp}20 and even experimental features in {cpp}23
* Brand-new program with no technical debt
* Written by me
- Automating {cpp} reference documentation significantly enhances usability by providing a navigable API and ensuring a single, up-to-date source of truth with minimal effort.
- However, documenting {cpp} poses significant challenges due to discrepancies between the codebase and the public API. Doxygen remains a popular tool, yet it is suboptimal for {cpp} as it fails to fully comprehend {cpp} constructs and requires many transformation steps, including the incorporation of many macros within the {cpp} code. These macros maintain well-formed and ill-formed versions of the code, undermining the goal of unifying the source of truth.
- Existing solutions frequently need better maintenance or usability issues, prompting users to revert to Doxygen.
- An ideal solution would inherently understand {cpp} constructs, be actively maintained, and offer diverse options for customizing the output format.
- MrDocs embodies these qualities. Supported by full-time developers from the {cpp} Alliance, MrDocs inherently comprehends {cpp} constructs without the need for macros and provides various output formats, customizable templates, and plugin support, ensuring it meets the demands of comprehensive and efficient documentation.
image::https://github.com/cppalliance/mrdocs/actions/workflows/ci.yml/badge.svg[]

0 comments on commit 83ff42c

Please sign in to comment.