mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-12-16 01:48:56 +08:00
408 lines
21 KiB
HTML
408 lines
21 KiB
HTML
<!-- HTML header for doxygen 1.9.8-->
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
<meta name="generator" content="Doxygen 1.12.0"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>FTXUI: Conan</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<script type="text/javascript" src="doxygen-awesome-fragment-copy-button.js"></script>
|
||
<script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script>
|
||
<script type="text/javascript" src="doxygen-awesome-interactive-toc.js"></script>
|
||
<script type="text/javascript" src="doxygen-awesome-tabs.js"></script>
|
||
<script type="module">
|
||
DoxygenAwesomeFragmentCopyButton.init()
|
||
DoxygenAwesomeParagraphLink.init()
|
||
DoxygenAwesomeInteractiveToc.init()
|
||
DoxygenAwesomeTabs.init()
|
||
await new Promise(r => window.addEventListener('DOMContentLoaded', r));
|
||
// Remove title when a img[alt='title-img'] is present.
|
||
// Find an image with the alt "img-title".
|
||
const img = document.querySelector("img[alt='title-img']");
|
||
const header = document.querySelector(".headertitle");
|
||
if (img && header) {
|
||
// Hide the header title progressively.
|
||
header.style.display = "none";
|
||
// Show progressively the image.
|
||
img.style.maxHeight = "40vh";
|
||
img.style.maxWidth = "100%";
|
||
img.style.objectFit = "contain";
|
||
}
|
||
// In the "examples.html" page. Turn every link with text
|
||
// "examples/<...>
|
||
//
|
||
// Add a "demo" link toward.
|
||
// https://arthursonzogni.github.io/FTXUI/examples/?file=<...>
|
||
const examples = document.querySelectorAll("a")
|
||
examples.forEach((example) => {
|
||
if (!example.textContent.startsWith("examples/")) {
|
||
return;
|
||
}
|
||
// Remove the ".cpp" extension from the example name.
|
||
const exampleName = example.textContent.replace("examples/", "").replace(".cpp", "");
|
||
const a = document.createElement("a");
|
||
a.textContent = "[demo]";
|
||
a.href = "https://arthursonzogni.github.io/FTXUI/examples/?file=" + exampleName;
|
||
a.style.marginRight= "1em";
|
||
a.style.fontWeight = "bold";
|
||
example.parentElement.insertBefore(a, example)
|
||
});
|
||
// If the current URL ends with -example.html, we can add a link to the demo
|
||
// as well using the div.title textContent.
|
||
const url = new URL(window.location.href);
|
||
if (url.pathname.endsWith("-example.html")) {
|
||
// Get the title text.
|
||
const title = document.querySelector("div.title").textContent;
|
||
const example = title.replace("examples/", "").replace(".cpp", "");
|
||
// Create a link to the demo.
|
||
const a = document.createElement("a");
|
||
a.textContent = "[demo]";
|
||
a.href = "https://arthursonzogni.github.io/FTXUI/examples/?file=" + example;
|
||
a.style.marginLeft = "1em";
|
||
a.style.fontWeight = "bold";
|
||
a.style.display = "inline-block";
|
||
// Insert the link after the title.
|
||
const titleDiv = document.querySelector("div.title");
|
||
if (titleDiv) {
|
||
titleDiv.insertBefore(a, titleDiv.nextSibling);
|
||
}
|
||
}
|
||
</script>
|
||
<script type="module">
|
||
// Click on the navtree, except for the main page where this is already done
|
||
// automatically.
|
||
let delay = 0;
|
||
while(true) {
|
||
const navtree = document.querySelector("div.item.selected");
|
||
if (!navtree) {
|
||
delay *= 2;
|
||
delay += 1;
|
||
await new Promise(resolve => setTimeout(resolve, delay));
|
||
continue;
|
||
}
|
||
// Include only selected navtree items.
|
||
console.log("navtree.textContent", navtree.textContent);
|
||
if (!navtree.textContent.includes("Getting Started") &&
|
||
!navtree.textContent.includes("Installation") &&
|
||
!navtree.textContent.includes("ftxui / screen") &&
|
||
!navtree.textContent.includes("ftxui / dom") &&
|
||
!navtree.textContent.includes("ftxui / component") &&
|
||
!navtree.textContent.includes("Reference")) {
|
||
break;
|
||
}
|
||
// Find the first link inside the navtree.
|
||
const link = navtree.querySelector("a");
|
||
if (link) {
|
||
// Simulate a click on the link.
|
||
link.click();
|
||
break;
|
||
}
|
||
}
|
||
</script>
|
||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="navtreedata.js"></script>
|
||
<script type="text/javascript" src="navtree.js"></script>
|
||
<script type="text/javascript" src="resize.js"></script>
|
||
<script type="text/javascript" src="cookie.js"></script>
|
||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||
<script type="text/javascript" src="search/search.js"></script>
|
||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
||
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
|
||
</head>
|
||
<body>
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr id="projectrow">
|
||
<td id="projectalign">
|
||
<div id="projectname">FTXUI<span id="projectnumber"> 6.1.9</span>
|
||
</div>
|
||
<div id="projectbrief">C++ functional terminal UI.</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- Généré par Doxygen 1.12.0 -->
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() { codefold.init(0); });
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript" src="menudata.js"></script>
|
||
<script type="text/javascript" src="menu.js"></script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() {
|
||
initMenu('',true,false,'search.php','Recherche',true);
|
||
$(function() { init_search(); });
|
||
});
|
||
/* @license-end */
|
||
</script>
|
||
<div id="main-nav"></div>
|
||
</div><!-- top -->
|
||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||
<div id="nav-tree">
|
||
<div id="nav-tree-contents">
|
||
<div id="nav-sync" class="sync"></div>
|
||
</div>
|
||
</div>
|
||
<div id="splitbar" style="-moz-user-select:none;"
|
||
class="ui-resizable-handle">
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function(){initNavTree('installation_conan.html',''); initResizable(true); });
|
||
/* @license-end */
|
||
</script>
|
||
<div id="doc-content">
|
||
<!-- window showing the filter options -->
|
||
<div id="MSearchSelectWindow"
|
||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||
</div>
|
||
|
||
<!-- iframe showing the search results (closed by default) -->
|
||
<div id="MSearchResultsWindow">
|
||
<div id="MSearchResults">
|
||
<div class="SRPage">
|
||
<div id="SRIndex">
|
||
<div id="SRResults"></div>
|
||
<div class="SRStatus" id="Loading">Chargement...</div>
|
||
<div class="SRStatus" id="Searching">Recherche...</div>
|
||
<div class="SRStatus" id="NoMatches">Aucune correspondance</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div><div class="header">
|
||
<div class="headertitle"><div class="title">Conan</div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
<div class="toc"><h3>Table des matières</h3>
|
||
<ul>
|
||
<li class="level1 empty">
|
||
<ul>
|
||
<li class="level2">
|
||
<a href="#prérequis">Prérequis</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#configuration">Configuration</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#installer-les-dépendances-et-construire">Installer les dépendances et construire</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="textblock"><p>FTXUI peut être facilement obtenu et intégré à votre projet à l'aide du gestionnaire de paquets Conan.</p>
|
||
<h2><a class="anchor" id="prérequis"></a>
|
||
Prérequis</h2>
|
||
<p>Tout d'abord, assurez-vous que Conan est installé sur votre système. Si ce n'est pas le cas, vous pouvez l'installer via pip :</p>
|
||
<div class="fragment"><div class="line">pip install conan</div>
|
||
</div><!-- fragment --><p> Conan fonctionne souvent en tandem avec CMake, vous devrez donc également avoir CMake installé. Une fois que vous avez confirmé que Conan et CMake sont installés, créez un répertoire de projet, par exemple, <code>ftxui-demo</code> :</p>
|
||
<div class="fragment"><div class="line">mkdir C:\ftxui-demo</div>
|
||
<div class="line">cd C:\ftxui-demo</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="configuration"></a>
|
||
Configuration</h2>
|
||
<p>Après vous être assuré que votre environnement est correctement configuré, créez un fichier de configuration Conan <code>conanfile.txt</code>. Ce fichier est utilisé pour déclarer les dépendances de votre projet. Le paquet FTXUI maintenu par la communauté peut être trouvé sur <a href="https://conan.io/center/recipes/ftxui">Conan Center</a>.</p>
|
||
<dl class="section note"><dt>Note</dt><dd>Il s'agit d'un script de construction non officiel. Cela signifie qu'il n'est pas maintenu par l'équipe FTXUI mais par la communauté. Le mainteneur du paquet semble le mettre à jour activement aux dernières versions. Un grand merci au mainteneur pour son travail !</dd></dl>
|
||
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">A faire</a></b></dt><dd>Si vous êtes familier avec le processus, veuillez envisager d'ajouter un script de construction "officiel" à Conan Center. Il pourrait s'agir d'une action GitHub qui met à jour automatiquement Conan Center lors de nouvelles versions.</dd></dl>
|
||
<div class="fragment"><div class="line">[requires]</div>
|
||
<div class="line">ftxui/6.0.2</div>
|
||
<div class="line"> </div>
|
||
<div class="line">[generators]</div>
|
||
<div class="line">CMakeDeps</div>
|
||
<div class="line">CMakeToolchain</div>
|
||
<div class="line"> </div>
|
||
<div class="line">[layout]</div>
|
||
<div class="line">cmake_layout</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="installer-les-dépendances-et-construire"></a>
|
||
Installer les dépendances et construire</h2>
|
||
<p>Une fois configuré, exécutez la commande suivante pour installer FTXUI et ses dépendances :</p>
|
||
<div class="fragment"><div class="line">conan install . --output-folder=build --build=missing</div>
|
||
</div><!-- fragment --><p>Cela téléchargera et installera <code>ftxui/6.0.2</code> ainsi que toutes ses dépendances à partir des référentiels distants de Conan.</p>
|
||
<p>Après l'installation terminée, vous pouvez la tester en créant un fichier <code>demo.cpp</code> dans votre répertoire de projet :</p>
|
||
<div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="screen_8hpp.html">ftxui/screen/screen.hpp</a>></span></div>
|
||
<div class="line"><span class="preprocessor">#include <<a class="code" href="elements_8hpp.html">ftxui/dom/elements.hpp</a>></span></div>
|
||
<div class="line"><span class="preprocessor">#include <iostream></span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keywordtype">int</span> <a class="code hl_function" href="examples_2component_2button_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
|
||
<div class="line"> <span class="keyword">using namespace </span><a class="code hl_namespace" href="namespaceftxui.html">ftxui</a>;</div>
|
||
<div class="line"> <span class="keyword">auto</span> document = hbox({</div>
|
||
<div class="line"> text(<span class="stringliteral">" Hello "</span>),</div>
|
||
<div class="line"> text(<span class="stringliteral">"FTXUI "</span>) | bold | <a class="code hl_function" href="group__dom.html#ga050df9c8ed04eec13309d6c0542c636d">color</a>(Color::Red),</div>
|
||
<div class="line"> text(<span class="stringliteral">" world! "</span>)</div>
|
||
<div class="line"> });</div>
|
||
<div class="line"> <span class="keyword">auto</span> <a class="code hl_variable" href="composition_8cpp.html#af714c99ec9f8e04253d194a65f0e9ed8">screen</a> = Screen::Create(Dimension::Full(), Dimension::Fit(document));</div>
|
||
<div class="line"> <a class="code hl_function" href="group__dom.html#gad4b8aa9392f56ba41e2b421e046a7d83">Render</a>(<a class="code hl_variable" href="composition_8cpp.html#af714c99ec9f8e04253d194a65f0e9ed8">screen</a>, document);</div>
|
||
<div class="line"> std::cout << <a class="code hl_variable" href="composition_8cpp.html#af714c99ec9f8e04253d194a65f0e9ed8">screen</a>.ToString() << std::endl;</div>
|
||
<div class="line"> <span class="keywordflow">return</span> 0;</div>
|
||
<div class="line">}</div>
|
||
<div class="ttc" id="acomposition_8cpp_html_af714c99ec9f8e04253d194a65f0e9ed8"><div class="ttname"><a href="composition_8cpp.html#af714c99ec9f8e04253d194a65f0e9ed8">screen</a></div><div class="ttdeci">auto screen</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00056">composition.cpp:56</a></div></div>
|
||
<div class="ttc" id="aelements_8hpp_html"><div class="ttname"><a href="elements_8hpp.html">elements.hpp</a></div></div>
|
||
<div class="ttc" id="aexamples_2component_2button_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="examples_2component_2button_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition</b> <a href="examples_2component_2button_8cpp_source.html#l00033">examples/component/button.cpp:33</a></div></div>
|
||
<div class="ttc" id="agroup__dom_html_ga050df9c8ed04eec13309d6c0542c636d"><div class="ttname"><a href="group__dom.html#ga050df9c8ed04eec13309d6c0542c636d">color</a></div><div class="ttdeci">Element color(const LinearGradient &gradient, Element child)</div><div class="ttdoc">Définit la couleur de premier plan d'un élément avec un effet de dégradé linéaire.</div><div class="ttdef"><b>Definition</b> <a href="src_2ftxui_2dom_2linear__gradient_8cpp_source.html#l00241">src/ftxui/dom/linear_gradient.cpp:241</a></div></div>
|
||
<div class="ttc" id="agroup__dom_html_gad4b8aa9392f56ba41e2b421e046a7d83"><div class="ttname"><a href="group__dom.html#gad4b8aa9392f56ba41e2b421e046a7d83">Render</a></div><div class="ttdeci">void Render(Screen &screen, const Element &element)</div><div class="ttdoc">Affiche un élément sur un ftxui::Screen.</div><div class="ttdef"><b>Definition</b> <a href="node_8cpp_source.html#l00083">node.cpp:83</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html"><div class="ttname"><a href="namespaceftxui.html">ftxui</a></div><div class="ttdoc">L'espace de noms FTXUI ftxui::</div><div class="ttdef"><b>Definition</b> <a href="animation_8hpp_source.html#l00010">animation.hpp:10</a></div></div>
|
||
<div class="ttc" id="ascreen_8hpp_html"><div class="ttname"><a href="screen_8hpp.html">screen.hpp</a></div></div>
|
||
</div><!-- fragment --><p>Si le test est réussi, vous pouvez alors créer un fichier <code>CMakeLists.txt</code> dans le répertoire du projet :</p>
|
||
<div class="fragment"><div class="line">cmake_minimum_required(VERSION 3.20)</div>
|
||
<div class="line">project(ftxui-demo)</div>
|
||
<div class="line"> </div>
|
||
<div class="line"># Set the C++ standard</div>
|
||
<div class="line">set(CMAKE_CXX_STANDARD 20)</div>
|
||
<div class="line"> </div>
|
||
<div class="line"># Find the FTXUI package installed via Conan</div>
|
||
<div class="line">find_package(ftxui CONFIG REQUIRED)</div>
|
||
<div class="line"> </div>
|
||
<div class="line"># Create the executable</div>
|
||
<div class="line">add_executable(demo demo.cpp)</div>
|
||
<div class="line"> </div>
|
||
<div class="line"># Link the executable to the FTXUI library</div>
|
||
<div class="line">target_link_libraries(demo PRIVATE ftxui::component)</div>
|
||
</div><!-- fragment --><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">A faire</a></b></dt><dd>考虑到中国多数地区使用Conan很有可能遇到各种网络问题,我想做一个定制的版本说明,但是我对conan的了解有限再加上没有找到合适的资料,因此这个计划短暂的被搁置了,如果您知道方法,欢迎在<a href="xiaoditx.girhub.io/public/docs/ftxui%E4%B8%AD%E6%96%87%E7%BF%BB%E8%AF%91/installation/conan/">中文版本</a>的下方留下评论以提醒我</dd></dl>
|
||
<hr />
|
||
<div class="section_buttons"></div><div class="section_buttons"><table class="markdownTable">
|
||
<tr class="markdownTableHead">
|
||
<th class="markdownTableHeadLeft">Précédent </th></tr>
|
||
<tr class="markdownTableRowOdd">
|
||
<td class="markdownTableBodyLeft"><a href="getting-started.html">Premiers pas</a> </td></tr>
|
||
</table>
|
||
</div><div class="section_buttons"></div> </div></div><!-- contents -->
|
||
</div><!-- PageDoc -->
|
||
</div><!-- doc-content -->
|
||
<!-- HTML footer for doxygen 1.9.8-->
|
||
<!-- start footer part -->
|
||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||
</div>
|
||
<script>
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
const projectNumber = document.getElementById('projectname');
|
||
|
||
if (!projectNumber) {
|
||
console.warn('Doxygen element with ID "projectnumber" not found. Cannot add version switcher.');
|
||
return;
|
||
}
|
||
|
||
const langs = ["en", "es", "fr", "ja", "zh-CH", "zh-TW"];
|
||
const lang_paths = {"en": "../index.html", "es": "../es/index.html", "fr": "index.html", "ja": "../ja/index.html", "zh-CH": "../zh-CH/index.html", "zh-TW": "../zh-TW/index.html"};
|
||
const lang_display = {"en": "English", "es": "Espa\u00f1ol", "fr": "Fran\u00e7ais", "ja": "\u65e5\u672c\u8a9e", "zh-CH": "\u4e2d\u6587 (\u7b80\u4f53)", "zh-TW": "\u4e2d\u6587 (\u7e41\u9ad4)"};
|
||
const versions = ["main"];
|
||
const version_paths = {"main": "index.html"};
|
||
const currentLang = "fr";
|
||
const currentVersion = "main";
|
||
|
||
// Helper function to create a styled select element
|
||
const createSelect = (options, current, paths, label, displayMap = null) => {
|
||
const select = document.createElement('select');
|
||
select.title = label;
|
||
select.onchange = function() {
|
||
const selectedValue = this.value;
|
||
if (selectedValue in paths) {
|
||
window.location.href = paths[selectedValue];
|
||
}
|
||
};
|
||
|
||
// Sort versions: 'main' first, then others numerically descending.
|
||
options.sort((a, b) => {
|
||
if (a === 'main') return -1;
|
||
if (b === 'main') return 1;
|
||
return b.localeCompare(a, undefined, { numeric: true, sensitivity: 'base' });
|
||
});
|
||
|
||
options.forEach(v => {
|
||
const option = document.createElement('option');
|
||
option.value = v;
|
||
// Use the displayMap if provided, otherwise default to the value (v)
|
||
option.textContent = displayMap ? displayMap[v] : v;
|
||
if (v === current) {
|
||
option.selected = true;
|
||
}
|
||
select.appendChild(option);
|
||
});
|
||
|
||
// Apply some styling to make it look good.
|
||
Object.assign(select.style, {
|
||
backgroundColor: 'rgba(0, 0, 0, 0.8)',
|
||
color: 'white',
|
||
border: '1px solid rgba(255, 255, 255, 0.2)',
|
||
padding: '5px',
|
||
borderRadius: '5px',
|
||
fontSize: '14px',
|
||
fontFamily: 'inherit',
|
||
margin: '0 5px 0 0',
|
||
cursor: 'pointer'
|
||
});
|
||
return select;
|
||
};
|
||
|
||
// 1. Create Language Switcher, passing the language display names map
|
||
const langSelect = createSelect(langs, currentLang, lang_paths, 'Select Language', lang_display);
|
||
|
||
// 2. Create Version Switcher
|
||
const versionSelect = createSelect(versions, currentVersion, version_paths, 'Select Version');
|
||
|
||
// 3. Create FTXUI title.
|
||
const ftxuiTitle = document.createElement('span');
|
||
ftxuiTitle.textContent = 'FTXUI: ';
|
||
Object.assign(ftxuiTitle.style, {
|
||
color: 'white',
|
||
fontSize: '20px',
|
||
fontWeight: 'bold',
|
||
marginRight: '10px'
|
||
});
|
||
|
||
// 3. Create a container to hold both selectors
|
||
const container = document.createElement('div');
|
||
container.id = 'version-lang-switchers';
|
||
Object.assign(container.style, {
|
||
display: 'flex',
|
||
alignItems: 'center',
|
||
justifyContent: 'flex-end',
|
||
width: 'auto'
|
||
});
|
||
container.appendChild(ftxuiTitle);
|
||
container.appendChild(langSelect);
|
||
container.appendChild(versionSelect);
|
||
|
||
Object.assign(container.style, {
|
||
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
||
padding: '5px 10px',
|
||
borderRadius: '8px'
|
||
});
|
||
|
||
|
||
// Replace the Doxygen project number element with our container.
|
||
projectNumber.replaceWith(container);
|
||
|
||
// Clean up the original Doxygen project number text if it still exists nearby
|
||
const parent = container.parentElement;
|
||
if (parent) {
|
||
const textNode = Array.from(parent.childNodes).find(n => n.nodeType === 3 && n.textContent.trim() !== '');
|
||
if (textNode) {
|
||
textNode.remove();
|
||
}
|
||
}
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|