commit 2f82dea6267443e0c384cbf8e785b4edebd3937b
Author: root <root@hub.scroll.pub> Date: 2025-01-16 08:42:54 +0000 Subject: Deleted readme.scroll diff --git a/readme.scroll b/readme.scroll deleted file mode 100644 index df3e3c2..0000000 --- a/readme.scroll +++ /dev/null @@ -1,3 +0,0 @@ -# pnimrp.scroll.pub - -website generated by DeepSeek from prompt: "Create a modern, responsive, and visually appealing website for a terminal-based internet radio player app called 'pnimrp' (Poor Man's Radio Player in Nim). The website should highlight the app's features, installation instructions, and usage examples. Use a clean and minimal design with a terminal/tech aesthetic. Include the following sections: Hero Section: A catchy tagline (e.g., "Listen to Internet Radio, Straight from Your Terminal"). A screenshot or animated GIF of the app in action. Download/Install buttons for different platforms (Unix, Windows, etc.). Features Section: Highlight key features with icons or small visuals: Portable (works on Unix and Windows). Easy to use (menu-driven interface). Modifiable stations (edit JSON files). Now playing (displays the current song). Async input (non-blocking key polling). Lightweight (minimal dependencies). \ No newline at end of file
commit 46e0683b59e7973c88efa18f7471eba1964b7a9f
Author: root <root@hub.scroll.pub> Date: 2025-01-16 08:42:38 +0000 Subject: Deleted style.css diff --git a/style.css b/style.css deleted file mode 100644 index 1aabe86..0000000 --- a/style.css +++ /dev/null @@ -1,164 +0,0 @@ -:root { - --primary: #00ff88; - --background: #1a1a1a; - --text: #f5f5f5; - --terminal: #0d0d0d; - --accent: #00b8ff; -} - -body { - background-color: var(--background); - color: var(--text); - font-family: 'Fira Code', monospace; - line-height: 1.6; - margin: 0; - padding: 0; -} - -.hero { - background: var(--terminal); - padding: 4rem 2rem; - text-align: center; - border-bottom: 2px solid var(--primary); -} - -.logo { - font-size: 2rem; - font-weight: bold; - color: var(--primary); -} - -.nav-links { - display: flex; - justify-content: center; - gap: 2rem; - margin-top: 1rem; -} - -.hero-content h1 { - font-size: 2.5rem; - margin-bottom: 1rem; - color: var(--primary); -} - -.screenshot-container { - max-width: 800px; - margin: 2rem auto; - border: 2px solid var(--primary); - border-radius: 8px; - overflow: hidden; -} - -.platform-buttons { - display: flex; - justify-content: center; - gap: 1rem; - margin-top: 2rem; -} - -.primary-button { - background: var(--primary); - color: var(--terminal); - padding: 0.8rem 2rem; - border-radius: 4px; - text-decoration: none; - font-weight: bold; - transition: all 0.3s ease; -} - -.primary-button:hover { - background: var(--accent); - transform: translateY(-2px); -} - -.features { - padding: 4rem 2rem; -} - -.feature-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); - gap: 2rem; - margin-top: 2rem; -} - -.feature-card { - background: var(--terminal); - padding: 2rem; - border-radius: 8px; - border: 1px solid var(--primary); -} - -.feature-icon { - font-size: 2rem; - margin-bottom: 1rem; -} - -.install { - padding: 4rem 2rem; - background: var(--terminal); -} - -.install-steps { - display: grid; - gap: 2rem; - margin-top: 2rem; -} - -.step { - background: var(--background); - padding: 1.5rem; - border-radius: 8px; -} - -.code-container { - background: var(--terminal); - padding: 2rem; - border-radius: 8px; - margin-top: 2rem; -} - -pre { - background: var(--background); - padding: 1rem; - border-radius: 4px; - overflow-x: auto; -} - -code { - color: var(--primary); -} - -footer { - background: var(--terminal); - padding: 2rem; - text-align: center; - border-top: 2px solid var(--primary); -} - -.footer-links { - display: flex; - justify-content: center; - gap: 2rem; - margin-bottom: 1rem; -} - -@media (max-width: 768px) { - .hero-content h1 { - font-size: 2rem; - } - - .nav-links { - flex-direction: column; - gap: 1rem; - } - - .platform-buttons { - flex-direction: column; - gap: 1rem; - } - - .feature-grid { - grid-template-columns: 1fr; - } -} \ No newline at end of file
commit 64951f3545bc7f11d235a092e99b1d82db60927c
Author: root <root@hub.scroll.pub> Date: 2025-01-16 08:42:32 +0000 Subject: Deleted script.js diff --git a/script.js b/script.js deleted file mode 100644 index c2c5dd0..0000000 --- a/script.js +++ /dev/null @@ -1,37 +0,0 @@ -// Smooth scrolling for anchor links -document.querySelectorAll('a[href^="#"]').forEach(anchor => { - anchor.addEventListener('click', function (e) { - e.preventDefault(); - document.querySelector(this.getAttribute('href')).scrollIntoView({ - behavior: 'smooth' - }); - }); -}); - -// Add terminal typing effect to hero text -const heroText = document.querySelector('.hero-content h1'); -const originalText = heroText.textContent; -let currentText = ''; -let charIndex = 0; - -function typeWriter() { - if (charIndex < originalText.length) { - currentText += originalText.charAt(charIndex); - heroText.textContent = currentText + '▌'; - charIndex++; - setTimeout(typeWriter, 50); - } else { - heroText.textContent = currentText; - } -} - -typeWriter(); - -// Add blinking cursor effect to code blocks -const codeBlocks = document.querySelectorAll('pre code'); -codeBlocks.forEach(code => { - const cursor = document.createElement('span'); - cursor.className = 'blinking-cursor'; - cursor.textContent = '▌'; - code.appendChild(cursor); -}); \ No newline at end of file
commit ab58377c339572bd6022a57aa6c94c371ecb6ef2
Author: root <root@hub.scroll.pub> Date: 2025-01-16 08:42:26 +0000 Subject: Deleted prompt.json diff --git a/prompt.json b/prompt.json deleted file mode 100644 index be34d2f..0000000 --- a/prompt.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": "cba28ddf-224c-4924-ba5f-d874f82c89f3", - "object": "chat.completion", - "created": 1737016841, - "model": "deepseek-chat", - "choices": [ - { - "index": 0, - "message": { - "role": "assistant", - "content": "---domain---\npnimrp.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://pnimrp.scroll.pub\nmetaTags\neditButton /edit.html\ntitle pnimrp - Poor Man's Radio Player in Nim\nstyle.css\n\nheader\n class hero\n nav\n div pnimrp\n class logo\n div\n class nav-links\n a Features\n href #features\n a Install\n href #install\n a GitHub\n class cta-button\n href https://github.com/yourusername/pnimrp\n div\n class hero-content\n h1 Listen to Internet Radio, Straight from Your Terminal\n p A lightweight, terminal-based internet radio player for Unix and Windows\n div\n class screenshot-container\n img\n src terminal-screenshot.gif\n alt pnimrp in action\n div\n class platform-buttons\n a Download for Unix\n class primary-button\n href #install\n a Download for Windows\n class primary-button\n href #install\nmain\n section\n id features\n class features\n h2 Features\n div\n class feature-grid\n div\n class feature-card\n div 💾\n class feature-icon\n h3 Portable\n p Works seamlessly on Unix and Windows systems\n div\n class feature-card\n div 🖥️\n class feature-icon\n h3 Menu-Driven\n p Easy-to-use terminal interface\n div\n class feature-card\n div 🎛️\n class feature-icon\n h3 Customizable\n p Edit JSON files to add your favorite stations\n div\n class feature-card\n div 🎵\n class feature-icon\n h3 Now Playing\n p Displays current song information\n div\n class feature-card\n div ⚡\n class feature-icon\n h3 Async Input\n p Non-blocking key polling for smooth operation\n div\n class feature-card\n div 🪶\n class feature-icon\n h3 Lightweight\n p Minimal dependencies, fast performance\n section\n id install\n class install\n h2 Installation\n div\n class install-steps\n div\n class step\n h3 Unix/Linux\n pre\n code\n nimble install pnimrp\n div\n class step\n h3 Windows\n pre\n code\n nimble install pnimrp\n div\n class step\n h3 Build from Source\n pre\n code\n git clone https://github.com/yourusername/pnimrp\n cd pnimrp\n nimble build\n section\n class usage\n h2 Usage Examples\n div\n class code-container\n div\n class code-example\n h3 Basic Usage\n pre\n code\n pnimrp\n div\n class code-example\n h3 Custom Stations\n pre\n code\n {\n \"stations\": [\n {\n \"name\": \"My Station\",\n \"url\": \"http://example.com/stream\"\n }\n ]\n }\nfooter\n div\n class footer-content\n div\n class footer-links\n a Documentation\n href https://github.com/yourusername/pnimrp\n a Report Issue\n href https://github.com/yourusername/pnimrp/issues\n a Contribute\n href https://github.com/yourusername/pnimrp/pulls\n p Created with ❤️ by the Nim community\n\nscript.js\n---style.css---\n:root {\n --primary: #00ff88;\n --background: #1a1a1a;\n --text: #f5f5f5;\n --terminal: #0d0d0d;\n --accent: #00b8ff;\n}\n\nbody {\n background-color: var(--background);\n color: var(--text);\n font-family: 'Fira Code', monospace;\n line-height: 1.6;\n margin: 0;\n padding: 0;\n}\n\n.hero {\n background: var(--terminal);\n padding: 4rem 2rem;\n text-align: center;\n border-bottom: 2px solid var(--primary);\n}\n\n.logo {\n font-size: 2rem;\n font-weight: bold;\n color: var(--primary);\n}\n\n.nav-links {\n display: flex;\n justify-content: center;\n gap: 2rem;\n margin-top: 1rem;\n}\n\n.hero-content h1 {\n font-size: 2.5rem;\n margin-bottom: 1rem;\n color: var(--primary);\n}\n\n.screenshot-container {\n max-width: 800px;\n margin: 2rem auto;\n border: 2px solid var(--primary);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.platform-buttons {\n display: flex;\n justify-content: center;\n gap: 1rem;\n margin-top: 2rem;\n}\n\n.primary-button {\n background: var(--primary);\n color: var(--terminal);\n padding: 0.8rem 2rem;\n border-radius: 4px;\n text-decoration: none;\n font-weight: bold;\n transition: all 0.3s ease;\n}\n\n.primary-button:hover {\n background: var(--accent);\n transform: translateY(-2px);\n}\n\n.features {\n padding: 4rem 2rem;\n}\n\n.feature-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 2rem;\n margin-top: 2rem;\n}\n\n.feature-card {\n background: var(--terminal);\n padding: 2rem;\n border-radius: 8px;\n border: 1px solid var(--primary);\n}\n\n.feature-icon {\n font-size: 2rem;\n margin-bottom: 1rem;\n}\n\n.install {\n padding: 4rem 2rem;\n background: var(--terminal);\n}\n\n.install-steps {\n display: grid;\n gap: 2rem;\n margin-top: 2rem;\n}\n\n.step {\n background: var(--background);\n padding: 1.5rem;\n border-radius: 8px;\n}\n\n.code-container {\n background: var(--terminal);\n padding: 2rem;\n border-radius: 8px;\n margin-top: 2rem;\n}\n\npre {\n background: var(--background);\n padding: 1rem;\n border-radius: 4px;\n overflow-x: auto;\n}\n\ncode {\n color: var(--primary);\n}\n\nfooter {\n background: var(--terminal);\n padding: 2rem;\n text-align: center;\n border-top: 2px solid var(--primary);\n}\n\n.footer-links {\n display: flex;\n justify-content: center;\n gap: 2rem;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 768px) {\n .hero-content h1 {\n font-size: 2rem;\n }\n \n .nav-links {\n flex-direction: column;\n gap: 1rem;\n }\n \n .platform-buttons {\n flex-direction: column;\n gap: 1rem;\n }\n \n .feature-grid {\n grid-template-columns: 1fr;\n }\n}\n---script.js---\n// Smooth scrolling for anchor links\ndocument.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', function (e) {\n e.preventDefault();\n document.querySelector(this.getAttribute('href')).scrollIntoView({\n behavior: 'smooth'\n });\n });\n});\n\n// Add terminal typing effect to hero text\nconst heroText = document.querySelector('.hero-content h1');\nconst originalText = heroText.textContent;\nlet currentText = '';\nlet charIndex = 0;\n\nfunction typeWriter() {\n if (charIndex < originalText.length) {\n currentText += originalText.charAt(charIndex);\n heroText.textContent = currentText + '▌';\n charIndex++;\n setTimeout(typeWriter, 50);\n } else {\n heroText.textContent = currentText;\n }\n}\n\ntypeWriter();\n\n// Add blinking cursor effect to code blocks\nconst codeBlocks = document.querySelectorAll('pre code');\ncodeBlocks.forEach(code => {\n const cursor = document.createElement('span');\n cursor.className = 'blinking-cursor';\n cursor.textContent = '▌';\n code.appendChild(cursor);\n});\n---end---" - }, - "logprobs": null, - "finish_reason": "stop" - } - ], - "usage": { - "prompt_tokens": 903, - "completion_tokens": 1847, - "total_tokens": 2750, - "prompt_cache_hit_tokens": 0, - "prompt_cache_miss_tokens": 903 - }, - "system_fingerprint": "fp_3a5770e1b4" -} \ No newline at end of file
commit d727b6bb111ab00952e29436add64e9546dbd831
Author: root <root@hub.scroll.pub> Date: 2025-01-16 08:42:16 +0000 Subject: Deleted index.scroll diff --git a/index.scroll b/index.scroll deleted file mode 100644 index a55c695..0000000 --- a/index.scroll +++ /dev/null @@ -1,145 +0,0 @@ -buildHtml -baseUrl https://pnimrp.scroll.pub -metaTags -editButton /edit.html -title pnimrp - Poor Man's Radio Player in Nim -style.css - -header - class hero - nav - div pnimrp - class logo - div - class nav-links - a Features - href #features - a Install - href #install - a GitHub - class cta-button - href https://github.com/yourusername/pnimrp - div - class hero-content - h1 Listen to Internet Radio, Straight from Your Terminal - p A lightweight, terminal-based internet radio player for Unix and Windows - div - class screenshot-container - img - src terminal-screenshot.gif - alt pnimrp in action - div - class platform-buttons - a Download for Unix - class primary-button - href #install - a Download for Windows - class primary-button - href #install -main - section - id features - class features - h2 Features - div - class feature-grid - div - class feature-card - div 💾 - class feature-icon - h3 Portable - p Works seamlessly on Unix and Windows systems - div - class feature-card - div 🖥️ - class feature-icon - h3 Menu-Driven - p Easy-to-use terminal interface - div - class feature-card - div 🎛️ - class feature-icon - h3 Customizable - p Edit JSON files to add your favorite stations - div - class feature-card - div 🎵 - class feature-icon - h3 Now Playing - p Displays current song information - div - class feature-card - div ⚡ - class feature-icon - h3 Async Input - p Non-blocking key polling for smooth operation - div - class feature-card - div 🪶 - class feature-icon - h3 Lightweight - p Minimal dependencies, fast performance - section - id install - class install - h2 Installation - div - class install-steps - div - class step - h3 Unix/Linux - pre - code - nimble install pnimrp - div - class step - h3 Windows - pre - code - nimble install pnimrp - div - class step - h3 Build from Source - pre - code - git clone https://github.com/yourusername/pnimrp - cd pnimrp - nimble build - section - class usage - h2 Usage Examples - div - class code-container - div - class code-example - h3 Basic Usage - pre - code - pnimrp - div - class code-example - h3 Custom Stations - pre - code - { - "stations": [ - { - "name": "My Station", - "url": "http://example.com/stream" - } - ] - } -footer - div - class footer-content - div - class footer-links - a Documentation - href https://github.com/yourusername/pnimrp - a Report Issue - href https://github.com/yourusername/pnimrp/issues - a Contribute - href https://github.com/yourusername/pnimrp/pulls - p Created with ❤️ by the Nim community - -script.js \ No newline at end of file
commit a3ae2060fab0c76b595205a6ce4b01346a5bc016
Author: root <root@hub.scroll.pub> Date: 2025-01-16 08:41:21 +0000 Subject: Initial commit diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..a55c695 --- /dev/null +++ b/index.scroll @@ -0,0 +1,145 @@ +buildHtml +baseUrl https://pnimrp.scroll.pub +metaTags +editButton /edit.html +title pnimrp - Poor Man's Radio Player in Nim +style.css + +header + class hero + nav + div pnimrp + class logo + div + class nav-links + a Features + href #features + a Install + href #install + a GitHub + class cta-button + href https://github.com/yourusername/pnimrp + div + class hero-content + h1 Listen to Internet Radio, Straight from Your Terminal + p A lightweight, terminal-based internet radio player for Unix and Windows + div + class screenshot-container + img + src terminal-screenshot.gif + alt pnimrp in action + div + class platform-buttons + a Download for Unix + class primary-button + href #install + a Download for Windows + class primary-button + href #install +main + section + id features + class features + h2 Features + div + class feature-grid + div + class feature-card + div 💾 + class feature-icon + h3 Portable + p Works seamlessly on Unix and Windows systems + div + class feature-card + div 🖥️ + class feature-icon + h3 Menu-Driven + p Easy-to-use terminal interface + div + class feature-card + div 🎛️ + class feature-icon + h3 Customizable + p Edit JSON files to add your favorite stations + div + class feature-card + div 🎵 + class feature-icon + h3 Now Playing + p Displays current song information + div + class feature-card + div ⚡ + class feature-icon + h3 Async Input + p Non-blocking key polling for smooth operation + div + class feature-card + div 🪶 + class feature-icon + h3 Lightweight + p Minimal dependencies, fast performance + section + id install + class install + h2 Installation + div + class install-steps + div + class step + h3 Unix/Linux + pre + code + nimble install pnimrp + div + class step + h3 Windows + pre + code + nimble install pnimrp + div + class step + h3 Build from Source + pre + code + git clone https://github.com/yourusername/pnimrp + cd pnimrp + nimble build + section + class usage + h2 Usage Examples + div + class code-container + div + class code-example + h3 Basic Usage + pre + code + pnimrp + div + class code-example + h3 Custom Stations + pre + code + { + "stations": [ + { + "name": "My Station", + "url": "http://example.com/stream" + } + ] + } +footer + div + class footer-content + div + class footer-links + a Documentation + href https://github.com/yourusername/pnimrp + a Report Issue + href https://github.com/yourusername/pnimrp/issues + a Contribute + href https://github.com/yourusername/pnimrp/pulls + p Created with ❤️ by the Nim community + +script.js \ No newline at end of file diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..be34d2f --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "cba28ddf-224c-4924-ba5f-d874f82c89f3", + "object": "chat.completion", + "created": 1737016841, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\npnimrp.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://pnimrp.scroll.pub\nmetaTags\neditButton /edit.html\ntitle pnimrp - Poor Man's Radio Player in Nim\nstyle.css\n\nheader\n class hero\n nav\n div pnimrp\n class logo\n div\n class nav-links\n a Features\n href #features\n a Install\n href #install\n a GitHub\n class cta-button\n href https://github.com/yourusername/pnimrp\n div\n class hero-content\n h1 Listen to Internet Radio, Straight from Your Terminal\n p A lightweight, terminal-based internet radio player for Unix and Windows\n div\n class screenshot-container\n img\n src terminal-screenshot.gif\n alt pnimrp in action\n div\n class platform-buttons\n a Download for Unix\n class primary-button\n href #install\n a Download for Windows\n class primary-button\n href #install\nmain\n section\n id features\n class features\n h2 Features\n div\n class feature-grid\n div\n class feature-card\n div 💾\n class feature-icon\n h3 Portable\n p Works seamlessly on Unix and Windows systems\n div\n class feature-card\n div 🖥️\n class feature-icon\n h3 Menu-Driven\n p Easy-to-use terminal interface\n div\n class feature-card\n div 🎛️\n class feature-icon\n h3 Customizable\n p Edit JSON files to add your favorite stations\n div\n class feature-card\n div 🎵\n class feature-icon\n h3 Now Playing\n p Displays current song information\n div\n class feature-card\n div ⚡\n class feature-icon\n h3 Async Input\n p Non-blocking key polling for smooth operation\n div\n class feature-card\n div 🪶\n class feature-icon\n h3 Lightweight\n p Minimal dependencies, fast performance\n section\n id install\n class install\n h2 Installation\n div\n class install-steps\n div\n class step\n h3 Unix/Linux\n pre\n code\n nimble install pnimrp\n div\n class step\n h3 Windows\n pre\n code\n nimble install pnimrp\n div\n class step\n h3 Build from Source\n pre\n code\n git clone https://github.com/yourusername/pnimrp\n cd pnimrp\n nimble build\n section\n class usage\n h2 Usage Examples\n div\n class code-container\n div\n class code-example\n h3 Basic Usage\n pre\n code\n pnimrp\n div\n class code-example\n h3 Custom Stations\n pre\n code\n {\n \"stations\": [\n {\n \"name\": \"My Station\",\n \"url\": \"http://example.com/stream\"\n }\n ]\n }\nfooter\n div\n class footer-content\n div\n class footer-links\n a Documentation\n href https://github.com/yourusername/pnimrp\n a Report Issue\n href https://github.com/yourusername/pnimrp/issues\n a Contribute\n href https://github.com/yourusername/pnimrp/pulls\n p Created with ❤️ by the Nim community\n\nscript.js\n---style.css---\n:root {\n --primary: #00ff88;\n --background: #1a1a1a;\n --text: #f5f5f5;\n --terminal: #0d0d0d;\n --accent: #00b8ff;\n}\n\nbody {\n background-color: var(--background);\n color: var(--text);\n font-family: 'Fira Code', monospace;\n line-height: 1.6;\n margin: 0;\n padding: 0;\n}\n\n.hero {\n background: var(--terminal);\n padding: 4rem 2rem;\n text-align: center;\n border-bottom: 2px solid var(--primary);\n}\n\n.logo {\n font-size: 2rem;\n font-weight: bold;\n color: var(--primary);\n}\n\n.nav-links {\n display: flex;\n justify-content: center;\n gap: 2rem;\n margin-top: 1rem;\n}\n\n.hero-content h1 {\n font-size: 2.5rem;\n margin-bottom: 1rem;\n color: var(--primary);\n}\n\n.screenshot-container {\n max-width: 800px;\n margin: 2rem auto;\n border: 2px solid var(--primary);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.platform-buttons {\n display: flex;\n justify-content: center;\n gap: 1rem;\n margin-top: 2rem;\n}\n\n.primary-button {\n background: var(--primary);\n color: var(--terminal);\n padding: 0.8rem 2rem;\n border-radius: 4px;\n text-decoration: none;\n font-weight: bold;\n transition: all 0.3s ease;\n}\n\n.primary-button:hover {\n background: var(--accent);\n transform: translateY(-2px);\n}\n\n.features {\n padding: 4rem 2rem;\n}\n\n.feature-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 2rem;\n margin-top: 2rem;\n}\n\n.feature-card {\n background: var(--terminal);\n padding: 2rem;\n border-radius: 8px;\n border: 1px solid var(--primary);\n}\n\n.feature-icon {\n font-size: 2rem;\n margin-bottom: 1rem;\n}\n\n.install {\n padding: 4rem 2rem;\n background: var(--terminal);\n}\n\n.install-steps {\n display: grid;\n gap: 2rem;\n margin-top: 2rem;\n}\n\n.step {\n background: var(--background);\n padding: 1.5rem;\n border-radius: 8px;\n}\n\n.code-container {\n background: var(--terminal);\n padding: 2rem;\n border-radius: 8px;\n margin-top: 2rem;\n}\n\npre {\n background: var(--background);\n padding: 1rem;\n border-radius: 4px;\n overflow-x: auto;\n}\n\ncode {\n color: var(--primary);\n}\n\nfooter {\n background: var(--terminal);\n padding: 2rem;\n text-align: center;\n border-top: 2px solid var(--primary);\n}\n\n.footer-links {\n display: flex;\n justify-content: center;\n gap: 2rem;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 768px) {\n .hero-content h1 {\n font-size: 2rem;\n }\n \n .nav-links {\n flex-direction: column;\n gap: 1rem;\n }\n \n .platform-buttons {\n flex-direction: column;\n gap: 1rem;\n }\n \n .feature-grid {\n grid-template-columns: 1fr;\n }\n}\n---script.js---\n// Smooth scrolling for anchor links\ndocument.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', function (e) {\n e.preventDefault();\n document.querySelector(this.getAttribute('href')).scrollIntoView({\n behavior: 'smooth'\n });\n });\n});\n\n// Add terminal typing effect to hero text\nconst heroText = document.querySelector('.hero-content h1');\nconst originalText = heroText.textContent;\nlet currentText = '';\nlet charIndex = 0;\n\nfunction typeWriter() {\n if (charIndex < originalText.length) {\n currentText += originalText.charAt(charIndex);\n heroText.textContent = currentText + '▌';\n charIndex++;\n setTimeout(typeWriter, 50);\n } else {\n heroText.textContent = currentText;\n }\n}\n\ntypeWriter();\n\n// Add blinking cursor effect to code blocks\nconst codeBlocks = document.querySelectorAll('pre code');\ncodeBlocks.forEach(code => {\n const cursor = document.createElement('span');\n cursor.className = 'blinking-cursor';\n cursor.textContent = '▌';\n code.appendChild(cursor);\n});\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 903, + "completion_tokens": 1847, + "total_tokens": 2750, + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 903 + }, + "system_fingerprint": "fp_3a5770e1b4" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..df3e3c2 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,3 @@ +# pnimrp.scroll.pub + +website generated by DeepSeek from prompt: "Create a modern, responsive, and visually appealing website for a terminal-based internet radio player app called 'pnimrp' (Poor Man's Radio Player in Nim). The website should highlight the app's features, installation instructions, and usage examples. Use a clean and minimal design with a terminal/tech aesthetic. Include the following sections: Hero Section: A catchy tagline (e.g., "Listen to Internet Radio, Straight from Your Terminal"). A screenshot or animated GIF of the app in action. Download/Install buttons for different platforms (Unix, Windows, etc.). Features Section: Highlight key features with icons or small visuals: Portable (works on Unix and Windows). Easy to use (menu-driven interface). Modifiable stations (edit JSON files). Now playing (displays the current song). Async input (non-blocking key polling). Lightweight (minimal dependencies). \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..c2c5dd0 --- /dev/null +++ b/script.js @@ -0,0 +1,37 @@ +// Smooth scrolling for anchor links +document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault(); + document.querySelector(this.getAttribute('href')).scrollIntoView({ + behavior: 'smooth' + }); + }); +}); + +// Add terminal typing effect to hero text +const heroText = document.querySelector('.hero-content h1'); +const originalText = heroText.textContent; +let currentText = ''; +let charIndex = 0; + +function typeWriter() { + if (charIndex < originalText.length) { + currentText += originalText.charAt(charIndex); + heroText.textContent = currentText + '▌'; + charIndex++; + setTimeout(typeWriter, 50); + } else { + heroText.textContent = currentText; + } +} + +typeWriter(); + +// Add blinking cursor effect to code blocks +const codeBlocks = document.querySelectorAll('pre code'); +codeBlocks.forEach(code => { + const cursor = document.createElement('span'); + cursor.className = 'blinking-cursor'; + cursor.textContent = '▌'; + code.appendChild(cursor); +}); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..1aabe86 --- /dev/null +++ b/style.css @@ -0,0 +1,164 @@ +:root { + --primary: #00ff88; + --background: #1a1a1a; + --text: #f5f5f5; + --terminal: #0d0d0d; + --accent: #00b8ff; +} + +body { + background-color: var(--background); + color: var(--text); + font-family: 'Fira Code', monospace; + line-height: 1.6; + margin: 0; + padding: 0; +} + +.hero { + background: var(--terminal); + padding: 4rem 2rem; + text-align: center; + border-bottom: 2px solid var(--primary); +} + +.logo { + font-size: 2rem; + font-weight: bold; + color: var(--primary); +} + +.nav-links { + display: flex; + justify-content: center; + gap: 2rem; + margin-top: 1rem; +} + +.hero-content h1 { + font-size: 2.5rem; + margin-bottom: 1rem; + color: var(--primary); +} + +.screenshot-container { + max-width: 800px; + margin: 2rem auto; + border: 2px solid var(--primary); + border-radius: 8px; + overflow: hidden; +} + +.platform-buttons { + display: flex; + justify-content: center; + gap: 1rem; + margin-top: 2rem; +} + +.primary-button { + background: var(--primary); + color: var(--terminal); + padding: 0.8rem 2rem; + border-radius: 4px; + text-decoration: none; + font-weight: bold; + transition: all 0.3s ease; +} + +.primary-button:hover { + background: var(--accent); + transform: translateY(-2px); +} + +.features { + padding: 4rem 2rem; +} + +.feature-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + margin-top: 2rem; +} + +.feature-card { + background: var(--terminal); + padding: 2rem; + border-radius: 8px; + border: 1px solid var(--primary); +} + +.feature-icon { + font-size: 2rem; + margin-bottom: 1rem; +} + +.install { + padding: 4rem 2rem; + background: var(--terminal); +} + +.install-steps { + display: grid; + gap: 2rem; + margin-top: 2rem; +} + +.step { + background: var(--background); + padding: 1.5rem; + border-radius: 8px; +} + +.code-container { + background: var(--terminal); + padding: 2rem; + border-radius: 8px; + margin-top: 2rem; +} + +pre { + background: var(--background); + padding: 1rem; + border-radius: 4px; + overflow-x: auto; +} + +code { + color: var(--primary); +} + +footer { + background: var(--terminal); + padding: 2rem; + text-align: center; + border-top: 2px solid var(--primary); +} + +.footer-links { + display: flex; + justify-content: center; + gap: 2rem; + margin-bottom: 1rem; +} + +@media (max-width: 768px) { + .hero-content h1 { + font-size: 2rem; + } + + .nav-links { + flex-direction: column; + gap: 1rem; + } + + .platform-buttons { + flex-direction: column; + gap: 1rem; + } + + .feature-grid { + grid-template-columns: 1fr; + } +} \ No newline at end of file