diff --git a/.sphinx/_static/custom.css b/.sphinx/_static/custom.css index 9eca16f..3523d08 100644 --- a/.sphinx/_static/custom.css +++ b/.sphinx/_static/custom.css @@ -1,196 +1,224 @@ /** Enhanced typography with ABeeZee font **/ -div.page, h1, h2, h3, h4, h5, h6, .sidebar-tree .current-page>.reference, button, input, optgroup, select, textarea, th.head { - font-weight: 400; - font-family: var(--font-stack); +div.page, +h1, +h2, +h3, +h4, +h5, +h6, +.sidebar-tree .current-page > .reference, +button, +input, +optgroup, +select, +textarea, +th.head { + font-weight: 400; + font-family: var(--font-stack); } -.toc-tree li.scroll-current>.reference, dl.glossary dt, dl.simple dt, dl:not([class]) dt { - font-weight: 400; +.toc-tree li.scroll-current > .reference, +dl.glossary dt, +dl.simple dt, +dl:not([class]) dt { + font-weight: 400; } /** Improved heading hierarchy **/ h1 { - font-size: 2.5rem; - line-height: 1.2; - margin-top: 2rem; - margin-bottom: 1.5rem; - font-weight: 400; + font-size: 2.5rem; + line-height: 1.2; + margin-top: 2rem; + margin-bottom: 1.5rem; + font-weight: 400; } h2 { - font-size: 2rem; - line-height: 1.3; - margin-top: 2rem; - margin-bottom: 1rem; - font-weight: 400; + font-size: 2rem; + line-height: 1.3; + margin-top: 2rem; + margin-bottom: 1rem; + font-weight: 400; } h3 { - font-size: 1.5rem; - line-height: 1.4; - margin-top: 1.5rem; - margin-bottom: 0.75rem; - font-weight: 400; + font-size: 1.5rem; + line-height: 1.4; + margin-top: 1.5rem; + margin-bottom: 0.75rem; + font-weight: 400; } -h4, h5, h6 { - font-size: 1.25rem; - line-height: 1.4; - margin-top: 1.25rem; - margin-bottom: 0.5rem; - font-weight: 400; +h4, +h5, +h6 { + font-size: 1.25rem; + line-height: 1.4; + margin-top: 1.25rem; + margin-bottom: 0.5rem; + font-weight: 400; } /** Enhanced paragraph spacing and readability **/ p { - line-height: 1.7; - margin-bottom: 1.2rem; - text-align: justify; - font-family: var(--font-stack); + line-height: 1.7; + margin-bottom: 1.2rem; + text-align: justify; + font-family: var(--font-stack); } /** Enhanced list styling **/ -ul, ol { - margin-bottom: 1.2rem; - line-height: 1.6; +ul, +ol { + margin-bottom: 1.2rem; + line-height: 1.6; } /** Enhanced table styling **/ th.head { - text-transform: uppercase; - font-size: var(--font-size--small); - font-weight: 400; - letter-spacing: 0.5px; - background-color: var(--color-background-hover); - padding: 1rem 0.75rem; + text-transform: uppercase; + font-size: var(--font-size--small); + font-weight: 400; + letter-spacing: 0.5px; + background-color: var(--color-background-hover); + padding: 1rem 0.75rem; } table.docutils { - border: 0; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); - width: 100%; - border-radius: 8px; - overflow: hidden; - margin: 1.5rem 0; + border: 0; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + width: 100%; + border-radius: 8px; + overflow: hidden; + margin: 1.5rem 0; } -table.docutils td, table.docutils th { - border-right: none; - border-left: none; - padding: 0.875rem 0.75rem; - vertical-align: top; - line-height: 1.5; +table.docutils td, +table.docutils th { + border-right: none; + border-left: none; + padding: 0.875rem 0.75rem; + vertical-align: top; + line-height: 1.5; } -table.docutils td:last-child, table.docutils th:last-child, -table.docutils td:first-child, table.docutils th:first-child { - border-right: none; - border-left: none; +table.docutils td:last-child, +table.docutils th:last-child, +table.docutils td:first-child, +table.docutils th:first-child { + border-right: none; + border-left: none; } table.docutils tr:nth-child(even) { - background-color: var(--color-background-hover); + background-color: var(--color-background-hover); } table.docutils tr:hover { - background-color: var(--color-highlighted-background); - transition: background-color 0.2s ease; + background-color: var(--color-highlighted-background); + transition: background-color 0.2s ease; } /* Allow to centre text horizontally in table data cells */ table.align-center { - text-align: center !important; + text-align: center !important; } /** Enhanced code blocks and admonitions **/ -.admonition, code.literal, .sphinx-tabs-tab, .sphinx-tabs-panel, .highlight { - border-radius: 8px; +.admonition, +code.literal, +.sphinx-tabs-tab, +.sphinx-tabs-panel, +.highlight { + border-radius: 8px; } /** Enhanced admonition styling **/ .admonition { - border: 1px solid #d9d9d9; - border-radius: 8px; - margin: 1.5rem 0; - padding: 1rem 1.25rem; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); - background-color: var(--color-background-primary); + border: 1px solid #d9d9d9; + border-radius: 8px; + margin: 1.5rem 0; + padding: 1rem 1.25rem; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); + background-color: var(--color-background-primary); } .admonition .admonition-title { - font-weight: 400; - font-size: 1.1rem; - margin-bottom: 0.75rem; - font-family: var(--font-stack); + font-weight: 400; + font-size: 1.1rem; + margin-bottom: 0.75rem; + font-family: var(--font-stack); } /** Enhanced code styling **/ code.literal { - background-color: var(--color-inline-code-background); - padding: 0.2rem 0.4rem; - border-radius: 4px; - font-family: var(--font-stack--monospace); - font-size: 0.9rem; - border: 1px solid rgba(0, 0, 0, 0.1); + background-color: var(--color-inline-code-background); + padding: 0.2rem 0.4rem; + border-radius: 4px; + font-family: var(--font-stack--monospace); + font-size: 0.9rem; + border: 1px solid rgba(0, 0, 0, 0.1); } .highlight { - margin: 1.5rem 0; - border-radius: 8px; - overflow: hidden; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); + margin: 1.5rem 0; + border-radius: 8px; + overflow: hidden; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); } .highlight pre { - padding: 1.25rem; - line-height: 1.5; - font-size: 0.9rem; - overflow-x: auto; - white-space: pre !important; + padding: 1.25rem; + line-height: 1.5; + font-size: 0.9rem; + overflow-x: auto; + white-space: pre !important; } /* Ensure code blocks preserve whitespace */ -pre, code.highlight pre, div.highlight pre { - white-space: pre !important; +pre, +code.highlight pre, +div.highlight pre { + white-space: pre !important; } /* Specific override for console/text code blocks */ .highlight-console pre, .highlight-text pre, .highlight-none pre { - white-space: pre !important; - font-family: 'Courier New', Courier, monospace !important; - tab-size: 4; + white-space: pre !important; + font-family: "Courier New", Courier, monospace !important; + tab-size: 4; } /** Enhanced image styling **/ img { - max-width: 100%; - height: auto; - border-radius: 8px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); - margin: 1.5rem 0; - display: block; + max-width: 100%; + height: auto; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + margin: 1.5rem 0; + display: block; } .figure { - text-align: center; - margin: 2rem 0; + text-align: center; + margin: 2rem 0; } .figure img { - margin: 0 auto 1rem; + margin: 0 auto 1rem; } .figure .caption { - font-style: italic; - color: var(--color-foreground-muted); - font-size: 0.9rem; - margin-top: 0.5rem; + font-style: italic; + color: var(--color-foreground-muted); + font-size: 0.9rem; + margin-top: 0.5rem; } /** Hide edit this page button and header links **/ @@ -199,99 +227,99 @@ a[title="Edit this page"], .source-link, .edit-on-github, .headerlink { - display: none !important; + display: none !important; } /** Color for the "copy link" symbol next to headings **/ a.headerlink { - color: var(--color-brand-primary); - opacity: 0.6; - transition: opacity 0.2s ease; - display: none !important; /* Hide header links completely */ + color: var(--color-brand-primary); + opacity: 0.6; + transition: opacity 0.2s ease; + display: none !important; /* Hide header links completely */ } a.headerlink:hover { - opacity: 1; + opacity: 1; } /** Enhanced navigation and sidebar styling **/ .sidebar-tree li.current-page { - border-left: 3px solid var(--color-brand-primary); - background-color: var(--color-sidebar-item-background--current); - border-radius: 0 4px 4px 0; + border-left: 3px solid var(--color-brand-primary); + background-color: var(--color-sidebar-item-background--current); + border-radius: 0 4px 4px 0; } .sidebar-tree .reference { - padding: 0.5rem 0.75rem; - border-radius: 4px; - transition: all 0.2s ease; - font-family: var(--font-stack); + padding: 0.5rem 0.75rem; + border-radius: 4px; + transition: all 0.2s ease; + font-family: var(--font-stack); } .sidebar-tree .reference:hover { - background-color: var(--color-sidebar-item-background--hover); - transform: translateX(2px); + background-color: var(--color-sidebar-item-background--hover); + transform: translateX(2px); } .toc-tree { - font-size: 0.8rem; - line-height: 1.4; + font-size: 0.8rem; + line-height: 1.4; } /* Make TOC scrollbar content font even smaller */ .toc-scroll .toc-tree, .toc-scroll .toc-tree li, .toc-scroll .toc-tree a { - font-size: 0.8rem; - line-height: 1.3; + font-size: 0.8rem; + line-height: 1.3; } /* Ensure TOC items in sidebar have smaller font */ .sidebar-tree .toc-tree, .sidebar-tree .toc-tree li, .sidebar-tree .toc-tree a { - font-size: 0.9rem; - line-height: 1.2; + font-size: 0.9rem; + line-height: 1.2; } /** Enhanced tab styling **/ [role="tablist"] { - border-bottom: 1px solid var(--color-sidebar-item-background--hover); - margin: 1.5rem 0 0 0; + border-bottom: 1px solid var(--color-sidebar-item-background--hover); + margin: 1.5rem 0 0 0; } .sphinx-tabs-tab[aria-selected="true"] { - border: 0; - border-bottom: 3px solid var(--color-brand-primary); - background-color: var(--color-sidebar-item-background--current); - font-weight: 400; - font-family: var(--font-stack); - border-radius: 4px 4px 0 0; + border: 0; + border-bottom: 3px solid var(--color-brand-primary); + background-color: var(--color-sidebar-item-background--current); + font-weight: 400; + font-family: var(--font-stack); + border-radius: 4px 4px 0 0; } .sphinx-tabs-tab { - color: var(--color-brand-primary); - font-weight: 400; - font-family: var(--font-stack); - padding: 0.75rem 1.25rem; - border-radius: 4px 4px 0 0; - transition: all 0.2s ease; + color: var(--color-brand-primary); + font-weight: 400; + font-family: var(--font-stack); + padding: 0.75rem 1.25rem; + border-radius: 4px 4px 0 0; + transition: all 0.2s ease; } .sphinx-tabs-panel { - border: 0; - border-bottom: 1px solid var(--color-sidebar-item-background--hover); - background: var(--color-background-primary); - padding: 1.5rem; - border-radius: 0 0 8px 8px; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); + border: 0; + border-bottom: 1px solid var(--color-sidebar-item-background--hover); + background: var(--color-background-primary); + padding: 1.5rem; + border-radius: 0 0 8px 8px; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); } button.sphinx-tabs-tab:hover { - background-color: var(--color-sidebar-item-background--hover); - transform: translateY(-1px); + background-color: var(--color-sidebar-item-background--hover); + transform: translateY(-1px); } /** Custom classes to fix scrolling in tables by decreasing the @@ -302,45 +330,45 @@ button.sphinx-tabs-tab:hover { **/ table.dec-font-size { - font-size: smaller; + font-size: smaller; } table.break-col-1 td.text-left:first-child { - word-break: break-word; + word-break: break-word; } table.break-col-4 td.text-left:nth-child(4) { - word-break: break-word; + word-break: break-word; } table.min-width-1-15 td.text-left:first-child { - min-width: 15em; + min-width: 15em; } table.min-width-4-8 td.text-left:nth-child(4) { - min-width: 8em; + min-width: 8em; } /** Enhanced link styling **/ a { - color: var(--color-brand-content); - text-decoration: none; - transition: all 0.2s ease; - border-bottom: 1px solid transparent; + color: var(--color-brand-content); + text-decoration: none; + transition: all 0.2s ease; + border-bottom: 1px solid transparent; } a:hover { - color: var(--color-brand-primary); - border-bottom: 1px solid var(--color-brand-primary); + color: var(--color-brand-primary); + border-bottom: 1px solid var(--color-brand-primary); } /** Underline for abbreviations **/ abbr[title] { - text-decoration: underline solid #cdcdcd; - cursor: help; + text-decoration: underline solid #cdcdcd; + cursor: help; } /** Use the same style for right-details as for left-details **/ .bottom-of-page .right-details { - font-size: var(--font-size--small); - display: block; + font-size: var(--font-size--small); + display: block; } /** Version switcher */ @@ -351,8 +379,9 @@ button.version_select { border: none; } -.version_select:hover, .version_select:focus { - background-color: var(--color-sidebar-item-background--hover); +.version_select:hover, +.version_select:focus { + background-color: var(--color-sidebar-item-background--hover); } .version_dropdown { @@ -367,7 +396,7 @@ button.version_select { position: absolute; right: 0px; background-color: var(--color-toc-background); - box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 11; } @@ -378,9 +407,13 @@ button.version_select { display: block; } -.available_versions a:hover {background-color: var(--color-sidebar-item-background--current)} +.available_versions a:hover { + background-color: var(--color-sidebar-item-background--current); +} -.show {display:block;} +.show { + display: block; +} /** Fix for nested numbered list - the nested list is lettered **/ ol.arabic ol.arabic { @@ -389,107 +422,112 @@ ol.arabic ol.arabic { /** Make expandable sections look like links **/ details summary { - color: var(--color-link); + color: var(--color-link); } /** Fix the styling of the version box for readthedocs **/ -#furo-readthedocs-versions .rst-versions, #furo-readthedocs-versions .rst-current-version, #furo-readthedocs-versions:focus-within .rst-current-version, #furo-readthedocs-versions:hover .rst-current-version { - background: var(--color-sidebar-item-background--hover); +#furo-readthedocs-versions .rst-versions, +#furo-readthedocs-versions .rst-current-version, +#furo-readthedocs-versions:focus-within .rst-current-version, +#furo-readthedocs-versions:hover .rst-current-version { + background: var(--color-sidebar-item-background--hover); } .rst-versions .rst-other-versions dd a { - color: var(--color-link); + color: var(--color-link); } -#furo-readthedocs-versions:focus-within .rst-current-version .fa-book, #furo-readthedocs-versions:hover .rst-current-version .fa-book, .rst-versions .rst-other-versions { - color: var(--color-sidebar-link-text); +#furo-readthedocs-versions:focus-within .rst-current-version .fa-book, +#furo-readthedocs-versions:hover .rst-current-version .fa-book, +.rst-versions .rst-other-versions { + color: var(--color-sidebar-link-text); } .rst-versions .rst-current-version { - color: var(--color-version-popup); - font-weight: bolder; + color: var(--color-version-popup); + font-weight: bolder; } /** Enhanced card styling for grid layout **/ .sd-card { - border-radius: 12px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); - transition: all 0.3s ease; - overflow: hidden; - background-color: var(--color-background-primary); - border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 12px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + transition: all 0.3s ease; + overflow: hidden; + background-color: var(--color-background-primary); + border: 1px solid rgba(0, 0, 0, 0.1); } .sd-card:hover { - transform: translateY(-4px); - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); + transform: translateY(-4px); + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); } .sd-card-header { - background-color: var(--color-background-hover); - padding: 1.5rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); + background-color: var(--color-background-hover); + padding: 1.5rem; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); } .sd-card-title { - font-size: 1.25rem; - font-weight: 400; - color: var(--color-brand-primary); - margin-bottom: 0.5rem; - font-family: var(--font-stack); + font-size: 1.25rem; + font-weight: 400; + color: var(--color-brand-primary); + margin-bottom: 0.5rem; + font-family: var(--font-stack); } .sd-card-text { - color: var(--color-foreground-muted); - font-size: 0.95rem; - line-height: 1.6; - padding: 1.5rem; - font-family: var(--font-stack); + color: var(--color-foreground-muted); + font-size: 0.95rem; + line-height: 1.6; + padding: 1.5rem; + font-family: var(--font-stack); } /** Enhanced grid layout **/ .sd-container-fluid { - padding: 2rem 0; + padding: 2rem 0; } .sd-row { - gap: 2rem; + gap: 2rem; } /** Smooth scrolling for the entire page **/ html { - scroll-behavior: smooth; + scroll-behavior: smooth; } /** Enhanced blockquote styling **/ blockquote { - border-left: 4px solid var(--color-brand-primary); - padding-left: 1.5rem; - margin: 1.5rem 0; - font-style: italic; - color: var(--color-foreground-muted); - background-color: var(--color-background-hover); - padding: 1rem 1.5rem; - border-radius: 0 8px 8px 0; + border-left: 4px solid var(--color-brand-primary); + padding-left: 1.5rem; + margin: 1.5rem 0; + font-style: italic; + color: var(--color-foreground-muted); + background-color: var(--color-background-hover); + padding: 1rem 1.5rem; + border-radius: 0 8px 8px 0; } /** Reduce spacing between author and published information **/ article[role="main"] p:has(strong:first-child:contains("Author:")) { - margin-bottom: 0.2rem; + margin-bottom: 0.2rem; } article[role="main"] p:has(strong:first-child:contains("Published:")) { - margin-top: 0; - margin-bottom: 1.5rem; + margin-top: 0; + margin-bottom: 1.5rem; } /* Fallback for browsers that don't support :has() */ article[role="main"] section:first-child p:nth-of-type(1) { - margin-bottom: 0rem; + margin-bottom: 0rem; } article[role="main"] section:first-child p:nth-of-type(2) { - margin-top: 0; - margin-bottom: 1.5rem; -} \ No newline at end of file + margin-top: 0; + margin-bottom: 1.5rem; +} diff --git a/.sphinx/_static/header.css b/.sphinx/_static/header.css index 8737935..5499579 100644 --- a/.sphinx/_static/header.css +++ b/.sphinx/_static/header.css @@ -4,7 +4,7 @@ } .p-navigation__nav { - background: linear-gradient(135deg, #6B9BD1 0%, #4A90E2 100%); + background: #1b3a5f; display: flex; font-family: var(--font-stack); padding: 0.05rem 0; @@ -81,7 +81,7 @@ ul.p-navigation__links li a { position: relative; text-align: left; text-overflow: ellipsis; - transition-duration: .1s; + transition-duration: 0.1s; transition-property: background-color, color, opacity; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); white-space: nowrap; @@ -110,7 +110,7 @@ ul.p-navigation__links .p-dropdown__link:hover { ul.p-navigation__links .p-navigation__sub-link { background: var(--color-background-primary); - padding: .5rem 0 .5rem .5rem; + padding: 0.5rem 0 0.5rem 0.5rem; font-weight: 300; } @@ -196,4 +196,4 @@ ul.more-links-dropdown { ul.p-navigation__links { margin-left: calc(50% - 41em); } -} \ No newline at end of file +} diff --git a/.sphinx/_static/ngkore-theme.css b/.sphinx/_static/ngkore-theme.css index ac4d9dd..e390f03 100644 --- a/.sphinx/_static/ngkore-theme.css +++ b/.sphinx/_static/ngkore-theme.css @@ -45,9 +45,9 @@ font-weight: 600; } -/* Style buttons and interactive elements */ +/* Style buttons and interactive elements - exclude UI control buttons */ .btn, -button, +button:not(.copybtn):not(.theme-toggle-icon):not(.back-to-top):not(.sidebar-toggle):not([aria-label]):not(.sphinx-tabs-tab), input[type="submit"] { background: linear-gradient( 135deg, @@ -96,49 +96,38 @@ table.docutils { } table.docutils th { - background: linear-gradient( - 135deg, - var(--ngkore-primary), - var(--ngkore-secondary) - ); + background: var(--ngkore-primary); color: white; } /* Keep original navigation breadcrumbs styling */ -/* Style back to top button */ +/* Style back to top button - transparent */ .back-to-top { - background: white; - color: var(--ngkore-bg-primary); - border-radius: 40%; + background: transparent !important; + color: var(--color-foreground-secondary); + border-radius: 50%; transition: all 0.3s ease; - /* align-items: center; */ + border: 1px solid rgba(0, 0, 0, 0.1); } .back-to-top:hover { - background: white; - color: var(--ngkore-bg-primary); - /* transform: scale(1.05); */ + background: rgba(0, 0, 0, 0.05) !important; + color: var(--color-foreground-primary); + border-color: rgba(0, 0, 0, 0.2); } /* Dark theme support for back to top button */ body[data-theme="dark"] .back-to-top { - background: linear-gradient( - 135deg, - var(--ngkore-primary), - var(--ngkore-secondary) - ); - color: white; + background: transparent !important; + color: var(--color-foreground-secondary); + border: 1px solid rgba(255, 255, 255, 0.1); } body[data-theme="dark"] .back-to-top:hover { - background: linear-gradient( - 135deg, - var(--ngkore-secondary), - var(--ngkore-primary) - ); - color: white; - /* transform: scale(1.05); */ + background: rgba(255, 255, 255, 0.05) !important; + color: var(--color-foreground-primary); + border-color: rgba(255, 255, 255, 0.2); } /* Style theme toggle button */ diff --git a/conf.py b/conf.py index c196a18..6200833 100644 --- a/conf.py +++ b/conf.py @@ -127,6 +127,7 @@ html_css_files = [ 'custom.css', + 'header.css', 'github_issue_links.css', 'furo_colors.css', 'bottom-logo.css' diff --git a/index.md b/index.md index bbef2cd..e0020e4 100644 --- a/index.md +++ b/index.md @@ -1,28 +1,47 @@ # NgKore Documentation -NgKore (_ngkorefoundation.org_) is an open-source community driving innovation across Post-Quantum Cryptography (PQC), eBPF, 5G Advanced, 6G, O-RAN, NTN, AI/ML, Blockchain, Quantum technologies, and Cloud-Native Architectures. +## Overview -## Focus Areas +NgKore Foundation (_ngkorefoundation.org_) is an open-source community advancing research and development in next-generation network infrastructure, quantum-resistant cryptography, and cloud-native architectures. The foundation focuses on bridging academic research with production-ready implementations across telecommunications, distributed systems, and emerging network technologies. -**Core Technologies** +## Technical Domains -- {doc}`5G Core Networks <5g-core/index>` - Next-generation mobile networks -- {doc}`O-RAN Interoperability ` - Open radio access networks +### Network Infrastructure -**Security & Cryptography** +{doc}`5G Core Networks <5g-core/index>` +: Standards-compliant 5G core network implementations, service-based architecture, and network function virtualization. -- {doc}`Post-Quantum Cryptography ` - Future-proof encryption -- {doc}`Network Security ` - Advanced protection mechanisms +{doc}`O-RAN Interoperability ` +: Open radio access network specifications, intelligent RAN controllers, and vendor-neutral interfaces. -**Emerging Technologies** +{doc}`Non-Terrestrial Networks ` +: Satellite communications, aerial connectivity platforms, and hybrid terrestrial-non-terrestrial network architectures. -- {doc}`AI/ML Integration ` - Intelligent network automation -- {doc}`Non-Terrestrial Networks ` - Satellite and aerial connectivity +### Security & Cryptography -**Tools & Orchestration** +{doc}`Post-Quantum Cryptography ` +: Quantum-resistant algorithms, lattice-based cryptography, and migration strategies for post-quantum security. -- {doc}`eBPF Technology & Tools ` - High-performance packet processing -- {doc}`Kernel Bypass Technologies ` - Ultra-low latency networking +{doc}`Network Security ` +: Advanced threat detection, zero-trust architectures, and secure network function implementations. + +### Performance & Optimization + +{doc}`eBPF Technology & Tools ` +: Extended Berkeley Packet Filter for programmable packet processing, observability, and security enforcement. + +{doc}`Kernel Bypass Technologies ` +: DPDK, XDP, and user-space networking for ultra-low latency data plane operations. + +### Intelligent Systems + +{doc}`AI/ML Integration ` +: Machine learning for network optimization, predictive analytics, and autonomous network management. + +### Practical Implementation + +{doc}`Tutorials ` +: Step-by-step deployment guides, integration examples, and reference architectures. --- diff --git a/ntn/oai/index.md b/ntn/oai/index.md index ecfb53b..91a4662 100644 --- a/ntn/oai/index.md +++ b/ntn/oai/index.md @@ -5,4 +5,5 @@ introduction-to-ntn oai-ntn -``` \ No newline at end of file +../../tutorials/oai/oai-nr-5g-ntn +``` diff --git a/tutorials/osc-oam.md b/tutorials/osc-oam.md index 99f9bbb..ff36781 100644 --- a/tutorials/osc-oam.md +++ b/tutorials/osc-oam.md @@ -163,7 +163,7 @@ The deployment may take time as it pulls several large images. Open a separate t kubectl get pods -A ``` -```bash +```console ubuntu@ubuntu:~/o1-adapter$ kubectl get pods -A NAMESPACE          NAME                                                READY   STATUS      RESTARTS       AGE cert-manager       cert-manager-5bd57786d4-vcdxb                       1/1     Running     0              3h32m diff --git a/tutorials/srsran/srsran-f1ap-split.md b/tutorials/srsran/srsran-f1ap-split.md index cb8ab74..a9873b2 100644 --- a/tutorials/srsran/srsran-f1ap-split.md +++ b/tutorials/srsran/srsran-f1ap-split.md @@ -25,7 +25,7 @@ The deployment follows a **3GPP-aligned CU/DU architecture** and is suitable for ## High-Level Architecture -``` +```console +-----------------------------+ | VM 1 | | | diff --git a/tutorials/srsran/srsran-open5gs.md b/tutorials/srsran/srsran-open5gs.md index 130f912..fe244ee 100644 --- a/tutorials/srsran/srsran-open5gs.md +++ b/tutorials/srsran/srsran-open5gs.md @@ -24,7 +24,7 @@ This setup is intended for **testing, learning, and research**, and runs entirel ## Architecture Overview -``` +```console +-----------------------------+ | Ubuntu 22.04 VM | | |