diff --git a/ansible-docs.html b/ansible-docs.html index b23226e..8d8bffc 100644 --- a/ansible-docs.html +++ b/ansible-docs.html @@ -40,6 +40,7 @@ --card-hover-bg: rgba(30, 41, 59, 0.95); --card-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3); --transition-normal: 0.3s ease; + --glass-effect: blur(10px); } * { @@ -58,333 +59,236 @@ radial-gradient(circle at 75% 60%, rgba(14, 165, 233, 0.1) 0%, transparent 50%); } - .docs-container { - display: flex; - min-height: 100vh; - } - - .sidebar { - width: 280px; - background-color: var(--sidebar-bg); - border-right: 1px solid var(--border); + .navbar { + background-color: rgba(15, 23, 42, 0.9); + backdrop-filter: var(--glass-effect); + -webkit-backdrop-filter: var(--glass-effect); position: fixed; top: 0; left: 0; - height: 100vh; - overflow-y: auto; - scrollbar-width: thin; - scrollbar-color: var(--border) transparent; - padding: 2rem 0; - z-index: 10; + right: 0; + z-index: 1000; + padding: 1.25rem 0; + border-bottom: 1px solid var(--border); } - .sidebar::-webkit-scrollbar { - width: 6px; - } - - .sidebar::-webkit-scrollbar-track { - background: transparent; - } - - .sidebar::-webkit-scrollbar-thumb { - background-color: var(--border); - border-radius: 3px; - } - - .sidebar-header { + .navbar .container { + display: flex; + justify-content: space-between; + align-items: center; + max-width: 1400px; + margin: 0 auto; padding: 0 1.5rem; - margin-bottom: 2rem; } - .sidebar-title { - font-size: 1.25rem; - font-weight: 600; - margin-bottom: 0.5rem; - } - - .back-link { + .logo a { + color: var(--text-primary); + text-decoration: none; display: flex; align-items: center; - gap: 0.5rem; - color: var(--accent); - font-weight: 500; - font-size: 0.9rem; - padding: 0.5rem 0; - transition: all var(--transition-normal); + gap: 0.25rem; } - .back-link:hover { - color: var(--accent-darker); - transform: translateX(-3px); - } - - .sidebar-section { - margin-bottom: 1.5rem; - } - - .sidebar-section-title { + .logo-text { + background: var(--accent-gradient); + -webkit-background-clip: text; + background-clip: text; + color: transparent; + font-size: 1.5rem; font-weight: 600; - font-size: 0.85rem; - text-transform: uppercase; + } + + .logo-dot { color: var(--text-secondary); - letter-spacing: 0.05em; - padding: 0 1.5rem; - margin-bottom: 0.75rem; + font-size: 1.5rem; + font-weight: 600; } - .sidebar-nav { - list-style: none; + .nav-menu { + display: flex; + gap: 2.5rem; } - .sidebar-nav-item { - transition: all var(--transition-normal); - } - - .sidebar-nav-link { - display: block; - padding: 0.5rem 1.5rem; + .nav-link { color: var(--text-secondary); text-decoration: none; + font-size: 0.95rem; + font-weight: 500; transition: all var(--transition-normal); position: relative; - font-size: 0.95rem; } - .sidebar-nav-link:hover { - color: var(--text-primary); - background-color: rgba(255, 255, 255, 0.05); - } - - .sidebar-nav-link.active { + .nav-link.active, + .nav-link:hover { color: var(--accent); + } + + .nav-buttons { + display: flex; + align-items: center; + gap: 1.25rem; + } + + .dashboard-link { + display: flex; + align-items: center; + gap: 0.75rem; + padding: 0.625rem 1.25rem; + font-size: 0.95rem; + font-weight: 500; + color: var(--text-primary); background-color: rgba(59, 130, 246, 0.1); + border: 1px solid rgba(59, 130, 246, 0.2); + border-radius: 0.5rem; + text-decoration: none; + transition: all var(--transition-normal); } - .sidebar-nav-link.active::before { - content: ''; - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 3px; - background: var(--accent-gradient); + .dashboard-link:hover { + background-color: var(--accent-darker); } - .main-content { - flex: 1; - margin-left: 280px; - padding: 3rem; - max-width: 1000px; + .navbar .menu-toggle { + background: none; + border: none; + color: var(--text-primary); + font-size: 1.5rem; + cursor: pointer; } - .docs-header { - margin-bottom: 3rem; + .navbar .menu-toggle i { + transition: transform var(--transition-normal); } - .docs-title { - font-size: 2.5rem; + .navbar .nav-menu.show { + display: block; + } + + .footer { + background-color: var(--secondary-bg); + padding: 2rem; + color: var(--text-secondary); + border-top: 1px solid var(--border); + } + + .footer .container { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; + } + + .footer .footer-content { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + } + + .footer .footer-logo { + display: flex; + align-items: center; + } + + .footer .footer-logo .logo-text { + font-size: 1.5rem; font-weight: 700; - margin-bottom: 1rem; + color: var(--accent); } - .docs-subtitle { + .footer .footer-logo .logo-dot { + font-size: 1.5rem; + font-weight: 700; + color: var(--text-primary); + } + + .footer .footer-links { + display: flex; + gap: 1rem; + } + + .footer .footer-links a { + color: var(--text-secondary); + text-decoration: none; + font-size: 0.9rem; + transition: color var(--transition-normal); + } + + .footer .footer-links a:hover { + color: var(--accent); + } + + .footer .footer-social { + display: flex; + gap: 1rem; + } + + .footer .footer-social a { color: var(--text-secondary); font-size: 1.2rem; + transition: color var(--transition-normal); } - .docs-section { - margin-bottom: 3rem; - scroll-margin-top: 2rem; - } - - .docs-section-title { - font-size: 1.75rem; - font-weight: 600; - margin-bottom: 1.5rem; - color: var(--text-primary); - position: relative; - padding-bottom: 0.75rem; - border-bottom: 1px solid var(--border); - } - - .docs-subsection { - margin-bottom: 2rem; - } - - .docs-subsection-title { - font-size: 1.25rem; - font-weight: 600; - margin-bottom: 1rem; + .footer .footer-social a:hover { color: var(--accent); } - .docs-text { - color: var(--text-secondary); - margin-bottom: 1.5rem; - } - - .docs-list { - list-style-type: disc; - margin-left: 1.5rem; - margin-bottom: 1.5rem; - color: var(--text-secondary); - } - - .docs-list li { - margin-bottom: 0.5rem; - } - - .docs-code { - font-family: 'JetBrains Mono', monospace; - background-color: var(--sidebar-bg); - padding: 1.5rem; - border-radius: 0.5rem; - overflow-x: auto; - margin-bottom: 1.5rem; - border: 1px solid var(--border); + .footer .footer-bottom { + text-align: center; font-size: 0.9rem; - line-height: 1.5; - } - - .docs-code pre { - margin: 0; - } - - .docs-table { - width: 100%; - border-collapse: collapse; - margin-bottom: 1.5rem; - } - - .docs-table th { - text-align: left; - padding: 0.75rem 1rem; - background-color: var(--sidebar-bg); - color: var(--text-primary); - font-weight: 600; - border-bottom: 2px solid var(--border); - } - - .docs-table td { - padding: 0.75rem 1rem; - border-bottom: 1px solid var(--border); - color: var(--text-secondary); - } - - .docs-note { - background-color: rgba(59, 130, 246, 0.1); - border-left: 4px solid var(--accent); - padding: 1rem 1.5rem; - border-radius: 0 0.5rem 0.5rem 0; - margin-bottom: 1.5rem; - } - - .docs-note-title { - font-weight: 600; - color: var(--accent); - display: flex; - align-items: center; - gap: 0.5rem; - margin-bottom: 0.5rem; - } - - .docs-warning { - background-color: rgba(245, 158, 11, 0.1); - border-left: 4px solid var(--warning); - padding: 1rem 1.5rem; - border-radius: 0 0.5rem 0.5rem 0; - margin-bottom: 1.5rem; - } - - .docs-warning-title { - font-weight: 600; - color: var(--warning); - display: flex; - align-items: center; - gap: 0.5rem; - margin-bottom: 0.5rem; - } - - .docs-button { - display: inline-flex; - align-items: center; - gap: 0.5rem; - background-color: var(--accent); - color: white; - padding: 0.75rem 1.25rem; - border-radius: 0.5rem; - font-weight: 500; - text-decoration: none; - transition: all var(--transition-normal); - margin-bottom: 1.5rem; - } - - .docs-button:hover { - background-color: var(--accent-darker); - transform: translateY(-2px); - box-shadow: var(--card-shadow); - } - - .docs-footer { - border-top: 1px solid var(--border); - margin-top: 3rem; - padding-top: 2rem; - color: var(--text-secondary); - font-size: 0.9rem; - } - - .mobile-menu-toggle { - display: none; - position: fixed; - bottom: 1.5rem; - right: 1.5rem; - background: var(--accent-gradient); - color: white; - width: 50px; - height: 50px; - border-radius: 50%; - border: none; - cursor: pointer; - display: none; - position: fixed; - bottom: 1.5rem; - right: 1.5rem; - background: var(--accent-gradient); - color: white; - width: 50px; - height: 50px; - border-radius: 50%; - border: none; - cursor: pointer; - font-size: 1.5rem; - align-items: center; - justify-content: center; - z-index: 20; - box-shadow: var(--card-shadow); } @media (max-width: 992px) { - .sidebar { - transform: translateX(-100%); - transition: transform var(--transition-normal); + .navbar .nav-menu { + display: none; + flex-direction: column; + gap: 0.5rem; + background-color: var(--secondary-bg); + position: absolute; + top: 100%; + right: 0; + width: 200px; + padding: 1rem; + border: 1px solid var(--border); + border-radius: 0.5rem; } - .sidebar.active { - transform: translateX(0); - } - - .main-content { - margin-left: 0; - padding: 2rem 1.5rem; - } - - .mobile-menu-toggle { + .navbar .nav-menu.show { display: flex; } } + + +
- + + + + @@ -934,6 +859,23 @@ web-server/ } }); }); + + // Add mobile menu toggle functionality + const menuToggleNav = document.querySelector('.menu-toggle'); + const navMenu = document.querySelector('.nav-menu'); + + menuToggleNav.addEventListener('click', function() { + navMenu.classList.toggle('show'); + const icon = menuToggleNav.querySelector('i'); + + if (navMenu.classList.contains('show')) { + icon.classList.remove('fa-bars'); + icon.classList.add('fa-times'); + } else { + icon.classList.remove('fa-times'); + icon.classList.add('fa-bars'); + } + }); }); diff --git a/ansible-help.html b/ansible-help.html index bdbea00..08298de 100644 --- a/ansible-help.html +++ b/ansible-help.html @@ -39,6 +39,7 @@ --card-hover-bg: rgba(30, 41, 59, 0.95); --card-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3); --transition-normal: 0.3s ease; + --glass-effect: blur(10px); } * { @@ -245,9 +246,184 @@ grid-column: 1; } } + + .navbar { + background-color: rgba(15, 23, 42, 0.9); + backdrop-filter: var(--glass-effect); + -webkit-backdrop-filter: var(--glass-effect); + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; + padding: 1.25rem 0; + border-bottom: 1px solid var(--border); + } + + .navbar .container { + display: flex; + justify-content: space-between; + align-items: center; + max-width: 1400px; + margin: 0 auto; + padding: 0 1.5rem; + } + + .logo a { + color: var(--text-primary); + text-decoration: none; + display: flex; + align-items: center; + gap: 0.25rem; + } + + .logo-text { + background: var(--accent-gradient); + -webkit-background-clip: text; + background-clip: text; + color: transparent; + font-size: 1.5rem; + font-weight: 600; + } + + .logo-dot { + color: var(--text-secondary); + font-size: 1.5rem; + font-weight: 600; + } + + .nav-menu { + display: flex; + gap: 2.5rem; + } + + .nav-link { + color: var(--text-secondary); + text-decoration: none; + font-size: 0.95rem; + font-weight: 500; + transition: all var(--transition-normal); + position: relative; + } + + .nav-buttons { + display: flex; + align-items: center; + gap: 1.25rem; + } + + .dashboard-link { + display: flex; + align-items: center; + gap: 0.75rem; + padding: 0.625rem 1.25rem; + font-size: 0.95rem; + font-weight: 500; + color: var(--text-primary); + background-color: rgba(59, 130, 246, 0.1); + border: 1px solid rgba(59, 130, 246, 0.2); + border-radius: 0.5rem; + text-decoration: none; + transition: all var(--transition-normal); + } + + .menu-toggle { + background: none; + border: none; + color: var(--text-primary); + font-size: 1.5rem; + cursor: pointer; + } + + .menu-toggle i { + transition: transform var(--transition-normal); + } + + .nav-menu.show { + display: block; + } + + .footer { + background-color: var(--secondary-bg); + padding: 2rem 0; + color: var(--text-secondary); + } + + .footer-content { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1rem; + } + + .footer-logo { + font-size: 1.5rem; + font-weight: 700; + color: var(--accent); + } + + .footer-links { + display: flex; + gap: 1rem; + } + + .footer-links a { + color: var(--text-secondary); + text-decoration: none; + transition: color var(--transition-normal); + } + + .footer-links a:hover { + color: var(--accent); + } + + .footer-social a { + color: var(--text-secondary); + font-size: 1.2rem; + margin-right: 0.5rem; + transition: color var(--transition-normal); + } + + .footer-social a:hover { + color: var(--accent); + } + + .footer-bottom { + text-align: center; + font-size: 0.9rem; + } + + +
@@ -421,11 +597,60 @@ Template - A text file that uses variables to create dynamic configuration files.

- -
+ + + + + \ No newline at end of file diff --git a/ansible-sandbox.html b/ansible-sandbox.html index ecbd4af..d519ecc 100644 --- a/ansible-sandbox.html +++ b/ansible-sandbox.html @@ -95,7 +95,7 @@ left: 0; right: 0; z-index: 1000; - padding: 1rem 0; + padding: 1.25rem 0; border-bottom: 1px solid var(--border); } @@ -105,16 +105,12 @@ align-items: center; } - .logo { - font-weight: 600; - font-size: 1.5rem; - } - .logo a { color: var(--text-primary); text-decoration: none; display: flex; align-items: center; + gap: 0.25rem; } .logo-text { @@ -122,15 +118,19 @@ -webkit-background-clip: text; background-clip: text; color: transparent; + font-size: 1.5rem; + font-weight: 600; } .logo-dot { color: var(--text-secondary); + font-size: 1.5rem; + font-weight: 600; } .nav-menu { display: flex; - gap: 2rem; + gap: 2.5rem; } .nav-link { @@ -172,15 +172,15 @@ .nav-buttons { display: flex; align-items: center; - gap: 1rem; + gap: 1.25rem; } .dashboard-link { display: flex; align-items: center; - gap: 0.5rem; - padding: 0.5rem 1rem; - font-size: 0.9rem; + gap: 0.75rem; + padding: 0.625rem 1.25rem; + font-size: 0.95rem; font-weight: 500; color: var(--text-primary); background-color: rgba(59, 130, 246, 0.1); @@ -1469,11 +1469,11 @@