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