diff --git a/docs/ui/src/css/custom.css b/docs/ui/src/css/custom.css index 8fce5b286..c1bc74b82 100644 --- a/docs/ui/src/css/custom.css +++ b/docs/ui/src/css/custom.css @@ -50,11 +50,6 @@ color: var(--navbar-font-color); } -.body .article { - backdrop-filter: blur(10px); - background-color: rgba(255, 255, 255, 0.1); -} - .doc h1, .doc h2, .doc h3, diff --git a/docs/ui/src/css/nav.css b/docs/ui/src/css/nav.css index df6534a7c..5b3bcae44 100644 --- a/docs/ui/src/css/nav.css +++ b/docs/ui/src/css/nav.css @@ -21,10 +21,6 @@ width: var(--nav-width); background-color: transparent; } - - .nav-container .nav { - background-color: rgb(255 255 255 / 18%); - } } @media screen and (min-width: 1024px) { diff --git a/docs/website/assets/glasses.png b/docs/website/assets/glasses.png index d22ed986b..50832a977 100644 Binary files a/docs/website/assets/glasses.png and b/docs/website/assets/glasses.png differ diff --git a/docs/website/assets/mrdocs.png b/docs/website/assets/mrdocs.png index 78727f5cd..6fe8a8892 100644 Binary files a/docs/website/assets/mrdocs.png and b/docs/website/assets/mrdocs.png differ diff --git a/docs/website/assets/pointing.png b/docs/website/assets/pointing.png index 344a58cdc..ca4b766f3 100644 Binary files a/docs/website/assets/pointing.png and b/docs/website/assets/pointing.png differ diff --git a/docs/website/assets/shout.png b/docs/website/assets/shout.png index aa6639395..62fc70528 100644 Binary files a/docs/website/assets/shout.png and b/docs/website/assets/shout.png differ diff --git a/docs/website/assets/thinking.png b/docs/website/assets/thinking.png index 5a21c0afb..04c325f97 100644 Binary files a/docs/website/assets/thinking.png and b/docs/website/assets/thinking.png differ diff --git a/docs/website/assets/writing.png b/docs/website/assets/writing.png index 8cc1f971a..41c325153 100644 Binary files a/docs/website/assets/writing.png and b/docs/website/assets/writing.png differ diff --git a/docs/website/index.html b/docs/website/index.html new file mode 100644 index 000000000..e6c9bdfea --- /dev/null +++ b/docs/website/index.html @@ -0,0 +1,629 @@ + + + + + + + + + + + + Mr.Docs + + + + + + + + + + + + + + + + +
+
+
+
+

Mr.Docs

+

Full-fidelity C++ documentation, straight from your code.

+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Keep the code simple. Get clear documentation.

+

Mr.Docs understands modern C++. You focus on design and maintainability.

+
+
+
+ +
+
+ +

Single Source of Truth

+

Mr.Docs turns the documentation comments that live next to your C++ declarations into authoritative reference pages. One source of truth—your code.

+
+
+ +

Built for C++

+

Mr.Docs models C++ accurately: overload sets, concepts and constraints, deduced return types, aliases, constants, SFINAE, inherited and hidden members, niebloids, and more.

+
+
+ +

Multiple output formats

+

Export to AsciiDoc, HTML, or XML - or extend it with your own generator plugins.

+
+
+ +

Customizable

+

Highly configurable: control output format and theme, tailor symbol selection, and tune generation to match your project’s standards. +

+
+
+
+ +
+
+
+
+

More Code, Fewer Workarounds

+

Mr.Docs lets you keep code simple and maintainable.

+
+
+
    +
  • Accurate rendering of attributes and exception specifications (e.g. [[noreturn]], noexcept).
  • +
+
+
+
/** Exit the program.
+
+    The program will end immediately.
+
+    @note This function does not return.
+*/
+[[noreturn]]
+void
+terminate() noexcept;
+
+
+
+
+
+
+
+
+
+

terminate

+
+Exit the program. + +
+
+
+

Synopsis

+
+Declared in <terminate.cpp>
+
+
+[[noreturn]]
+void
+terminate() noexcept;
+
+
+
+
+

Description

+

The program will end immediately.

+
+

NOTE

+

This function does not return.

+
+
+
+ +
+
+
+
+
    +
  • Documentation comments become structured reference pages—synopsis, description, parameters, and returns.
  • +
+
+
+
/** Return the distance between two points
+
+    This function returns the distance between two points
+    according to the Euclidean distance formula.
+
+    @param x0 The x-coordinate of the first point
+    @param y0 The y-coordinate of the first point
+    @param x1 The x-coordinate of the second point
+    @param y1 The y-coordinate of the second point
+    @return The distance between the two points
+*/
+double
+distance(double x0, double y0, double x1, double y1);
+
+
+
+
+
+
+
+
+
+

distance

+
+Return the distance between two points + +
+
+
+

Synopsis

+
+Declared in <distance.cpp>
+
+
+double
+distance(
+    double x0,
+    double y0,
+    double x1,
+    double y1);
+
+
+
+
+

Description

+

This function returns the distance between two points according to the Euclidean distance formula.

+
+
+

Return Value

+The distance between the two points +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
x0The x-coordinate of the first point
y0The y-coordinate of the first point
x1The x-coordinate of the second point
y1The y-coordinate of the second point
+
+
+ +
+
+
+
+
    +
  • Use directives to capture semantics beyond the signature.
  • +
+
+
+
/** Return true if a number is prime.
+
+    @par Complexity
+
+    Linear in n.
+
+    @return Whether or not n is prime.
+    @param n The number to test
+
+*/
+bool
+is_prime(unsigned long long n) noexcept;
+
+
+
+
+
+
+
+
+
+

is_prime

+
+Return true if a number is prime. + +
+
+
+

Synopsis

+
+Declared in <is_prime.cpp>
+
+
+bool
+is_prime(unsigned long long n) noexcept;
+
+
+
+
+

Description

+

Complexity

+

Linear in n.

+
+
+

Return Value

+Whether or not n is prime. +
+
+

Parameters

+ + + + + + + + + + + + + +
NameDescription
nThe number to test
+
+
+ +
+
+
+
+
    +
  • Understands concepts, constraints, and SFINAE—rendered as you wrote them.
  • +
+
+
+
#include <type_traits>
+#include <stdexcept>
+
+/** Computes the square root of an integral value.
+
+    This function calculates the square root of a
+    given integral value using bit manipulation.
+
+    @throws std::invalid_argument if the input value is negative.
+
+    @tparam T The type of the input value. Must be an integral type.
+    @param value The integral value to compute the square root of.
+    @return The square root of the input value.
+ */
+template <typename T>
+std::enable_if_t<std::is_integral_v<T>, T> sqrt(T value) {
+    if (value < 0) {
+        throw std::invalid_argument(
+            "Cannot compute square root of a negative number");
+    }
+    T result = 0;
+    // The second-to-top bit is set
+    T bit = 1 << (sizeof(T) * 8 - 2);
+    while (bit > value) bit >>= 2;
+    while (bit != 0) {
+        if (value >= result + bit) {
+            value -= result + bit;
+            result += bit << 1;
+        }
+        result >>= 1;
+        bit >>= 2;
+    }
+    return result;
+}
+
+
+
+
+
+
+
+
+
+
+

sqrt

+
+Computes the square root of an integral value. + +
+
+
+

Synopsis

+
+Declared in <sqrt.cpp>
+
+
+template<typename T>
+T
+sqrt(T value)
+requires std::is_integral_v<T>;
+
+
+
+
+

Description

+

This function calculates the square root of a given integral value using bit manipulation.

+
+
+

Exceptions

+ + + + + + + + + + + + + +
NameThrown on
std::invalid_argumentif the input value is negative.
+
+
+

Return Value

+The square root of the input value. +
+
+

Template Parameters

+ + + + + + + + + + + + + +
NameDescription
TThe type of the input value. Must be an integral type.
+
+
+

Parameters

+ + + + + + + + + + + + + +
NameDescription
valueThe integral value to compute the square root of.
+
+
+ +
+
+
+
+
+
+
+

Like what you see? Star us on GitHub: + +

+
+
+
+ + + + + diff --git a/docs/website/index.html.hbs b/docs/website/index.html.hbs index 450ee6a04..c82f5dc80 100644 --- a/docs/website/index.html.hbs +++ b/docs/website/index.html.hbs @@ -46,9 +46,9 @@