[flang-commits] [flang] [flang][docs] Use Furo theme (PR #223151)

Reid Kleckner via flang-commits flang-commits at lists.llvm.org
Sat Sep 12 08:07:36 PDT 2026


https://github.com/rnk created https://github.com/llvm/llvm-project/pull/223151

Adopt the shared LLVM Furo configuration for the Flang documentation, including the LLVM wyvern logo and a wider content area on desktop viewports.

Remove page-local contents directives that duplicate Furo’s navigation.

Clang Furo PR: https://github.com/llvm/llvm-project/pull/214869
RFC: https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7

Testing:
- Fresh Flang Sphinx HTML build with generated references and warnings treated as errors

>From 007080201d343fd40f34995e630384029d504446 Mon Sep 17 00:00:00 2001
From: Reid Kleckner <rkleckner at nvidia.com>
Date: Sat, 12 Sep 2026 14:26:01 +0000
Subject: [PATCH] [flang][docs] Use Furo theme

Adopt the shared LLVM Furo configuration and wyvern logo, widen the content area on desktop viewports, and remove page-local contents directives that duplicate Furo's navigation.
---
 flang/docs/Aliasing.md                       |  5 ----
 flang/docs/ArrayComposition.md               |  5 ----
 flang/docs/BijectiveInternalNameUniquing.md  |  5 ----
 flang/docs/C++17.md                          |  5 ----
 flang/docs/C++style.md                       |  5 ----
 flang/docs/Calls.md                          |  5 ----
 flang/docs/Character.md                      |  5 ----
 flang/docs/ComplexOperations.md              |  5 ----
 flang/docs/ControlFlowGraph.md               |  5 ----
 flang/docs/DesignGuideline.md                |  5 ----
 flang/docs/DoConcurrent.md                   |  5 ----
 flang/docs/DoConcurrentConversionToOpenMP.md |  5 ----
 flang/docs/Extensions.md                     |  5 ----
 flang/docs/FAQ.md                            |  5 ----
 flang/docs/FlangDriver.md                    |  5 ----
 flang/docs/FlangOptionsDocs.td               |  3 ---
 flang/docs/FortranFeatureHistory.md          |  5 ----
 flang/docs/FortranForCProgrammers.md         |  5 ----
 flang/docs/FortranIR.md                      |  5 ----
 flang/docs/FortranLLVMTestSuite.md           |  5 ----
 flang/docs/FortranStandardsSupport.md        |  5 ----
 flang/docs/GettingInvolved.md                |  5 ----
 flang/docs/GettingStarted.md                 |  5 ----
 flang/docs/IORuntimeInternals.md             |  5 ----
 flang/docs/ImplementingASemanticCheck.md     |  5 ----
 flang/docs/IntrinsicTypes.md                 |  5 ----
 flang/docs/Intrinsics.md                     |  5 ----
 flang/docs/LabelResolution.md                |  5 ----
 flang/docs/ModFiles.md                       |  5 ----
 flang/docs/OpenACC-extensions.md             |  5 ----
 flang/docs/OpenACC.md                        |  5 ----
 flang/docs/OpenMP-declare-target.md          |  5 ----
 flang/docs/OpenMP-descriptor-management.md   |  5 ----
 flang/docs/OpenMP-extensions.md              |  5 ----
 flang/docs/OpenMP-semantics.md               |  5 ----
 flang/docs/OpenMPSupport.md                  |  5 ----
 flang/docs/Overview.md                       |  5 ----
 flang/docs/ParserCombinators.md              |  5 ----
 flang/docs/Parsing.md                        |  5 ----
 flang/docs/Preprocessing.md                  |  5 ----
 flang/docs/RuntimeDescriptor.md              |  5 ----
 flang/docs/RuntimeEnvironment.md             |  5 ----
 flang/docs/RuntimeTypeInfo.md                |  5 ----
 flang/docs/Semantics.md                      |  5 ----
 flang/docs/Unsigned.md                       |  5 ----
 flang/docs/_static/custom.css                | 20 ++++++++++++++++
 flang/docs/conf.py                           | 25 +++++++-------------
 47 files changed, 28 insertions(+), 240 deletions(-)
 create mode 100644 flang/docs/_static/custom.css

diff --git a/flang/docs/Aliasing.md b/flang/docs/Aliasing.md
index 19cb0fe72886cc..f44cfb7623a7e9 100644
--- a/flang/docs/Aliasing.md
+++ b/flang/docs/Aliasing.md
@@ -8,11 +8,6 @@
 
 # Aliasing in Fortran
 
-```{contents}
----
-local:
----
-```
 
 ## Introduction
 
diff --git a/flang/docs/ArrayComposition.md b/flang/docs/ArrayComposition.md
index e57e7cf4a25bd2..647f342006371a 100644
--- a/flang/docs/ArrayComposition.md
+++ b/flang/docs/ArrayComposition.md
@@ -8,11 +8,6 @@
 
 # Array Composition
 
-```{contents}
----
-local:
----
-```
 
 This note attempts to describe the motivation for and design of an
 implementation of Fortran 90 (and later) array expression evaluation that
diff --git a/flang/docs/BijectiveInternalNameUniquing.md b/flang/docs/BijectiveInternalNameUniquing.md
index bce05d78a68f3f..602f65c8d4d1f3 100644
--- a/flang/docs/BijectiveInternalNameUniquing.md
+++ b/flang/docs/BijectiveInternalNameUniquing.md
@@ -8,11 +8,6 @@
 
 # Bijective Internal Name Uniquing
 
-```{contents}
----
-local:
----
-```
 
 FIR has a flat namespace. No two objects may have the same name at the module
 level. (These would be functions, globals, etc.) This necessitates some sort
diff --git a/flang/docs/C++17.md b/flang/docs/C++17.md
index 17f0c978678239..56f1320f6bd6c7 100644
--- a/flang/docs/C++17.md
+++ b/flang/docs/C++17.md
@@ -8,11 +8,6 @@
 
 # C++14/17 features used in Flang
 
-```{contents}
----
-local:
----
-```
 
 The C++ dialect used in this project constitutes a subset of the
 standard C++ programming language and library features.
diff --git a/flang/docs/C++style.md b/flang/docs/C++style.md
index ade88d22eba362..1aa32e80b75485 100644
--- a/flang/docs/C++style.md
+++ b/flang/docs/C++style.md
@@ -8,11 +8,6 @@
 
 # Flang C++ Style Guide
 
-```{contents}
----
-local:
----
-```
 
 This document captures the style guide rules that are followed in the Flang codebase.
 
diff --git a/flang/docs/Calls.md b/flang/docs/Calls.md
index 83515aa5cc4100..9e8c4e3f2687f7 100644
--- a/flang/docs/Calls.md
+++ b/flang/docs/Calls.md
@@ -8,11 +8,6 @@
 
 # Representation of Fortran function calls
 
-```{contents}
----
-local:
----
-```
 
 ## Procedure reference implementation protocol
 
diff --git a/flang/docs/Character.md b/flang/docs/Character.md
index 96e0a069e2ba2d..772e902aeb55fd 100644
--- a/flang/docs/Character.md
+++ b/flang/docs/Character.md
@@ -8,11 +8,6 @@
 
 # Implementation of `CHARACTER` types in Flang
 
-```{contents}
----
-local:
----
-```
 
 ## Kinds and Character Sets
 
diff --git a/flang/docs/ComplexOperations.md b/flang/docs/ComplexOperations.md
index 1b6ec527b446ac..e8cb024beecd67 100644
--- a/flang/docs/ComplexOperations.md
+++ b/flang/docs/ComplexOperations.md
@@ -1,10 +1,5 @@
 # Complex Operations
 
-```{contents}
----
-local:
----
-```
 
 Fortran includes support for complex number types and a set of operators and
 intrinsics that work on these types. Some of those operations are complicated
diff --git a/flang/docs/ControlFlowGraph.md b/flang/docs/ControlFlowGraph.md
index 95be3858066d23..34b8778a1d9eaa 100644
--- a/flang/docs/ControlFlowGraph.md
+++ b/flang/docs/ControlFlowGraph.md
@@ -8,11 +8,6 @@
 
 # Control Flow Graph
 
-```{contents}
----
-local:
----
-```
 
 ## Concept
 After a Fortran subprogram has been parsed, its names resolved, and all its
diff --git a/flang/docs/DesignGuideline.md b/flang/docs/DesignGuideline.md
index 03357f21fd07eb..37e307a7878781 100644
--- a/flang/docs/DesignGuideline.md
+++ b/flang/docs/DesignGuideline.md
@@ -7,11 +7,6 @@
 -->
 # Design Guideline
 
-```{contents}
----
-local:
----
-```
 ## Documenting the design
 
 ### Designing support for a new feature
diff --git a/flang/docs/DoConcurrent.md b/flang/docs/DoConcurrent.md
index b3f91e32be14a3..2f22f2ae9ca668 100644
--- a/flang/docs/DoConcurrent.md
+++ b/flang/docs/DoConcurrent.md
@@ -8,11 +8,6 @@
 
 # `DO CONCURRENT` isn't necessarily concurrent
 
-```{contents}
----
-local:
----
-```
 
 A variant form of Fortran's primary looping construct was
 added to the Fortran 2008 language standard with the apparent
diff --git a/flang/docs/DoConcurrentConversionToOpenMP.md b/flang/docs/DoConcurrentConversionToOpenMP.md
index 344580997a41bf..5de08d3feb013f 100644
--- a/flang/docs/DoConcurrentConversionToOpenMP.md
+++ b/flang/docs/DoConcurrentConversionToOpenMP.md
@@ -8,11 +8,6 @@
 
 # `DO CONCURRENT` mapping to OpenMP
 
-```{contents}
----
-local:
----
-```
 
 This document seeks to describe the effort to parallelize `do concurrent` loops
 by mapping them to OpenMP worksharing constructs. The goals of this document
diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md
index 3973841d061b99..46b36a18efc7de 100644
--- a/flang/docs/Extensions.md
+++ b/flang/docs/Extensions.md
@@ -8,11 +8,6 @@
 
 # Fortran Extensions supported by Flang
 
-```{contents}
----
-local:
----
-```
 
 As a general principle, this compiler will accept by default and
 without complaint many legacy features, extensions to the standard
diff --git a/flang/docs/FAQ.md b/flang/docs/FAQ.md
index 76f7718acb53c7..33a1a4faf679f8 100644
--- a/flang/docs/FAQ.md
+++ b/flang/docs/FAQ.md
@@ -8,11 +8,6 @@
 
 # Frequently Asked Questions (FAQ)
 
-```{contents}
----
-local:
----
-```
 
 ## Driver
 
diff --git a/flang/docs/FlangDriver.md b/flang/docs/FlangDriver.md
index 71963c1b70081a..9a6407c1aea622 100644
--- a/flang/docs/FlangDriver.md
+++ b/flang/docs/FlangDriver.md
@@ -8,11 +8,6 @@
 
 # Flang drivers
 
-```{contents}
----
-local:
----
-```
 
 There are two main drivers in Flang:
 * the compiler driver, `flang`
diff --git a/flang/docs/FlangOptionsDocs.td b/flang/docs/FlangOptionsDocs.td
index 2d8d849e6159a2..e8610b6c6c953f 100644
--- a/flang/docs/FlangOptionsDocs.td
+++ b/flang/docs/FlangOptionsDocs.td
@@ -15,9 +15,6 @@ def GlobalDocumentation {
 
 # Flang command line argument reference
 
-```{contents}
-:local:
-```
 
 ## Introduction
 
diff --git a/flang/docs/FortranFeatureHistory.md b/flang/docs/FortranFeatureHistory.md
index 2c43a56e01502e..375f8fc2128dc8 100644
--- a/flang/docs/FortranFeatureHistory.md
+++ b/flang/docs/FortranFeatureHistory.md
@@ -8,11 +8,6 @@
 
 # A Fortran feature history cheat sheet
 
-```{contents}
----
-local:
----
-```
 
 ## Original IBM 704 FORTRAN
 
diff --git a/flang/docs/FortranForCProgrammers.md b/flang/docs/FortranForCProgrammers.md
index 9023fdc8a60383..d143e4cb357e2e 100644
--- a/flang/docs/FortranForCProgrammers.md
+++ b/flang/docs/FortranForCProgrammers.md
@@ -8,11 +8,6 @@
 
 # Fortran For C Programmers
 
-```{contents}
----
-local:
----
-```
 
 This note is limited to essential information about Fortran so that
 a C or C++ programmer can get started more quickly with the language,
diff --git a/flang/docs/FortranIR.md b/flang/docs/FortranIR.md
index 9622887e35cff5..7efe542a59fea2 100644
--- a/flang/docs/FortranIR.md
+++ b/flang/docs/FortranIR.md
@@ -8,11 +8,6 @@
 
 # Design: Fortran IR
 
-```{contents}
----
-local:
----
-```
 
 ## Introduction
 
diff --git a/flang/docs/FortranLLVMTestSuite.md b/flang/docs/FortranLLVMTestSuite.md
index 79b7037be127a1..9cfa1e97e4606b 100644
--- a/flang/docs/FortranLLVMTestSuite.md
+++ b/flang/docs/FortranLLVMTestSuite.md
@@ -1,10 +1,5 @@
 # Fortran Tests in the LLVM Test Suite
 
-```{contents}
----
-local:
----
-```
 
 The [LLVM Test Suite](https://github.com/llvm/llvm-test-suite) is a
 separate git repo from the main LLVM project. We recommend that
diff --git a/flang/docs/FortranStandardsSupport.md b/flang/docs/FortranStandardsSupport.md
index 32e4a5830f3f7a..dd8bda23cb495f 100644
--- a/flang/docs/FortranStandardsSupport.md
+++ b/flang/docs/FortranStandardsSupport.md
@@ -8,11 +8,6 @@
 
 # Flang Fortran Standards Support
 
-```{contents}
----
-local:
----
-```
 
 This document summarizes Fortran standards support in Flang. The information is only provided as a guideline. The
 TODOs/Not Yet Implemented messages emitted by the compiler for unimplemented features should be treated as authoritative.
diff --git a/flang/docs/GettingInvolved.md b/flang/docs/GettingInvolved.md
index b1e1bfb10be945..8126d2cad7faac 100644
--- a/flang/docs/GettingInvolved.md
+++ b/flang/docs/GettingInvolved.md
@@ -7,11 +7,6 @@
 -->
 # Getting Involved
 
-```{contents}
----
-local:
----
-```
 
 The Flang Project welcomes contributions of all kinds.
 Please feel free to join the mailing list or the slack channel for discussions related to development of Flang.
diff --git a/flang/docs/GettingStarted.md b/flang/docs/GettingStarted.md
index 98620e6eafb072..cc3b6690d13a77 100644
--- a/flang/docs/GettingStarted.md
+++ b/flang/docs/GettingStarted.md
@@ -8,11 +8,6 @@
 
 # Getting Started
 
-```{contents}
----
-local:
----
-```
 
 ## Building flang
 There are two ways to build flang. The first method is to build it at the same
diff --git a/flang/docs/IORuntimeInternals.md b/flang/docs/IORuntimeInternals.md
index a2d3971c9ef2a5..1dd7e4d489b598 100644
--- a/flang/docs/IORuntimeInternals.md
+++ b/flang/docs/IORuntimeInternals.md
@@ -8,11 +8,6 @@
 
 # Fortran I/O Runtime Library Internal Design
 
-```{contents}
----
-local:
----
-```
 
 This note is meant to be an overview of the design of the *implementation*
 of Flang's runtime support library for I/O statements.
diff --git a/flang/docs/ImplementingASemanticCheck.md b/flang/docs/ImplementingASemanticCheck.md
index 7f30a4ec54b990..ff2275b6cdb558 100644
--- a/flang/docs/ImplementingASemanticCheck.md
+++ b/flang/docs/ImplementingASemanticCheck.md
@@ -7,11 +7,6 @@
 -->
 # How to implement a Sematic Check in Flang
 
-```{contents}
----
-local:
----
-```
 
 I recently added a semantic check to the Flang compiler front end.  This document
 describes my thought process and the resulting implementation.
diff --git a/flang/docs/IntrinsicTypes.md b/flang/docs/IntrinsicTypes.md
index 504723185e7263..651809663fc322 100644
--- a/flang/docs/IntrinsicTypes.md
+++ b/flang/docs/IntrinsicTypes.md
@@ -8,11 +8,6 @@
 
 # Implementation of `Intrinsic` types in f18
 
-```{contents}
----
-local:
----
-```
 
 Intrinsic types are integer, real, complex, character, and logical.
 All intrinsic types have a kind type parameter called KIND,
diff --git a/flang/docs/Intrinsics.md b/flang/docs/Intrinsics.md
index d4a9f1ccdecacd..e84768b0f95553 100644
--- a/flang/docs/Intrinsics.md
+++ b/flang/docs/Intrinsics.md
@@ -8,11 +8,6 @@
 
 # A categorization of standard (2018) and extended Fortran intrinsic procedures
 
-```{contents}
----
-local:
----
-```
 
 This note attempts to group the intrinsic procedures of Fortran into categories
 of functions or subroutines with similar interfaces as an aid to
diff --git a/flang/docs/LabelResolution.md b/flang/docs/LabelResolution.md
index 2e79e088e70c50..930c37109216e4 100644
--- a/flang/docs/LabelResolution.md
+++ b/flang/docs/LabelResolution.md
@@ -8,11 +8,6 @@
 
 # Semantics: Resolving Labels and Construct Names
 
-```{contents}
----
-local:
----
-```
 
 ## Overview
 
diff --git a/flang/docs/ModFiles.md b/flang/docs/ModFiles.md
index 4485770f7d24d8..f35abbef3b324f 100644
--- a/flang/docs/ModFiles.md
+++ b/flang/docs/ModFiles.md
@@ -8,11 +8,6 @@
 
 # Module Files
 
-```{contents}
----
-local:
----
-```
 
 Module files hold information from a module (or submodule) that is
 necessary to compile program units in other source files that depend on that module.
diff --git a/flang/docs/OpenACC-extensions.md b/flang/docs/OpenACC-extensions.md
index c22f00efec758d..86c330a63bab3f 100644
--- a/flang/docs/OpenACC-extensions.md
+++ b/flang/docs/OpenACC-extensions.md
@@ -8,11 +8,6 @@
 
 # OpenACC Extensions in Flang
 
-```{contents}
----
-local:
----
-```
 
 Flang is more lenient than the OpenACC specification requires for purposes of
 compatibility. This document describes extensions to the OpenACC specification.
diff --git a/flang/docs/OpenACC.md b/flang/docs/OpenACC.md
index 8d81d4cf4a6c66..dbce70dfeaca15 100644
--- a/flang/docs/OpenACC.md
+++ b/flang/docs/OpenACC.md
@@ -8,11 +8,6 @@
 
 # OpenACC in Flang
 
-```{contents}
----
-local:
----
-```
 
 ## Intentional deviation from the specification
 
diff --git a/flang/docs/OpenMP-declare-target.md b/flang/docs/OpenMP-declare-target.md
index 3a7d001d158466..828fde399d0e83 100644
--- a/flang/docs/OpenMP-declare-target.md
+++ b/flang/docs/OpenMP-declare-target.md
@@ -9,11 +9,6 @@
 
 # OpenMP Declare Target
 
-```{contents}
----
-local:
----
-```
 
 ## Introduction to Declare Target
 
diff --git a/flang/docs/OpenMP-descriptor-management.md b/flang/docs/OpenMP-descriptor-management.md
index d2a3c93fa16470..ee3e43a73d245e 100644
--- a/flang/docs/OpenMP-descriptor-management.md
+++ b/flang/docs/OpenMP-descriptor-management.md
@@ -7,11 +7,6 @@
 -->
 
 # Fortran descriptor type mapping for OpenMP offload
-```{contents}
----
-local:
----
-```
 
 
 ## Details
diff --git a/flang/docs/OpenMP-extensions.md b/flang/docs/OpenMP-extensions.md
index 07eada5adc1fd8..04cc3de667455d 100644
--- a/flang/docs/OpenMP-extensions.md
+++ b/flang/docs/OpenMP-extensions.md
@@ -11,11 +11,6 @@
 
 See also {doc}`OpenMPSupport` for a general overview of OpenMP support in Flang.
 
-```{contents}
----
-local:
----
-```
 
 The Flang compiler supports several extensions to OpenMP API features, providing enhanced parallelism and data management capabilities for Fortran applications.  This document outlines the supported extensions and their usage within Flang.
 
diff --git a/flang/docs/OpenMP-semantics.md b/flang/docs/OpenMP-semantics.md
index de85f98292d109..fb257b953972fc 100644
--- a/flang/docs/OpenMP-semantics.md
+++ b/flang/docs/OpenMP-semantics.md
@@ -8,11 +8,6 @@
 
 # OpenMP Semantic Analysis
 
-```{contents}
----
-local:
----
-```
 
 ## OpenMP for Flang
 
diff --git a/flang/docs/OpenMPSupport.md b/flang/docs/OpenMPSupport.md
index e7e55ea299f27f..71437a0025ac81 100644
--- a/flang/docs/OpenMPSupport.md
+++ b/flang/docs/OpenMPSupport.md
@@ -38,11 +38,6 @@
 </style>
 ```
 
-```{contents}
----
-local:
----
-```
 
 This document outlines the OpenMP API features supported by Flang. It is
 intended as a general reference.  For the most accurate information on
diff --git a/flang/docs/Overview.md b/flang/docs/Overview.md
index 64df20efd1895b..e3f78987e1ce45 100644
--- a/flang/docs/Overview.md
+++ b/flang/docs/Overview.md
@@ -8,11 +8,6 @@
 
 # Overview of Compiler Phases
 
-```{contents}
----
-local:
----
-```
 The Flang compiler transforms Fortran source code into an executable file.
 This transformation proceeds in three high level phases -- analysis, lowering,
 and code generation/linking.
diff --git a/flang/docs/ParserCombinators.md b/flang/docs/ParserCombinators.md
index c594d6d96cce34..ce20c5c43e1b77 100644
--- a/flang/docs/ParserCombinators.md
+++ b/flang/docs/ParserCombinators.md
@@ -8,11 +8,6 @@
 
 # Parser Combinators
 
-```{contents}
----
-local:
----
-```
 
 This document is a primer on Parser Combinators and their use in Flang.
 
diff --git a/flang/docs/Parsing.md b/flang/docs/Parsing.md
index eae92519c6004c..f0530c7d6cca8d 100644
--- a/flang/docs/Parsing.md
+++ b/flang/docs/Parsing.md
@@ -8,11 +8,6 @@
 
 # The Flang Parser
 
-```{contents}
----
-local:
----
-```
 
 This program source code implements a parser for the Fortran programming
 language.
diff --git a/flang/docs/Preprocessing.md b/flang/docs/Preprocessing.md
index e1679223197852..e5820ff74d8f71 100644
--- a/flang/docs/Preprocessing.md
+++ b/flang/docs/Preprocessing.md
@@ -8,11 +8,6 @@
 
 # Fortran Preprocessing
 
-```{contents}
----
-local:
----
-```
 
 ## Behavior common to (nearly) all compilers:
 
diff --git a/flang/docs/RuntimeDescriptor.md b/flang/docs/RuntimeDescriptor.md
index a2a701a8c02bd9..c4d24fba1558ab 100644
--- a/flang/docs/RuntimeDescriptor.md
+++ b/flang/docs/RuntimeDescriptor.md
@@ -8,11 +8,6 @@
 
 # Runtime Descriptors
 
-```{contents}
----
-local:
----
-```
 
 ## Concept
 The properties that characterize data values and objects in Fortran
diff --git a/flang/docs/RuntimeEnvironment.md b/flang/docs/RuntimeEnvironment.md
index 0414ea1e0d59c1..4ba5d883ea6ed2 100644
--- a/flang/docs/RuntimeEnvironment.md
+++ b/flang/docs/RuntimeEnvironment.md
@@ -6,11 +6,6 @@
 
 -->
 
-```{contents}
----
-local:
----
-```
 
 # Environment variables of significance to Fortran execution
 
diff --git a/flang/docs/RuntimeTypeInfo.md b/flang/docs/RuntimeTypeInfo.md
index c41a9975c3b9f6..5b96052f199014 100644
--- a/flang/docs/RuntimeTypeInfo.md
+++ b/flang/docs/RuntimeTypeInfo.md
@@ -8,11 +8,6 @@
 
 # The derived type runtime information table
 
-```{contents}
----
-local:
----
-```
 
 ## Overview
 
diff --git a/flang/docs/Semantics.md b/flang/docs/Semantics.md
index 636e499ae8f64f..b9146951742b4e 100644
--- a/flang/docs/Semantics.md
+++ b/flang/docs/Semantics.md
@@ -8,11 +8,6 @@
 
 # Semantic Analysis
 
-```{contents}
----
-local:
----
-```
 
 The semantic analysis pass determines if a syntactically correct Fortran
 program is legal by enforcing the constraints of the language.
diff --git a/flang/docs/Unsigned.md b/flang/docs/Unsigned.md
index be99ba9b616efc..4d47cf5c8bf4c7 100644
--- a/flang/docs/Unsigned.md
+++ b/flang/docs/Unsigned.md
@@ -8,11 +8,6 @@
 
 # Flang support for UNSIGNED type
 
-```{contents}
----
-local:
----
-```
 
 For better compatibility with GNU Fortran and Sun Fortran,
 this compiler supports an option (`-funsigned`) that enables
diff --git a/flang/docs/_static/custom.css b/flang/docs/_static/custom.css
new file mode 100644
index 00000000000000..504e0a61b3ba62
--- /dev/null
+++ b/flang/docs/_static/custom.css
@@ -0,0 +1,20 @@
+/* Use the full viewport on ordinary desktop displays, where Furo's fixed
+   content width leaves little room after both sidebars. Once the content area
+   reaches 90em (84em plus padding), grow symmetric outer margins instead. */
+ at media (min-width: 67em) {
+  .page .sidebar-drawer {
+    width: max(15em, calc(50% - 45em));
+  }
+
+  .main > .content {
+    width: min(84em, calc(100vw - 36em));
+  }
+}
+
+/* Furo moves the page-local TOC into a drawer below 82em, freeing its 15em
+   column for the main content. */
+ at media (min-width: 67em) and (max-width: 82em) {
+  .main > .content {
+    width: calc(100vw - 21em);
+  }
+}
diff --git a/flang/docs/conf.py b/flang/docs/conf.py
index 1ad0c19ecb3fd2..aa95547b16a19b 100644
--- a/flang/docs/conf.py
+++ b/flang/docs/conf.py
@@ -86,22 +86,18 @@
 
 # -- Options for HTML output ---------------------------------------------------
 
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-html_theme = "haiku"
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-# html_theme_options = {}
+configure_furo(
+    globals(),
+    source_directory="flang/docs/",
+    html_title="The Flang Compiler",
+    html_logo=shared_static_asset("LLVMWyvernSmall.png"),
+    local_static_path=["_static"],
+    extra_css_files=["custom.css"],
+)
 
 # Add any paths that contain custom themes here, relative to this directory.
 # html_theme_path = []
 
-# The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
-html_title = "The Flang Compiler"
-
 # A shorter title for the navigation bar.  Default is the same as html_title.
 # html_short_title = None
 
@@ -114,11 +110,6 @@
 # pixels large.
 # html_favicon = None
 
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-# html_static_path = []
-
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
 html_last_updated_fmt = "%b %d, %Y"



More information about the flang-commits mailing list