1
0
mirror of https://github.com/minio/docs.git synced 2025-07-30 07:03:26 +03:00

Proof of Concept on right-nav video links via RST + JS (#682)

This commit is contained in:
Ravind Kumar
2022-12-27 13:46:55 -05:00
committed by GitHub
parent 2fb4fb552a
commit 094d0df6b8
4 changed files with 99 additions and 8 deletions

View File

@ -157,19 +157,61 @@ window.addEventListener("DOMContentLoaded", (event) => {
// --------------------------------------------------
// TOC
// TOC, External Links
// --------------------------------------------------
(function () {
// Move the TOC to the right side of the page
const tocOriginalEl = document.getElementById("table-of-contents");
const tocTargetEl = document.getElementById("content-toc");
const tocAsideEL = document.querySelector(".content__toc");
// Move the TOC, External Links, etc. to the right side of the page
const extVideoLinks = document.querySelector(".extlinks-video")
if (tocOriginalEl) {
tocTargetEl.parentNode.replaceChild(tocOriginalEl, tocTargetEl);
const tocPreferredEl = document.getElementById("table-of-contents");
const tocLegacyEl = document.getElementById("content-toc");
// This is the target element for the "aside" or right nav bar
const tocAsideEl = document.querySelector(".content__toc");
// Don't need this element so remove it
tocLegacyEl.remove();
// Build an array of elements to add, in order
// Then iterate the array and append it, one by one, to the aside
const asideElements = new Array();
if (tocPreferredEl) {
asideElements.push(tocPreferredEl);
}
if (extVideoLinks) {
// Minor cleanups to the CSS classes
extVideoLinks.classList.remove("docutils", "container")
extVideoLinks.classList.add("topic")
// Inject the header text
const extVideoLinkHeader = document.createElement("div");
extVideoLinkHeader.classList.add("extVideoLink-header");
extVideoLinkHeader.innerHTML += "<p>Recommended Videos</p>";
extVideoLinks.prepend(extVideoLinkHeader);
asideElements.push(extVideoLinks)
// Need to force-add extlinks, they don't seem to get added as-is for some reason
const extVideoItems = document.querySelectorAll(".extlinks-video a");
extVideoItems.forEach(item => {
item.setAttribute("target","_blank");
item.setAttribute("rel", "noopener");
item.setAttribute("rel", "noreferrer");
});
}
// Sets the empty CSS class if nothing on the page goes in the sidebar
if (asideElements.length == 0) {
tocAsideEl.classList.add("content__toc--empty");
}
else {
tocAsideEL.classList.add("content__toc--empty");
for (i = 0; i < asideElements.length; i++) {
tocAsideEl.appendChild(asideElements[i]);
}
}
// Treat the TOC as a dropdown in mobile

View File

@ -28,6 +28,37 @@ div.topic {
z-index: $z-index-header - 2;
}
@include breakpoint-max(breakpoints(sm)) {
.extlinks-video {
display: none;
}
}
.extlinks-video {
ul {
padding: 0;
margin: .25rem 0 0 1rem;
font-size: $font-size-sm;
color: var(--text-muted-color);
ul {
margin-left: 0.75rem;
}
}
border-bottom: 1px $dark-500 solid;
padding: .5rem 0 .5rem 0;
}
.extVideoLink-header {
& > p {
color: var(--headings-color);
margin: 0;
line-height: 1;
font-size: $font-size-md;
font-weight: bold;
}
}
.icon {
height: 2.5rem;
width: 2.5rem;
@ -66,6 +97,8 @@ div.topic {
#table-of-contents {
flex: 1;
position: relative;
border-bottom: 1px $dark-500 solid;
padding: .5rem 0 .5rem 0;
.topic-title {
color: var(--headings-color);

View File

@ -10,6 +10,14 @@ Install and Deploy MinIO
:local:
:depth: 1
.. container:: extlinks-video
- `Installing and Running MinIO on Linux <https://www.youtube.com/watch?v=74usXkZpNt8&list=PLFOIsHSSYIK1BnzVY66pCL-iJ30Ht9t1o>`__
- `Object Storage Essentials <https://www.youtube.com/playlist?list=PLFOIsHSSYIK3WitnqhqfpeZ6fRFKHxIr7>`__
- `How to Connect to MinIO with JavaScript <https://www.youtube.com/watch?v=yUR4Fvx0D3E&list=PLFOIsHSSYIK3Dd3Y_x7itJT1NUKT5SxDh&index=5>`__
MinIO is a software-defined high performance distributed object storage server.
You can run MinIO on consumer or enterprise-grade hardware and a variety
of operating systems and architectures.

View File

@ -8,6 +8,14 @@ MinIO High Performance Object Storage
:local:
:depth: 2
.. container:: extlinks-video
- `Installing and Running MinIO on Linux <https://www.youtube.com/watch?v=74usXkZpNt8&list=PLFOIsHSSYIK1BnzVY66pCL-iJ30Ht9t1o>`__
- `Object Storage Essentials <https://www.youtube.com/playlist?list=PLFOIsHSSYIK3WitnqhqfpeZ6fRFKHxIr7>`__
- `How to Connect to MinIO with JavaScript <https://www.youtube.com/watch?v=yUR4Fvx0D3E&list=PLFOIsHSSYIK3Dd3Y_x7itJT1NUKT5SxDh&index=5>`__
MinIO is a high performance object storage solution that provides an Amazon Web Services S3-compatible API and supports all core S3 features.
MinIO is built to deploy anywhere - public or private cloud, baremetal infrastructure, orchestrated environments, and edge infrastructure.