diff options
| author | Paul Buetow <paul@buetow.org> | 2025-06-22 23:02:12 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-06-22 23:02:12 +0300 |
| commit | 9e985948f171eb58b3c38b4059efb1c436c9a842 (patch) | |
| tree | 45233db768ea3e87e85bbd02e17e7393e8282211 /extras/html/themes/test_effects.html | |
| parent | 2b78e5fcdf303f7055a67e13c5968e9ed92f56df (diff) | |
Fix retro theme visual effects and improve readability
- Fixed CSS validation issues (hex colors with alpha to rgba)
- Enhanced visual effects (scanlines, CRT, grid, dots, terminal) for better visibility
- Effects now properly display in Firefox and other browsers
- Made classic_matrix theme lighter with sharper text for better readability
- Enhanced retro glow effects to 125% for stronger vignette effect
- Added test_effects.html for testing visual effects
- All themes now W3C CSS compliant
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'extras/html/themes/test_effects.html')
| -rw-r--r-- | extras/html/themes/test_effects.html | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/extras/html/themes/test_effects.html b/extras/html/themes/test_effects.html new file mode 100644 index 0000000..07a3c82 --- /dev/null +++ b/extras/html/themes/test_effects.html @@ -0,0 +1,239 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Test Retro Effects</title> + <style> + body { + font-family: monospace; + background: #000; + color: #0f0; + padding: 20px; + margin: 0; + min-width: 1200px; + } + .grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 20px; + max-width: 1400px; + margin: 0 auto; + } + .effect-demo { + border: 1px solid #0f0; + padding: 20px; + height: 300px; + position: relative; + overflow: hidden; + background: #0a0a0a; + } + h2 { + color: #0ff; + margin-top: 0; + text-transform: uppercase; + } + + /* Scanlines Effect */ + .scanlines::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: repeating-linear-gradient( + 0deg, + transparent, + transparent 2px, + rgba(0, 255, 0, 0.1) 2px, + rgba(0, 255, 0, 0.1) 4px + ); + pointer-events: none; + z-index: 1; + animation: scanline-move 8s linear infinite; + } + + @keyframes scanline-move { + 0% { background-position: 0 0; } + 100% { background-position: 0 10px; } + } + + /* CRT Effect */ + .crt::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: repeating-linear-gradient( + 0deg, + rgba(0, 0, 0, 0.15), + rgba(0, 0, 0, 0.15) 1px, + transparent 1px, + transparent 2px + ); + pointer-events: none; + z-index: 1; + } + + .crt::after { + content: ""; + position: absolute; + top: -5%; + left: -5%; + right: -5%; + bottom: -5%; + background: radial-gradient(circle at center, transparent 0%, rgba(0, 0, 0, 0.5) 100%); + pointer-events: none; + z-index: 2; + } + + /* Grid Effect */ + .grid-effect { + background-image: + linear-gradient(rgba(0, 255, 0, 0.1) 1px, transparent 1px), + linear-gradient(90deg, rgba(0, 255, 0, 0.1) 1px, transparent 1px); + background-size: 20px 20px; + box-shadow: inset 0 0 100px rgba(0, 255, 0, 0.1); + } + + /* Dots Effect */ + .dots { + background-image: radial-gradient(circle, rgba(0, 255, 0, 0.3) 2px, transparent 2px); + background-size: 20px 20px; + } + + .dots::after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-image: radial-gradient(circle, rgba(0, 255, 0, 0.2) 1px, transparent 1px); + background-size: 40px 40px; + background-position: 20px 20px; + opacity: 0.5; + animation: dot-pulse 4s ease-in-out infinite; + pointer-events: none; + } + + @keyframes dot-pulse { + 0%, 100% { opacity: 0.3; } + 50% { opacity: 0.8; } + } + + /* Terminal Effect */ + .terminal { + text-shadow: 0 0 3px #0f0; + } + + .terminal::after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 100px; + background: linear-gradient( + 180deg, + transparent 0%, + rgba(0, 255, 0, 0.05) 50%, + transparent 100% + ); + pointer-events: none; + animation: terminal-scan 8s linear infinite; + } + + @keyframes terminal-scan { + 0% { transform: translateY(-100%); } + 100% { transform: translateY(400%); } + } + + /* Terminal cursor */ + .terminal h2::after { + content: "_"; + animation: blink 1s infinite; + } + + @keyframes blink { + 0%, 49% { opacity: 1; } + 50%, 100% { opacity: 0; } + } + + /* No effect reference */ + .none { + border-color: #ff0; + } + + p { + position: relative; + z-index: 3; + margin: 10px 0; + } + + .info { + text-align: center; + padding: 20px; + margin: 20px auto; + max-width: 800px; + border: 1px solid #0f0; + background: rgba(0, 255, 0, 0.05); + } + </style> +</head> +<body> + <div class="info"> + <h1>RETRO THEME EFFECTS TEST</h1> + <p>If you can see the visual effects below, they are working correctly in your browser.</p> + <p>Each effect should be clearly visible and animated.</p> + </div> + + <div class="grid"> + <div class="effect-demo scanlines"> + <h2>Scanlines</h2> + <p>You should see horizontal lines moving slowly downward.</p> + <p>This simulates old CRT monitor scanlines.</p> + </div> + + <div class="effect-demo crt"> + <h2>CRT Effect</h2> + <p>You should see fine horizontal lines and darkened edges.</p> + <p>This creates a curved CRT monitor appearance.</p> + </div> + + <div class="effect-demo grid-effect"> + <h2>Grid</h2> + <p>You should see a green grid pattern overlay.</p> + <p>This creates a retro computer grid aesthetic.</p> + </div> + + <div class="effect-demo dots"> + <h2>Dots</h2> + <p>You should see pulsing dot patterns.</p> + <p>This simulates old dot-matrix displays.</p> + </div> + + <div class="effect-demo terminal"> + <h2>Terminal</h2> + <p>You should see text glow and a scanning line.</p> + <p>This recreates classic terminal aesthetics.</p> + </div> + + <div class="effect-demo none"> + <h2>No Effect</h2> + <p>This box has no special effects for comparison.</p> + <p>Yellow border indicates no retro effects.</p> + </div> + </div> + + <div class="info" style="margin-top: 40px;"> + <h3>Testing Individual Themes</h3> + <p>To test a specific theme, open its example.html file directly:</p> + <p>e.g., phosphor_stream/example.html</p> + <p>The effects should now be clearly visible in Firefox and other modern browsers.</p> + </div> +</body> +</html>
\ No newline at end of file |
