commit a6f30466442f8b68bb8af2d2b4bec0086e20bc7e
Author: root <root@hub.scroll.pub>
Date: 2025-01-07 01:14:22 +0000
Subject: Initial commit
diff --git a/body.html b/body.html
new file mode 100644
index 0000000..9b9c3b3
--- /dev/null
+++ b/body.html
@@ -0,0 +1,75 @@
+<header class="nav-header">
+ <nav>
+ <div class="logo">jscroll</div>
+ <div class="nav-links">
+ <a href="#features">Features</a>
+ <a href="#demos">Demos</a>
+ <a href="#docs">Docs</a>
+ <a href="#get-started" class="cta-button">Get Started</a>
+ </div>
+ </nav>
+</header>
+
+<main>
+ <section class="hero">
+ <h1>One Bundle.<br>Infinite Possibilities.</h1>
+ <p class="subtitle">The complete Scroll stack for data science and analytics</p>
+ <div class="code-preview">
+ <code>import { scroll } from 'jscroll';</code>
+ </div>
+ <div class="scroll-animation"></div>
+ </section>
+
+ <section id="features" class="features">
+ <h2>Why jscroll?</h2>
+ <div class="feature-grid">
+ <div class="feature-card">
+ <h3>Unified Stack</h3>
+ <p>One import. Complete access to the entire Scroll ecosystem.</p>
+ </div>
+ <div class="feature-card">
+ <h3>Data Science Ready</h3>
+ <p>Built-in analytics, visualization, and processing capabilities.</p>
+ </div>
+ <div class="feature-card">
+ <h3>Zero Config</h3>
+ <p>Works out of the box. No setup required.</p>
+ </div>
+ <div class="feature-card">
+ <h3>Blazing Fast</h3>
+ <p>Optimized for performance and minimal bundle size.</p>
+ </div>
+ </div>
+ </section>
+
+ <section id="demos" class="demos">
+ <h2>See it in Action</h2>
+ <div class="demo-container">
+ <div class="demo-visual" id="demoVisual"></div>
+ <div class="demo-code">
+ <pre><code id="demoCode"></code></pre>
+ </div>
+ </div>
+ </section>
+
+ <section id="get-started" class="get-started">
+ <h2>Ready to Begin?</h2>
+ <div class="install-command">
+ <code>npm install jscroll</code>
+ <button class="copy-button" aria-label="Copy install command">Copy</button>
+ </div>
+ <a href="#docs" class="docs-link">Read the docs →</a>
+ </section>
+</main>
+
+<footer>
+ <div class="footer-content">
+ <div class="footer-links">
+ <a href="#features">Features</a>
+ <a href="#demos">Demos</a>
+ <a href="#docs">Documentation</a>
+ <a href="https://github.com/jscroll">GitHub</a>
+ </div>
+ <p>Built with Scroll</p>
+ </div>
+</footer>
\ No newline at end of file
diff --git a/index.scroll b/index.scroll
new file mode 100644
index 0000000..e37ebc7
--- /dev/null
+++ b/index.scroll
@@ -0,0 +1,8 @@
+buildHtml
+baseUrl https://scroll.scroll.pub
+metaTags
+editButton /edit.html
+title jscroll - The Complete Scroll Stack Bundle
+style.css
+body.html
+script.js
\ No newline at end of file
diff --git a/prompt.json b/prompt.json
new file mode 100644
index 0000000..ca8b222
--- /dev/null
+++ b/prompt.json
@@ -0,0 +1,20 @@
+{
+ "id": "msg_01JQpesSEnpbhiHrXPEx1BTh",
+ "type": "message",
+ "role": "assistant",
+ "model": "claude-3-5-sonnet-20241022",
+ "content": [
+ {
+ "type": "text",
+ "text": "I'll create a landing page for jscroll that showcases its data science capabilities with a modern, elegant design.\n\nSuggested domain: scroll.scroll.pub (simple, memorable, and directly relates to the product)\n\n---domain---\nscroll.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://scroll.scroll.pub\nmetaTags\neditButton /edit.html\ntitle jscroll - The Complete Scroll Stack Bundle\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header class=\"nav-header\">\n <nav>\n <div class=\"logo\">jscroll</div>\n <div class=\"nav-links\">\n <a href=\"#features\">Features</a>\n <a href=\"#demos\">Demos</a>\n <a href=\"#docs\">Docs</a>\n <a href=\"#get-started\" class=\"cta-button\">Get Started</a>\n </div>\n </nav>\n</header>\n\n<main>\n <section class=\"hero\">\n <h1>One Bundle.<br>Infinite Possibilities.</h1>\n <p class=\"subtitle\">The complete Scroll stack for data science and analytics</p>\n <div class=\"code-preview\">\n <code>import { scroll } from 'jscroll';</code>\n </div>\n <div class=\"scroll-animation\"></div>\n </section>\n\n <section id=\"features\" class=\"features\">\n <h2>Why jscroll?</h2>\n <div class=\"feature-grid\">\n <div class=\"feature-card\">\n <h3>Unified Stack</h3>\n <p>One import. Complete access to the entire Scroll ecosystem.</p>\n </div>\n <div class=\"feature-card\">\n <h3>Data Science Ready</h3>\n <p>Built-in analytics, visualization, and processing capabilities.</p>\n </div>\n <div class=\"feature-card\">\n <h3>Zero Config</h3>\n <p>Works out of the box. No setup required.</p>\n </div>\n <div class=\"feature-card\">\n <h3>Blazing Fast</h3>\n <p>Optimized for performance and minimal bundle size.</p>\n </div>\n </div>\n </section>\n\n <section id=\"demos\" class=\"demos\">\n <h2>See it in Action</h2>\n <div class=\"demo-container\">\n <div class=\"demo-visual\" id=\"demoVisual\"></div>\n <div class=\"demo-code\">\n <pre><code id=\"demoCode\"></code></pre>\n </div>\n </div>\n </section>\n\n <section id=\"get-started\" class=\"get-started\">\n <h2>Ready to Begin?</h2>\n <div class=\"install-command\">\n <code>npm install jscroll</code>\n <button class=\"copy-button\" aria-label=\"Copy install command\">Copy</button>\n </div>\n <a href=\"#docs\" class=\"docs-link\">Read the docs →</a>\n </section>\n</main>\n\n<footer>\n <div class=\"footer-content\">\n <div class=\"footer-links\">\n <a href=\"#features\">Features</a>\n <a href=\"#demos\">Demos</a>\n <a href=\"#docs\">Documentation</a>\n <a href=\"https://github.com/jscroll\">GitHub</a>\n </div>\n <p>Built with Scroll</p>\n </div>\n</footer>\n---style.css---\n:root {\n --primary: #6366f1;\n --secondary: #818cf8;\n --background: #0f172a;\n --text: #e2e8f0;\n --card-bg: #1e293b;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: system-ui, -apple-system, sans-serif;\n background: var(--background);\n color: var(--text);\n line-height: 1.6;\n}\n\n.nav-header {\n position: fixed;\n width: 100%;\n top: 0;\n background: rgba(15, 23, 42, 0.8);\n backdrop-filter: blur(10px);\n z-index: 1000;\n}\n\nnav {\n max-width: 1200px;\n margin: 0 auto;\n padding: 1rem 2rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.logo {\n font-size: 1.5rem;\n font-weight: bold;\n background: linear-gradient(135deg, var(--primary), var(--secondary));\n -webkit-background-clip: text;\n color: transparent;\n}\n\n.nav-links a {\n color: var(--text);\n text-decoration: none;\n margin-left: 2rem;\n transition: color 0.3s ease;\n}\n\n.cta-button {\n background: var(--primary);\n padding: 0.5rem 1rem;\n border-radius: 0.5rem;\n transition: transform 0.2s ease;\n}\n\n.cta-button:hover {\n transform: translateY(-2px);\n}\n\n.hero {\n height: 100vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n padding: 2rem;\n}\n\nh1 {\n font-size: 4rem;\n line-height: 1.2;\n margin-bottom: 1rem;\n background: linear-gradient(135deg, var(--primary), var(--secondary));\n -webkit-background-clip: text;\n color: transparent;\n}\n\n.subtitle {\n font-size: 1.5rem;\n margin-bottom: 2rem;\n}\n\n.code-preview {\n background: var(--card-bg);\n padding: 1rem 2rem;\n border-radius: 0.5rem;\n margin: 2rem 0;\n}\n\n.feature-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n padding: 2rem;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.feature-card {\n background: var(--card-bg);\n padding: 2rem;\n border-radius: 1rem;\n transition: transform 0.3s ease;\n}\n\n.feature-card:hover {\n transform: translateY(-5px);\n}\n\n.demos {\n padding: 4rem 2rem;\n}\n\n.demo-container {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 2rem;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.demo-visual {\n background: var(--card-bg);\n border-radius: 1rem;\n min-height: 400px;\n}\n\n.install-command {\n background: var(--card-bg);\n padding: 1rem 2rem;\n border-radius: 0.5rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-width: 500px;\n margin: 2rem auto;\n}\n\n.copy-button {\n background: var(--primary);\n border: none;\n color: var(--text);\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n cursor: pointer;\n}\n\nfooter {\n background: var(--card-bg);\n padding: 2rem;\n margin-top: 4rem;\n}\n\n.footer-content {\n max-width: 1200px;\n margin: 0 auto;\n text-align: center;\n}\n\n@media (max-width: 768px) {\n h1 {\n font-size: 2.5rem;\n }\n \n .nav-links {\n display: none;\n }\n \n .demo-container {\n grid-template-columns: 1fr;\n }\n}\n---script.js---\ndocument.addEventListener('DOMContentLoaded', () => {\n // Demo visualization\n const demoVisual = document.getElementById('demoVisual');\n const demoCode = document.getElementById('demoCode');\n \n // Sample data visualization\n const createVisualization = () => {\n const data = Array.from({length: 50}, () => Math.random() * 100);\n const maxValue = Math.max(...data);\n \n demoVisual.innerHTML = data\n .map(value => {\n const height = (value / maxValue) * 100;\n return `<div class=\"bar\" style=\"height: ${height}%\"></div>`;\n })\n .join('');\n \n demoCode.textContent = `\nconst data = getData();\nscroll.visualize(data, {\n type: 'bar',\n animate: true,\n color: '#6366f1'\n});`;\n };\n \n createVisualization();\n \n // Copy button functionality\n const copyButton = document.querySelector('.copy-button');\n copyButton.addEventListener('click', () => {\n navigator.clipboard.writeText('npm install jscroll');\n copyButton.textContent = 'Copied!';\n setTimeout(() => {\n copyButton.textContent = 'Copy';\n }, 2000);\n });\n \n // Smooth scroll for navigation\n document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', (e) => {\n e.preventDefault();\n document.querySelector(anchor.getAttribute('href')).scrollIntoView({\n behavior: 'smooth'\n });\n });\n });\n});\n---end---\n\nThis implementation features:\n- Clean, semantic HTML5 structure\n- Modern, dark-themed design with gradient accents\n- Responsive layout that works on all devices\n- Interactive demo section with data visualization\n- Smooth scrolling navigation\n- Copy-to-clipboard functionality\n- Accessible design with proper ARIA labels\n- Performance-optimized animations and transitions\n- SEO-friendly structure\n- Beautiful hover effects and micro-interactions\n\nThe design focuses on showcasing jscroll's capabilities while maintaining a professional and modern aesthetic. The dark theme with gradient accents creates a developer-friendly environment while still being visually appealing."
+ }
+ ],
+ "stop_reason": "end_turn",
+ "stop_sequence": null,
+ "usage": {
+ "input_tokens": 309,
+ "cache_creation_input_tokens": 0,
+ "cache_read_input_tokens": 0,
+ "output_tokens": 2675
+ }
+}
\ No newline at end of file
diff --git a/readme.scroll b/readme.scroll
new file mode 100644
index 0000000..780130f
--- /dev/null
+++ b/readme.scroll
@@ -0,0 +1,2 @@
+# scroll1.scroll.pub
+Website generated by Claude from prompt: Make a landing page for jscroll . A bundle that includes the whole Scroll stack, and you can include with a single file and use immediately. Show it doing data science and cool stuff
\ No newline at end of file
diff --git a/script.js b/script.js
new file mode 100644
index 0000000..6ab6ccd
--- /dev/null
+++ b/script.js
@@ -0,0 +1,48 @@
+document.addEventListener('DOMContentLoaded', () => {
+ // Demo visualization
+ const demoVisual = document.getElementById('demoVisual');
+ const demoCode = document.getElementById('demoCode');
+
+ // Sample data visualization
+ const createVisualization = () => {
+ const data = Array.from({length: 50}, () => Math.random() * 100);
+ const maxValue = Math.max(...data);
+
+ demoVisual.innerHTML = data
+ .map(value => {
+ const height = (value / maxValue) * 100;
+ return `<div class="bar" style="height: ${height}%"></div>`;
+ })
+ .join('');
+
+ demoCode.textContent = `
+const data = getData();
+scroll.visualize(data, {
+ type: 'bar',
+ animate: true,
+ color: '#6366f1'
+});`;
+ };
+
+ createVisualization();
+
+ // Copy button functionality
+ const copyButton = document.querySelector('.copy-button');
+ copyButton.addEventListener('click', () => {
+ navigator.clipboard.writeText('npm install jscroll');
+ copyButton.textContent = 'Copied!';
+ setTimeout(() => {
+ copyButton.textContent = 'Copy';
+ }, 2000);
+ });
+
+ // Smooth scroll for navigation
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
+ anchor.addEventListener('click', (e) => {
+ e.preventDefault();
+ document.querySelector(anchor.getAttribute('href')).scrollIntoView({
+ behavior: 'smooth'
+ });
+ });
+ });
+});
\ No newline at end of file
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..7ee65cd
--- /dev/null
+++ b/style.css
@@ -0,0 +1,179 @@
+:root {
+ --primary: #6366f1;
+ --secondary: #818cf8;
+ --background: #0f172a;
+ --text: #e2e8f0;
+ --card-bg: #1e293b;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+body {
+ font-family: system-ui, -apple-system, sans-serif;
+ background: var(--background);
+ color: var(--text);
+ line-height: 1.6;
+}
+
+.nav-header {
+ position: fixed;
+ width: 100%;
+ top: 0;
+ background: rgba(15, 23, 42, 0.8);
+ backdrop-filter: blur(10px);
+ z-index: 1000;
+}
+
+nav {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 1rem 2rem;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.logo {
+ font-size: 1.5rem;
+ font-weight: bold;
+ background: linear-gradient(135deg, var(--primary), var(--secondary));
+ -webkit-background-clip: text;
+ color: transparent;
+}
+
+.nav-links a {
+ color: var(--text);
+ text-decoration: none;
+ margin-left: 2rem;
+ transition: color 0.3s ease;
+}
+
+.cta-button {
+ background: var(--primary);
+ padding: 0.5rem 1rem;
+ border-radius: 0.5rem;
+ transition: transform 0.2s ease;
+}
+
+.cta-button:hover {
+ transform: translateY(-2px);
+}
+
+.hero {
+ height: 100vh;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ padding: 2rem;
+}
+
+h1 {
+ font-size: 4rem;
+ line-height: 1.2;
+ margin-bottom: 1rem;
+ background: linear-gradient(135deg, var(--primary), var(--secondary));
+ -webkit-background-clip: text;
+ color: transparent;
+}
+
+.subtitle {
+ font-size: 1.5rem;
+ margin-bottom: 2rem;
+}
+
+.code-preview {
+ background: var(--card-bg);
+ padding: 1rem 2rem;
+ border-radius: 0.5rem;
+ margin: 2rem 0;
+}
+
+.feature-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
+ gap: 2rem;
+ padding: 2rem;
+ max-width: 1200px;
+ margin: 0 auto;
+}
+
+.feature-card {
+ background: var(--card-bg);
+ padding: 2rem;
+ border-radius: 1rem;
+ transition: transform 0.3s ease;
+}
+
+.feature-card:hover {
+ transform: translateY(-5px);
+}
+
+.demos {
+ padding: 4rem 2rem;
+}
+
+.demo-container {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 2rem;
+ max-width: 1200px;
+ margin: 0 auto;
+}
+
+.demo-visual {
+ background: var(--card-bg);
+ border-radius: 1rem;
+ min-height: 400px;
+}
+
+.install-command {
+ background: var(--card-bg);
+ padding: 1rem 2rem;
+ border-radius: 0.5rem;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ max-width: 500px;
+ margin: 2rem auto;
+}
+
+.copy-button {
+ background: var(--primary);
+ border: none;
+ color: var(--text);
+ padding: 0.5rem 1rem;
+ border-radius: 0.25rem;
+ cursor: pointer;
+}
+
+footer {
+ background: var(--card-bg);
+ padding: 2rem;
+ margin-top: 4rem;
+}
+
+.footer-content {
+ max-width: 1200px;
+ margin: 0 auto;
+ text-align: center;
+}
+
+@media (max-width: 768px) {
+ h1 {
+ font-size: 2.5rem;
+ }
+
+ .nav-links {
+ display: none;
+ }
+
+ .demo-container {
+ grid-template-columns: 1fr;
+ }
+}
\ No newline at end of file