Skip to content

Conversation

@evelez7
Copy link
Member

@evelez7 evelez7 commented Dec 10, 2025

Move navbar section to its own template to ensure consistency across
templates

Copy link
Member Author

evelez7 commented Dec 10, 2025

@evelez7 evelez7 requested review from ilovepi and petrhosek December 10, 2025 18:22
@evelez7 evelez7 marked this pull request as ready for review December 10, 2025 18:22
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

Move navbar section to its own template to ensure consistency across
templates


Full diff: https://github.com/llvm/llvm-project/pull/171669.diff

6 Files Affected:

  • (modified) clang-tools-extra/clang-doc/HTMLGenerator.cpp (+4-1)
  • (modified) clang-tools-extra/clang-doc/assets/class-template.mustache (+1-19)
  • (modified) clang-tools-extra/clang-doc/assets/namespace-template.mustache (+1-19)
  • (added) clang-tools-extra/clang-doc/assets/navbar-template.mustache (+19)
  • (modified) clang-tools-extra/clang-doc/support/Utils.cpp (+3)
  • (modified) clang-tools-extra/clang-doc/tool/CMakeLists.txt (+1)
diff --git a/clang-tools-extra/clang-doc/HTMLGenerator.cpp b/clang-tools-extra/clang-doc/HTMLGenerator.cpp
index 19018f2cf845d..77b287476423e 100644
--- a/clang-tools-extra/clang-doc/HTMLGenerator.cpp
+++ b/clang-tools-extra/clang-doc/HTMLGenerator.cpp
@@ -68,11 +68,14 @@ Error HTMLGenerator::setupTemplateFiles(const ClangDocContext &CDCtx) {
       ConvertToNative(CDCtx.MustacheTemplates.lookup("enum-template"));
   std::string HeadFilePath =
       ConvertToNative(CDCtx.MustacheTemplates.lookup("head-template"));
+  std::string NavbarFilePath =
+      ConvertToNative(CDCtx.MustacheTemplates.lookup("navbar-template"));
   std::vector<std::pair<StringRef, StringRef>> Partials = {
       {"Comments", CommentFilePath},
       {"FunctionPartial", FunctionFilePath},
       {"EnumPartial", EnumFilePath},
-      {"HeadPartial", HeadFilePath}};
+      {"HeadPartial", HeadFilePath},
+      {"NavbarPartial", NavbarFilePath}};
 
   if (Error Err = setupTemplate(NamespaceTemplate, NamespaceFilePath, Partials))
     return Err;
diff --git a/clang-tools-extra/clang-doc/assets/class-template.mustache b/clang-tools-extra/clang-doc/assets/class-template.mustache
index 9c5019510b43c..fcd923cd9db93 100644
--- a/clang-tools-extra/clang-doc/assets/class-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/class-template.mustache
@@ -9,25 +9,7 @@
 <html lang="en-US">
 {{>HeadPartial}}
 <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>
-        </div>
-    </nav>
+    {{>NavbarPartial}}
     <main>
         <div class="container">
             <div class="sidebar">
diff --git a/clang-tools-extra/clang-doc/assets/namespace-template.mustache b/clang-tools-extra/clang-doc/assets/namespace-template.mustache
index f386eb2e6a581..5c0d2fb14d3c9 100644
--- a/clang-tools-extra/clang-doc/assets/namespace-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/namespace-template.mustache
@@ -9,25 +9,7 @@
 <html lang="en-US">
 {{>HeadPartial}}
 <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>
-        </div>
-    </nav>
+    {{>NavbarPartial}}
     <main>
         <div class="container">
             <div class="sidebar">
diff --git a/clang-tools-extra/clang-doc/assets/navbar-template.mustache b/clang-tools-extra/clang-doc/assets/navbar-template.mustache
new file mode 100644
index 0000000000000..178d147a556d3
--- /dev/null
+++ b/clang-tools-extra/clang-doc/assets/navbar-template.mustache
@@ -0,0 +1,19 @@
+<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>
+    </div>
+</nav>
diff --git a/clang-tools-extra/clang-doc/support/Utils.cpp b/clang-tools-extra/clang-doc/support/Utils.cpp
index 50e849dc26c79..d0fd6f45b8a02 100644
--- a/clang-tools-extra/clang-doc/support/Utils.cpp
+++ b/clang-tools-extra/clang-doc/support/Utils.cpp
@@ -58,6 +58,8 @@ void getHtmlFiles(StringRef AssetsPath, clang::doc::ClangDocContext &CDCtx) {
       appendPathPosix(AssetsPath, "comment-template.mustache");
   SmallString<128> HeadTemplate =
       appendPathPosix(AssetsPath, "head-template.mustache");
+  SmallString<128> NavbarTemplate =
+      appendPathPosix(AssetsPath, "navbar-template.mustache");
 
   CDCtx.MustacheTemplates.insert(
       {"namespace-template", NamespaceTemplate.c_str()});
@@ -67,4 +69,5 @@ void getHtmlFiles(StringRef AssetsPath, clang::doc::ClangDocContext &CDCtx) {
       {"function-template", FunctionTemplate.c_str()});
   CDCtx.MustacheTemplates.insert({"comment-template", CommentTemplate.c_str()});
   CDCtx.MustacheTemplates.insert({"head-template", HeadTemplate.c_str()});
+  CDCtx.MustacheTemplates.insert({"navbar-template", NavbarTemplate.c_str()});
 }
diff --git a/clang-tools-extra/clang-doc/tool/CMakeLists.txt b/clang-tools-extra/clang-doc/tool/CMakeLists.txt
index eb8f937bae831..c8b4162a0e716 100644
--- a/clang-tools-extra/clang-doc/tool/CMakeLists.txt
+++ b/clang-tools-extra/clang-doc/tool/CMakeLists.txt
@@ -32,6 +32,7 @@ set(assets
   namespace-template.mustache
   template.mustache
   head-template.mustache
+  navbar-template.mustache
 )
 
 set(asset_dir "${CMAKE_CURRENT_SOURCE_DIR}/../assets")

The <head> sections of the existing partials are already identical, so
creating a partial will help reduce lines in the templates. Now
changes to <head> sections can easily propogate and can easily be added
to future HTML pages.
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-head-partial branch from b1022c3 to 8a92239 Compare December 11, 2025 16:51
Move navbar section to its own template so ensure consistency across
templates
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-navbar-partial branch from d170dc7 to 1d32cb2 Compare December 11, 2025 16:52
Base automatically changed from users/evelez7/clang-doc-head-partial to main December 11, 2025 16:56
@evelez7 evelez7 enabled auto-merge (squash) December 11, 2025 17:06
@evelez7 evelez7 merged commit 3d1f044 into main Dec 11, 2025
10 checks passed
@evelez7 evelez7 deleted the users/evelez7/clang-doc-navbar-partial branch December 11, 2025 17:07
@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 11, 2025

LLVM Buildbot has detected a new failure on builder clang-armv7-global-isel running on linaro-clang-armv7-global-isel while building clang-tools-extra at step 7 "ninja check 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/39/builds/9067

Here is the relevant piece of the build log for the reference
Step 7 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'LLVM :: CodeGen/X86/2009-03-23-MultiUseSched.ll' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 3
/home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/llc < /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll -mtriple=x86_64-linux -mcpu=corei7 -relocation-model=static | /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll
# executed command: /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/llc -mtriple=x86_64-linux -mcpu=corei7 -relocation-model=static
# .---command stderr------------
# | LLVM ERROR: out of memory
# | Allocation failed
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/llc -mtriple=x86_64-linux -mcpu=corei7 -relocation-model=static
# | 1.	Running pass 'Function Pass Manager' on module '<stdin>'.
# | 2.	Running pass 'X86 DAG->DAG Instruction Selection' on function '@foo'
# | #0 0x0777c220 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/llc+0x39cc220)
# | #1 0x077796e4 llvm::sys::RunSignalHandlers() (/home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/llc+0x39c96e4)
# | #2 0x0777d1e0 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
# | #3 0xe9b2d6f0 __default_rt_sa_restorer ./signal/../sysdeps/unix/sysv/linux/arm/sigrestorer.S:80:0
# | #4 0xe9b1db06 ./csu/../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47:0
# | #5 0xe9b5d292 __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
# | #6 0xe9b2c840 gsignal ./signal/../sysdeps/posix/raise.c:27:6
# `-----------------------------
# error: command failed with exit status: -6
# executed command: /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll
# `-----------------------------
# error: command failed with exit status: 2

--

********************


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.

5 participants