Template:RidgeRun Video Stabilization Library/TOC: Difference between revisions
No edit summary |
No edit summary |
||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<templatestyles src="RidgeRun Video Stabilization Library/styles.css" /> | |||
{{#tag:html| | |||
| | <head> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"> | |||
<style> | |||
.toc-sub-list { | |||
display: {{#if:{{{expanded|}}}|block|none}} !important; /* Display sub-lists by default block/none */ | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="wiki-toc"> | |||
{{#if:{{{logo|}}}| | |||
<div class="wiki-toc-logo"> | |||
<img src="https://developer.ridgerun.com/wiki/images/d/d0/Logo-RVS-Small.png?20240619191902" alt="Logo"> | |||
</div> | |||
}} | |||
{{#if:{{{title|}}}| | |||
<div class="wiki-toc-title"> | |||
<a href="https://developer.ridgerun.com/wiki/index.php?title=RidgeRun_Video_Stabilization_Library"> | |||
RidgeRun Video Stabilization Library</a> | |||
</div> | |||
}} | |||
<div class="wiki-toc-header"> | |||
Table of Contents | |||
<span class="toc-toggle">[Sticky]</span> | |||
<span class="collapse-all"> | |||
<i class="fas {{#if:{{{expanded|}}}|fa-minus|fa-plus}}" id="collapseAllIcon"></i> | |||
</span> | |||
</div> | |||
<div class="wiki-search-bar"> | |||
<input type="text" class="wiki-search-input" id="tocSearchInput" placeholder="Search TOC..."> | |||
</div> | |||
<ul class="wiki-toc-list"> | |||
<li> | |||
<a class="toc-section-header" href="{{{BaseUrl}}}/Basics_and_Foundation"> | |||
Basics and Foundation | |||
<i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i> | |||
</a> | |||
<ul class="toc-sub-list"> | |||
<li><a href="{{{BaseUrl}}}/Basics_and_Foundation/What_is_Video_Stabilization">What is Video Stabilization</a></li> | |||
<li><a href="{{{BaseUrl}}}/Basics_and_Foundation/Video_Stabilization_Process_using_IMU">Video Stabilization Process using IMU</a></li> | |||
<li><a href="{{{BaseUrl}}}/Basics_and_Foundation/Stabilization_Algorithms_with_IMU">Stabilization Algorithms with IMU</a></li> | |||
</ul> | |||
</li> | |||
<li> | |||
<a class="toc-section-header" href="{{{BaseUrl}}}/Getting_Started"> | |||
Getting Started | |||
<i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i> | |||
</a> | |||
<ul class="toc-sub-list"> | |||
<li><a href="{{{BaseUrl}}}/Getting_Started/Supported_Platforms_and_Backends">Supported Platforms, Sensors and Backends</a></li> | |||
<li><a href="{{{BaseUrl}}}/Getting_Started/Evaluating_the_Library">Evaluating the Library</a></li> | |||
<li><a href="{{{BaseUrl}}}/Getting_Started/Getting_the_Code">Getting the Code</a></li> | |||
<li><a href="{{{BaseUrl}}}/Getting_Started/Building_the_Library">Building the Library</a></li> | |||
</ul> | |||
</li> | |||
<li> | |||
<a class="toc-section-header" href="{{{BaseUrl}}}/API_Reference"> | |||
API Reference | |||
<i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i> | |||
</a> | |||
<ul class="toc-sub-list"> | |||
<li><a href="{{{BaseUrl}}}/API_Reference/Library_Architecture">Library Architecture</a></li> | |||
<li><a href="{{{BaseUrl}}}/API_Reference/Adding_New_Sensors">Adding New Sensors</a></li> | |||
<li><a href="{{{BaseUrl}}}/API_Reference/Adding_Algorithms">Adding Algorithms</a></li> | |||
<li><a href="{{{BaseUrl}}}/API_Reference/Adding_Stabilization_Algorithm">Adding Stabilization Algorithm</a></li> | |||
<li><a href="{{{BaseUrl}}}/API_Reference/Adding_Backends">Adding Backends</a></li> | |||
<li><a href="http://ridgerun.pages.ridgerun.com/rnd/ridgerun-video-stabilizer/index.html" target="_blank">API Documentation</a></li> | |||
<li><a href="{{{BaseUrl}}}/API_Reference/Examples_Guidebook">Examples Guidebook</a></li> | |||
</ul> | |||
</li> | |||
<li> | |||
<a class="toc-section-header" href="{{{BaseUrl}}}/Library_Integration_for_IMU"> | |||
Library Integration for IMU | |||
<i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i> | |||
</a> | |||
<ul class="toc-sub-list"> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Preparing_the_Video">Preparing the Video</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Preparing_the_IMU_Measurements">Preparing the IMU Measurements</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Measurement_Integration">Measurement Integration</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Interpolation">Interpolation</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Computing_the_Stabilization">Computing the Stabilization</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Video_Undistortion">Video Undistortion</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Example_Application">Example Application</a></li> | |||
</ul> | |||
</li> | |||
<li> | |||
| | <a href="{{{BaseUrl}}}/GStreamer" class="toc-section-header"> | ||
GStreamer | |||
< | <i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i> | ||
</a> | |||
<ul class="toc-sub-list"> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Add_Support_for_Video_Timestamps">Add Support for Video Timestamps</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Add_Support_for_IMU_Sensors">Add Support for IMU Sensors</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Video_Stabilizer_Element">Video Stabilizer Element</a></li> | |||
<li><a href="{{{BaseUrl}}}/Library_Integration_for_IMU/Example_Pipelines">Example Pipelines</a></li> | |||
</ul> | |||
</li> | |||
<li> | |||
<a class="toc-section-header" href="{{{BaseUrl}}}/Useful_Links"> | |||
Useful Links | |||
<i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i> | |||
</a> | |||
<ul class="toc-sub-list"> | |||
<li><a href="{{{BaseUrl}}}/Useful_Links/BMI160_Setup">BMI160 Setup</a></li> | |||
<li><a href="{{{BaseUrl}}}/Useful_Links/Performance">Performance</a></li> | |||
</ul> | |||
</li> | |||
<li> | |||
<a class="toc-section-header" href="https://www.ridgerun.com/contact"> | |||
Contact Us | |||
</a> | |||
</li> | |||
</ul> | |||
</div> | |||
<script> | |||
document.addEventListener('DOMContentLoaded', function () { | |||
var icons = document.querySelectorAll('.icon-toggle'); | |||
var toc = document.querySelector('.wiki-toc'); | |||
var tocToggle = document.querySelector('.toc-toggle'); | |||
var collapseAllToggle = document.querySelector('.collapse-all'); | |||
var collapseAllIcon = document.querySelector('#collapseAllIcon'); | |||
// Initialize state of sub-lists | |||
var isExpanded = collapseAllIcon.classList.contains('fa-minus'); | |||
document.querySelectorAll('.toc-sub-list').forEach(function (subList) { | |||
if (subList) { | |||
subList.style.setProperty('display', isExpanded ? 'block' : 'none', 'important'); | |||
} | |||
}); | |||
document.querySelectorAll('.icon-toggle').forEach(function (icon) { | |||
var subList = icon.parentElement.nextElementSibling; | |||
if (subList) { | |||
icon.classList.toggle('expanded', subList.style.display === 'block'); | |||
icon.classList.toggle('collapsed', subList.style.display !== 'block'); | |||
} | |||
}); | |||
icons.forEach(function (icon) { | |||
icon.addEventListener('click', function (event) { | |||
event.preventDefault(); // Prevent default link behavior | |||
var subList = this.parentElement.nextElementSibling; // Get the sub-list related to this icon | |||
if (subList) { | |||
if (subList.style.display === 'block') { | |||
// subList.style.display = 'none'; | |||
subList.style.setProperty('display', 'none', 'important'); | |||
this.classList.remove('expanded'); | |||
this.classList.add('collapsed'); | |||
} else { | |||
// subList.style.display = 'block'; | |||
subList.style.setProperty('display', 'block', 'important'); | |||
this.classList.remove('collapsed'); | |||
this.classList.add('expanded'); | |||
} | |||
} | |||
}); | |||
}); | |||
tocToggle.addEventListener('click', function () { | |||
var isSticky = toc.classList.toggle('sticky'); | |||
tocToggle.textContent = '[' + (isSticky ? 'Floating' : 'Sticky') + ']'; | |||
}); | |||
collapseAllToggle.addEventListener('click', function () { | |||
isExpanded = !isExpanded; // Toggle state | |||
document.querySelectorAll('.toc-sub-list').forEach(function (subList) { | |||
if (subList) { | |||
subList.style.setProperty('display', isExpanded ? 'block' : 'none', 'important'); | |||
} | |||
}); | |||
document.querySelectorAll('.icon-toggle').forEach(function (icon) { | |||
icon.classList.toggle('expanded', isExpanded); | |||
icon.classList.toggle('collapsed', !isExpanded); | |||
}); | |||
collapseAllIcon.classList.toggle('fa-minus', isExpanded); | |||
collapseAllIcon.classList.toggle('fa-plus', !isExpanded); | |||
}); | |||
// Function to highlight the current page | |||
function highlightCurrentPage() { | |||
var currentPage = window.location.pathname.split('/').pop(); // Get the current page name | |||
var links = document.querySelectorAll('.wiki-toc-list a'); | |||
links.forEach(function (link) { | |||
var linkPage = link.href.split('/').pop(); // Extract page name from link | |||
linkPage = linkPage.replace(/%20/g, '_'); | |||
linkPage = linkPage.replace(/ /g, '_'); | |||
if (linkPage === currentPage) { | |||
link.classList.add('current-page'); | |||
var parentLi = link.closest('ul').previousElementSibling; | |||
//if (parentLi && parentLi.classList.contains('toc-section-header')) { | |||
//parentLi.classList.add('current-section'); | |||
//} | |||
} | |||
}); | |||
} | |||
highlightCurrentPage(); | |||
// Search functionality | |||
var tocSearchInput = document.getElementById('tocSearchInput'); | |||
var tocItems = document.querySelectorAll('.wiki-toc-list > li'); | |||
tocSearchInput.addEventListener('input', function () { | |||
var searchText = tocSearchInput.value.toLowerCase(); | |||
tocItems.forEach(function (item) { | |||
var links = item.querySelectorAll('a'); | |||
var matchFound = false; | |||
links.forEach(function (link) { | |||
if (link.textContent.toLowerCase().includes(searchText)) { | |||
matchFound = true; | |||
} | |||
}); | |||
if (matchFound) { | |||
item.style.display = ''; // Show item | |||
} else { | |||
item.style.display = 'none'; // Hide item | |||
} | |||
}); | |||
}); | |||
}); | |||
</script> | |||
</body> | |||
}} | }} | ||
<noinclude> | <noinclude> | ||
[[Category:RidgeRun Video Stabilization Library Templates]] | [[Category:RidgeRun Video Stabilization Library Templates]] | ||
</noinclude> | </noinclude> |
Latest revision as of 15:19, 18 September 2024
Table of Contents
[Sticky]