Skip to content

Conversation

@evelez7
Copy link
Member

@evelez7 evelez7 commented Dec 10, 2025

Indentation was inconsistent between the namespace and class templates.
This patch assumes that <body> is not indented.

Indentation was inconsistent between the namespace and class templates.
This patch assumes that `<body>` is not indented.
Copy link
Member Author

evelez7 commented Dec 10, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Member Author

evelez7 commented Dec 10, 2025

@llvmbot
Copy link
Member

llvmbot commented Dec 10, 2025

@llvm/pr-subscribers-clang-tools-extra

Author: Erick Velez (evelez7)

Changes

Indentation was inconsistent between the namespace and class templates.
This patch assumes that &lt;body&gt; is not indented.


Patch is 25.64 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/171667.diff

3 Files Affected:

  • (modified) clang-tools-extra/clang-doc/assets/class-template.mustache (+185-183)
  • (modified) clang-tools-extra/clang-doc/assets/namespace-template.mustache (+89-90)
  • (modified) clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp (-1)
diff --git a/clang-tools-extra/clang-doc/assets/class-template.mustache b/clang-tools-extra/clang-doc/assets/class-template.mustache
index bbac3ffae02fb..1197e76ab553c 100644
--- a/clang-tools-extra/clang-doc/assets/class-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/class-template.mustache
@@ -11,10 +11,10 @@
     <meta charset="utf-8"/>
     <title>{{Name}}</title>
     {{#Stylesheets}}
-        <link rel="stylesheet" type="text/css" href="{{.}}"/>
+    <link rel="stylesheet" type="text/css" href="{{.}}"/>
     {{/Stylesheets}}
     {{#Scripts}}
-        <script src="{{.}}"></script>
+    <script src="{{.}}"></script>
     {{/Scripts}}
     {{! Highlight.js dependency for syntax highlighting }}
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
@@ -22,217 +22,219 @@
     <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/cpp.min.js"></script>
 </head>
 <body>
-<nav class="navbar">
-    <div class="navbar__container">
-        {{#ProjectName}}
+    <nav class="navbar">
+        <div class="navbar__container">
+            {{#ProjectName}}
             <div class="navbar__logo">
                 {{ProjectName}}
             </div>
-        {{/ProjectName}}
-        <div class="navbar__menu">
-            <ul class="navbar__links">
-                <li class="navbar__item">
-                    <a href="/" class="navbar__link">Namespace</a>
-                </li>
-                <li class="navbar__item">
-                    <a href="/" class="navbar__link">Class</a>
-                </li>
-            </ul>
+            {{/ProjectName}}
+            <div class="navbar__menu">
+                <ul class="navbar__links">
+                    <li class="navbar__item">
+                        <a href="/" class="navbar__link">Namespace</a>
+                    </li>
+                    <li class="navbar__item">
+                        <a href="/" class="navbar__link">Class</a>
+                    </li>
+                </ul>
+            </div>
         </div>
-    </div>
-</nav>
-<main>
-    <div class="container">
-        <div class="sidebar">
-            <h2>{{TagType}} {{Name}}</h2>
-            <ul>
+    </nav>
+    <main>
+        <div class="container">
+            <div class="sidebar">
+                <h2>{{TagType}} {{Name}}</h2>
+                <ul>
+                    {{#HasPublicMembers}}
+                    <li class="sidebar-section">
+                        <a class="sidebar-item" href="#PublicMembers">Public Members</a>
+                    </li>
+                    <li>
+                        <ul>
+                            {{#PublicMembers}}
+                            <li class="sidebar-item-container">
+                                <a class="sidebar-item" href="#{{Name}}">{{Name}}</a>
+                            </li>
+                            {{/PublicMembers}}
+                        </ul>
+                    </li>
+                    {{/HasPublicMembers}}
+                    {{#ProtectedMembers}}
+                    <li class="sidebar-section">
+                        <a class="sidebar-item" href="#PublicMethods">Protected Members</a>
+                    </li>
+                    <li>
+                        <ul>
+                            {{#Obj}}
+                            <li class="sidebar-item-container">
+                                <a class="sidebar-item" href="#{{Name}}">{{Name}}</a>
+                            </li>
+                            {{/Obj}}
+                        </ul>
+                    </li>
+                    {{/ProtectedMembers}}
+                    {{#HasPublicFunctions}}
+                    <li class="sidebar-section">
+                        <a class="sidebar-item" href="#PublicMethods">Public Method</a>
+                    </li>
+                    <li>
+                        <ul>
+                            {{#PublicFunctions}}
+                            <li class="sidebar-item-container">
+                                <a class="sidebar-item" href="#{{USR}}">{{Name}}</a>
+                            </li>
+                            {{/PublicFunctions}}
+                        </ul>
+                    </li>
+                    {{/HasPublicFunctions}}
+                    {{#ProtectedFunction}}
+                    <li class="sidebar-section">
+                        <a class="sidebar-item" href="#ProtectedFunction">Protected Method</a>
+                    </li>
+                    <li>
+                        <ul>
+                            {{#Obj}}
+                            <li class="sidebar-item-container">
+                                <a class="sidebar-item" href="#{{ID}}">{{Name}}</a>
+                            </li>
+                            {{/Obj}}
+                        </ul>
+                    </li>
+                    {{/ProtectedFunction}}
+                    {{#Enums}}
+                    <li class="sidebar-section">
+                        <a class="sidebar-item" href="#Enums">Enums</a>
+                    </li>
+                    <li>
+                        <ul>
+                            {{#Obj}}
+                            <li class="sidebar-item-container">
+                                <a class="sidebar-item" href="#{{USR}}">{{EnumName}}</a>
+                            </li>
+                            {{/Obj}}
+                        </ul>
+                    </li>
+                    {{/Enums}}
+                    {{#Typedef}}
+                    <li class="sidebar-section">Typedef</li>
+                    {{/Typedef}}
+                    {{#Record}}
+                    <li class="sidebar-section">
+                        <a class="sidebar-item" href="#Classes">Inner Classes</a>
+                    </li>
+                    <li>
+                        <ul>
+                            {{#Links}}
+                            <li class="sidebar-item-container">
+                                <a class="sidebar-item" href="#{{ID}}">{{Name}}</a>
+                            </li>
+                            {{/Links}}
+                        </ul>
+                    </li>
+                    {{/Record}}
+                </ul>
+            </div>
+            <div class="resizer" id="resizer"></div>
+            <div class="content">
+                <section class="hero section-container">
+                    <div class="hero__title">
+                        <h1 class="hero__title-large">{{TagType}} {{Name}}</h1>
+                        <p>Defined at line {{Location.LineNumber}} of file {{Location.Filename}}</p>
+                        {{#Description}}
+                        <div class="hero__subtitle">
+                            {{>Comments}}
+                        </div>
+                        {{/Description}}
+                    </div>
+                </section>
                 {{#HasPublicMembers}}
-                <li class="sidebar-section">
-                    <a class="sidebar-item" href="#PublicMembers">Public Members</a>
-                </li>
-                <li>
-                    <ul>
+                <section id="PublicMembers" class="section-container">
+                    <h2>Public Members</h2>
+                    <div>
                         {{#PublicMembers}}
-                        <li class="sidebar-item-container">
-                            <a class="sidebar-item" href="#{{Name}}">{{Name}}</a>
-                        </li>
+                        <div id="{{Name}}" class="delimiter-container">
+                            <pre><code class="language-cpp code-clang-doc" >{{Type}} {{Name}}</code></pre>
+                            {{#MemberComments}}
+                            <div>
+                                {{>Comments}}
+                            </div>
+                            {{/MemberComments}}
+                        </div>
                         {{/PublicMembers}}
-                    </ul>
-                </li>
+                    </div>
+                </section>
                 {{/HasPublicMembers}}
                 {{#ProtectedMembers}}
-                <li class="sidebar-section">
-                    <a class="sidebar-item" href="#PublicMethods">Protected Members</a>
-                </li>
-                <li>
-                    <ul>
+                <section id="ProtectedMembers" class="section-container">
+                    <h2>Protected Members</h2>
+                    <div>
                         {{#Obj}}
-                            <li class="sidebar-item-container">
-                                <a class="sidebar-item" href="#{{Name}}">{{Name}}</a>
-                            </li>
+                        <div id="{{Name}}" class="delimiter-container">
+                            <pre><code class="language-cpp code-clang-doc" >{{Type}} {{Name}}</code></pre>
+                            {{#MemberComments}}
+                            <div>
+                                {{>Comments}}
+                            </div>
+                            {{/MemberComments}}
+                        </div>
                         {{/Obj}}
-                    </ul>
-                </li>
+                    </div>
+                </section>
                 {{/ProtectedMembers}}
                 {{#HasPublicFunctions}}
-                <li class="sidebar-section">
-                    <a class="sidebar-item" href="#PublicMethods">Public Method</a>
-                </li>
-                <li>
-                    <ul>
+                <section id="PublicMethods" class="section-container">
+                    <h2>Public Methods</h2>
+                    <div>
                         {{#PublicFunctions}}
-                        <li class="sidebar-item-container">
-                            <a class="sidebar-item" href="#{{USR}}">{{Name}}</a>
-                        </li>
+                        {{>FunctionPartial}}
                         {{/PublicFunctions}}
-                    </ul>
-                </li>
-                {{/HasPublicFunctions}}
+                    </div>
+                </section>
+                {{/PublicFunctions}}
                 {{#ProtectedFunction}}
                 <li class="sidebar-section">
                     <a class="sidebar-item" href="#ProtectedFunction">Protected Method</a>
                 </li>
-                <li>
-                    <ul>
-                        {{#Obj}}
-                        <li class="sidebar-item-container">
-                            <a class="sidebar-item" href="#{{ID}}">{{Name}}</a>
-                        </li>
-                        {{/Obj}}
-                    </ul>
-                </li>
+                <ul>
+                    {{#Obj}}
+                    <li class="sidebar-item-container">
+                        <a class="sidebar-item" href="#{{ID}}">{{Name}}</a>
+                    </li>
+                    {{/Obj}}
+                </ul>
                 {{/ProtectedFunction}}
                 {{#Enums}}
-                <li class="sidebar-section">
-                    <a class="sidebar-item" href="#Enums">Enums</a>
-                </li>
-                <li>
-                    <ul>
+                <section id="Enums" class="section-container">
+                    <h2>Enumerations</h2>
+                    <div>
                         {{#Obj}}
-                        <li class="sidebar-item-container">
-                            <a class="sidebar-item" href="#{{USR}}">{{EnumName}}</a>
-                        </li>
+                        {{>EnumPartial}}
                         {{/Obj}}
-                    </ul>
-                </li>
+                    </div>
+                </section>
                 {{/Enums}}
-                {{#Typedef}}
-                <li class="sidebar-section">Typedef</li>
-                {{/Typedef}}
                 {{#Record}}
-                <li class="sidebar-section">
-                    <a class="sidebar-item" href="#Classes">Inner Classes</a>
-                </li>
-                <li>
-                    <ul>
+                <section id="Classes" class="section-container">
+                    <h2>Inner Classes</h2>
+                    <ul class="class-container">
                         {{#Links}}
-                        <li class="sidebar-item-container">
-                            <a class="sidebar-item" href="#{{ID}}">{{Name}}</a>
+                        <li id="{{ID}}" style="max-height: 40px;">
+                            <a href="{{Link}}">
+                                <pre><code class="language-cpp code-clang-doc" >class {{Name}}</code></pre>
+                            </a>
                         </li>
                         {{/Links}}
                     </ul>
-                </li>
+                </section>
                 {{/Record}}
-            </ul>
-        </div>
-        <div class="resizer" id="resizer"></div>
-        <div class="content">
-            <section class="hero section-container">
-                <div class="hero__title">
-                    <h1 class="hero__title-large">{{TagType}} {{Name}}</h1>
-                    <p>Defined at line {{Location.LineNumber}} of file {{Location.Filename}}</p>
-                    {{#Description}}
-                    <div class="hero__subtitle">
-                        {{>Comments}}
-                    </div>
-                    {{/Description}}
-                </div>
-            </section>
-            {{#HasPublicMembers}}
-            <section id="PublicMembers" class="section-container">
-                <h2>Public Members</h2>
-                <div>
-                    {{#PublicMembers}}
-                    <div id="{{Name}}" class="delimiter-container">
-                        <pre><code class="language-cpp code-clang-doc" >{{Type}} {{Name}}</code></pre>
-                        {{#MemberComments}}
-                        <div>
-                            {{>Comments}}
-                        </div>
-                        {{/MemberComments}}
-                    </div>
-                    {{/PublicMembers}}
-                </div>
-            </section>    
-            {{/HasPublicMembers}}
-            {{#ProtectedMembers}}
-            <section id="ProtectedMembers" class="section-container">
-                <h2>Protected Members</h2>
-                <div>
-                    {{#Obj}}
-                    <div id="{{Name}}" class="delimiter-container">
-                        <pre><code class="language-cpp code-clang-doc" >{{Type}} {{Name}}</code></pre>
-                        {{#MemberComments}}
-                        <div>
-                            {{>Comments}}
-                        </div>
-                        {{/MemberComments}}
-                    </div>
-                    {{/Obj}}
-                </div>
-            </section>
-            {{/ProtectedMembers}}
-            {{#HasPublicFunctions}}
-            <section id="PublicMethods" class="section-container">
-                <h2>Public Methods</h2>
-                <div>
-                    {{#PublicFunctions}}
-                    {{>FunctionPartial}}
-                    {{/PublicFunctions}}
-                </div>
-            </section>
-            {{/PublicFunctions}}
-                {{#ProtectedFunction}}
-                <li class="sidebar-section">
-                    <a class="sidebar-item" href="#ProtectedFunction">Protected Method</a>
-                </li>
-                <ul>
-                    {{#Obj}}
-                    <li class="sidebar-item-container">
-                        <a class="sidebar-item" href="#{{ID}}">{{Name}}</a>
-                    </li>
-                    {{/Obj}}
-                </ul>
-                {{/ProtectedFunction}}
-            {{#Enums}}
-            <section id="Enums" class="section-container">
-                <h2>Enumerations</h2>
-                <div>
-                    {{#Obj}}
-{{>EnumPartial}}
-                    {{/Obj}}
-                </div>
-            </section>
-            {{/Enums}}
-            {{#Record}}
-            <section id="Classes" class="section-container">
-                <h2>Inner Classes</h2>
-                <ul class="class-container">
-                    {{#Links}}
-                    <li id="{{ID}}" style="max-height: 40px;">
-<a href="{{Link}}"><pre><code class="language-cpp code-clang-doc" >class {{Name}}</code></pre></a>
-                    </li>
-                    {{/Links}}
-                </ul>
-            </section>
-            {{/Record}}
-            {{#Typedef}}
-            <section class="section-container">
-                <h2 id="Enums">Enums</h2>
-            </section>
-            {{/Typedef}}
+                {{#Typedef}}
+                <section class="section-container">
+                    <h2 id="Enums">Enums</h2>
+                </section>
+                {{/Typedef}}
+            </div>
         </div>
-    </div>
-</main>
+    </main>
 </body>
 </html>
diff --git a/clang-tools-extra/clang-doc/assets/namespace-template.mustache b/clang-tools-extra/clang-doc/assets/namespace-template.mustache
index 8a5be46aee28b..7fb66cadbb8e8 100644
--- a/clang-tools-extra/clang-doc/assets/namespace-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/namespace-template.mustache
@@ -7,104 +7,103 @@
 }}
 <!DOCTYPE html>
 <html lang="en-US">
-    <head>
-        <meta charset="utf-8"/>
-        <title>{{NamespaceTitle}}</title>
-        {{#Stylesheets}}
-        <link rel="stylesheet" type="text/css" href="{{.}}"/>
-        {{/Stylesheets}}
-        {{#Scripts}}
-        <script src="{{.}}"></script>
-        {{/Scripts}}
-        {{! Highlight.js dependency for syntax highlighting }}
-        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
-        <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
-        <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/cpp.min.js"></script>
-    </head>
-    <body>
-        <nav class="navbar">
-            <div class="navbar__container">
-                {{#ProjectName}}
-                <div class="navbar__logo">
-                    {{ProjectName}}
-                </div>
-                {{/ProjectName}}
-                <div class="navbar__menu">
-                    <ul class="navbar__links">
-                        <li class="navbar__item">
-                            <a href="/" class="navbar__link">Namespace</a>
-                        </li>
-                        <li class="navbar__item">
-                            <a href="/" class="navbar__link">Class</a>
-                        </li>
-                    </ul>
-                </div>
+<head>
+    <meta charset="utf-8"/>
+    <title>{{NamespaceTitle}}</title>
+    {{#Stylesheets}}
+    <link rel="stylesheet" type="text/css" href="{{.}}"/>
+    {{/Stylesheets}}
+    {{#Scripts}}
+    <script src="{{.}}"></script>
+    {{/Scripts}}
+    {{! Highlight.js dependency for syntax highlighting }}
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/cpp.min.js"></script>
+</head>
+<body>
+    <nav class="navbar">
+        <div class="navbar__container">
+            {{#ProjectName}}
+            <div class="navbar__logo">
+                {{ProjectName}}
             </div>
-        </nav>
-        <main>
-            <div class="container">
-                <div class="sidebar">
-                    <h2>{{RecordType}} {{Name}}</h2>
-                    <ul>
-                        {{#HasEnums}}
-                        <li class="sidebar-section">
-                            <a class="sidebar-item" href="#Enums">Enums</a>
-                        </li>
-                        <li>
-                            <ul>
-                                {{#Enums}}
-                                <li class="sidebar-item-cont...
[truncated]

Copy link
Member Author

evelez7 commented Dec 11, 2025

Merge activity

  • Dec 11, 4:48 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Dec 11, 4:49 PM UTC: @evelez7 merged this pull request with Graphite.

@evelez7 evelez7 merged commit a6ac5d4 into main Dec 11, 2025
14 checks passed
@evelez7 evelez7 deleted the users/evelez7/clang-doc-indent-templates branch December 11, 2025 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants