Changes to podcraft.scroll.pub

root
root
24 days ago
Initial commit
body.html
Changed around line 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Create Your Podcast Today

+

Transform your voice into a powerful medium. Start your podcasting journey with PodCraft.

+
+
+
+
+
+
+

Everything You Need

+
+
+
+

Recording Tools

+

Professional-grade audio recording capabilities right in your browser.

+
+
+
+

Easy Editing

+

Intuitive audio editing tools designed for podcasters.

+
+
+
+

Hosting

+

Reliable hosting with unlimited storage for your episodes.

+
+
+
+

Analytics

+

Detailed insights about your audience and episode performance.

+
+
+
+
+
+

How to Start

+
+
+ 1
+

Sign Up

+

Create your free account in minutes

+
+
+ 2
+

Set Up

+

Configure your podcast details

+
+
+ 3
+

Record

+

Create your first episode

+
+
+ 4
+

Publish

+

Share with the world

+
+
+
+
+
+

Ready to Begin?

+
+
+
+
+
+
+
+
+
+
+
index.scroll
Changed around line 1
+ buildHtml
+ baseUrl https://podcraft.scroll.pub
+ metaTags
+ editButton /edit.html
+ title PodCraft - Create Your Podcast Journey
+ style.css
+ body.html
+ script.js
prompt.json
Changed around line 1
+ {
+ "id": "msg_01LBDVjk6Ygdg3zSJdNrb73R",
+ "type": "message",
+ "role": "assistant",
+ "model": "claude-3-5-sonnet-20241022",
+ "content": [
+ {
+ "type": "text",
+ "text": "Let me create a sleek podcast creation website with a modern design.\n\n---domain---\npodcraft.scroll.pub\n\n---index.scroll---\nbuildHtml\nbaseUrl https://podcraft.scroll.pub\nmetaTags\neditButton /edit.html\ntitle PodCraft - Create Your Podcast Journey\nstyle.css\nbody.html\nscript.js\n\n---body.html---\n
\n \n
\n\n
\n
\n
\n

Create Your Podcast Today

\n

Transform your voice into a powerful medium. Start your podcasting journey with PodCraft.

\n \n
\n
\n
\n\n
\n

Everything You Need

\n
\n
\n
\n

Recording Tools

\n

Professional-grade audio recording capabilities right in your browser.

\n
\n
\n
\n

Easy Editing

\n

Intuitive audio editing tools designed for podcasters.

\n
\n
\n
\n

Hosting

\n

Reliable hosting with unlimited storage for your episodes.

\n
\n
\n
\n

Analytics

\n

Detailed insights about your audience and episode performance.

\n
\n
\n
\n\n
\n

How to Start

\n
\n
\n 1\n

Sign Up

\n

Create your free account in minutes

\n
\n
\n 2\n

Set Up

\n

Configure your podcast details

\n
\n
\n 3\n

Record

\n

Create your first episode

\n
\n
\n 4\n

Publish

\n

Share with the world

\n
\n
\n
\n\n
\n

Ready to Begin?

\n
\n \n \n \n \n
\n
\n
\n\n\n\n---style.css---\n:root {\n --primary-color: #6c63ff;\n --secondary-color: #4a90e2;\n --text-color: #2c3e50;\n --background-color: #f8f9fa;\n --card-background: #ffffff;\n --transition: all 0.3s ease;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: 'Segoe UI', system-ui, sans-serif;\n line-height: 1.6;\n color: var(--text-color);\n overflow-x: hidden;\n}\n\n.nav-header {\n position: fixed;\n width: 100%;\n background: rgba(255, 255, 255, 0.95);\n backdrop-filter: blur(10px);\n z-index: 1000;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n}\n\nnav {\n max-width: 1200px;\n margin: 0 auto;\n padding: 1rem;\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 color: var(--primary-color);\n}\n\n.nav-links {\n display: flex;\n gap: 2rem;\n list-style: none;\n}\n\n.nav-links a {\n text-decoration: none;\n color: var(--text-color);\n font-weight: 500;\n transition: var(--transition);\n}\n\n.nav-links a:hover {\n color: var(--primary-color);\n}\n\n.mobile-menu {\n display: none;\n}\n\n.hero {\n min-height: 100vh;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\n position: relative;\n padding: 2rem;\n}\n\n.hero-content {\n text-align: center;\n color: white;\n max-width: 800px;\n z-index: 1;\n}\n\n.hero h1 {\n font-size: 3.5rem;\n margin-bottom: 1rem;\n animation: fadeInUp 1s ease;\n}\n\n.hero p {\n font-size: 1.2rem;\n margin-bottom: 2rem;\n animation: fadeInUp 1s ease 0.2s;\n}\n\n.cta-button {\n padding: 1rem 2rem;\n font-size: 1.1rem;\n border: none;\n border-radius: 30px;\n background: white;\n color: var(--primary-color);\n cursor: pointer;\n transition: var(--transition);\n animation: fadeInUp 1s ease 0.4s;\n}\n\n.cta-button:hover {\n transform: translateY(-3px);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\n}\n\n.wave-decoration {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 150px;\n background: var(--background-color);\n clip-path: polygon(0 50%, 100% 0, 100% 100%, 0% 100%);\n}\n\n.features {\n padding: 5rem 2rem;\n background: var(--background-color);\n}\n\n.features h2 {\n text-align: center;\n margin-bottom: 3rem;\n font-size: 2.5rem;\n}\n\n.feature-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.feature-card {\n background: var(--card-background);\n padding: 2rem;\n border-radius: 15px;\n text-align: center;\n transition: var(--transition);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);\n}\n\n.feature-card:hover {\n transform: translateY(-10px);\n box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);\n}\n\n.icon {\n width: 60px;\n height: 60px;\n margin: 0 auto 1rem;\n background: var(--primary-color);\n border-radius: 50%;\n opacity: 0.9;\n}\n\n.guide {\n padding: 5rem 2rem;\n background: white;\n}\n\n.guide h2 {\n text-align: center;\n margin-bottom: 3rem;\n font-size: 2.5rem;\n}\n\n.steps {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 2rem;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.step {\n text-align: center;\n position: relative;\n}\n\n.step-number {\n display: inline-block;\n width: 40px;\n height: 40px;\n background: var(--primary-color);\n color: white;\n border-radius: 50%;\n line-height: 40px;\n margin-bottom: 1rem;\n}\n\n.contact {\n padding: 5rem 2rem;\n background: var(--background-color);\n}\n\n.contact h2 {\n text-align: center;\n margin-bottom: 3rem;\n font-size: 2.5rem;\n}\n\n.contact-form {\n max-width: 600px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.contact-form input,\n.contact-form textarea {\n padding: 1rem;\n border: 2px solid transparent;\n border-radius: 8px;\n font-size: 1rem;\n transition: var(--transition);\n}\n\n.contact-form input:focus,\n.contact-form textarea:focus {\n border-color: var(--primary-color);\n outline: none;\n}\n\n.contact-form button {\n padding: 1rem;\n background: var(--primary-color);\n color: white;\n border: none;\n border-radius: 8px;\n cursor: pointer;\n transition: var(--transition);\n}\n\n.contact-form button:hover {\n background: var(--secondary-color);\n}\n\nfooter {\n background: var(--text-color);\n color: white;\n padding: 2rem;\n}\n\n.footer-content {\n max-width: 1200px;\n margin: 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.footer-links {\n display: flex;\n gap: 2rem;\n}\n\n.footer-links a {\n color: white;\n text-decoration: none;\n transition: var(--transition);\n}\n\n.footer-links a:hover {\n color: var(--primary-color);\n}\n\n@keyframes fadeInUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@media (max-width: 768px) {\n .nav-links {\n display: none;\n }\n\n .mobile-menu {\n display: block;\n background: none;\n border: none;\n cursor: pointer;\n }\n\n .mobile-menu span {\n display: block;\n width: 25px;\n height: 3px;\n background: var(--text-color);\n margin: 5px 0;\n transition: var(--transition);\n }\n\n .hero h1 {\n font-size: 2.5rem;\n }\n\n .footer-content {\n flex-direction: column;\n gap: 1rem;\n text-align: center;\n }\n\n .footer-links {\n flex-direction: column;\n gap: 1rem;\n }\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', () => {\n // Mobile menu toggle\n const mobileMenu = document.querySelector('.mobile-menu');\n const navLinks = document.querySelector('.nav-links');\n\n mobileMenu.addEventListener('click', () => {\n navLinks.style.display = navLinks.style.display === 'flex' ? 'none' : 'flex';\n mobileMenu.classList.toggle('active');\n });\n\n // Smooth scroll for navigation links\n document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', function (e) {\n e.preventDefault();\n const target = document.querySelector(this.getAttribute('href'));\n if (target) {\n target.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n // Close mobile menu if open\n if (window.innerWidth <= 768) {\n navLinks.style.display = 'none';\n mobileMenu.classList.remove('active');\n }\n }\n });\n });\n\n // Form submission handling\n const contactForm = document.getElementById('contact-form');\n if (contactForm) {\n contactForm.addEventListener('submit', (e) => {\n e.preventDefault();\n // Add animation class to button\n const submitButton = contactForm.querySelector('button[type=\"submit\"]');\n submitButton.style.transform = 'scale(0.95)';\n setTimeout(() => {\n submitButton.style.transform = 'scale(1)';\n // Reset form\n contactForm.reset();\n // Show success message (could be enhanced)\n alert('Thanks for your interest! We\\'ll be in touch soon.');\n }, 200);\n });\n }\n\n // Intersection Observer for animation\n const observerOptions = {\n threshold: 0.1,\n rootMargin: '0px 0px -50px 0px'\n };\n\n const observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n entry.target.style.opacity = '1';\n entry.target.style.transform = 'translateY(0)';\n }\n });\n }, observerOptions);\n\n // Observe all feature cards and steps\n document.querySelectorAll('.feature-card, .step').forEach(element => {\n element.style.opacity = '0';\n element.style.transform = 'translateY(20px)';\n element.style.transition = 'opacity 0.5s ease, transform 0.5s ease';\n observer.observe(element);\n });\n});\n\n---end---"
+ }
+ ],
+ "stop_reason": "end_turn",
+ "stop_sequence": null,
+ "usage": {
+ "input_tokens": 278,
+ "cache_creation_input_tokens": 0,
+ "cache_read_input_tokens": 0,
+ "output_tokens": 3930
+ }
+ }
readme.scroll
Changed around line 1
+ # podcraft.scroll.pub
+ Website generated by Claude from prompt: 我要创建一个播客
script.js
Changed around line 1
+ document.addEventListener('DOMContentLoaded', () => {
+ // Mobile menu toggle
+ const mobileMenu = document.querySelector('.mobile-menu');
+ const navLinks = document.querySelector('.nav-links');
+
+ mobileMenu.addEventListener('click', () => {
+ navLinks.style.display = navLinks.style.display === 'flex' ? 'none' : 'flex';
+ mobileMenu.classList.toggle('active');
+ });
+
+ // Smooth scroll for navigation links
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
+ anchor.addEventListener('click', function (e) {
+ e.preventDefault();
+ const target = document.querySelector(this.getAttribute('href'));
+ if (target) {
+ target.scrollIntoView({
+ behavior: 'smooth',
+ block: 'start'
+ });
+ // Close mobile menu if open
+ if (window.innerWidth <= 768) {
+ navLinks.style.display = 'none';
+ mobileMenu.classList.remove('active');
+ }
+ }
+ });
+ });
+
+ // Form submission handling
+ const contactForm = document.getElementById('contact-form');
+ if (contactForm) {
+ contactForm.addEventListener('submit', (e) => {
+ e.preventDefault();
+ // Add animation class to button
+ const submitButton = contactForm.querySelector('button[type="submit"]');
+ submitButton.style.transform = 'scale(0.95)';
+ setTimeout(() => {
+ submitButton.style.transform = 'scale(1)';
+ // Reset form
+ contactForm.reset();
+ // Show success message (could be enhanced)
+ alert('Thanks for your interest! We\'ll be in touch soon.');
+ }, 200);
+ });
+ }
+
+ // Intersection Observer for animation
+ const observerOptions = {
+ threshold: 0.1,
+ rootMargin: '0px 0px -50px 0px'
+ };
+
+ const observer = new IntersectionObserver((entries) => {
+ entries.forEach(entry => {
+ if (entry.isIntersecting) {
+ entry.target.style.opacity = '1';
+ entry.target.style.transform = 'translateY(0)';
+ }
+ });
+ }, observerOptions);
+
+ // Observe all feature cards and steps
+ document.querySelectorAll('.feature-card, .step').forEach(element => {
+ element.style.opacity = '0';
+ element.style.transform = 'translateY(20px)';
+ element.style.transition = 'opacity 0.5s ease, transform 0.5s ease';
+ observer.observe(element);
+ });
+ });
style.css
Changed around line 1
+ :root {
+ --primary-color: #6c63ff;
+ --secondary-color: #4a90e2;
+ --text-color: #2c3e50;
+ --background-color: #f8f9fa;
+ --card-background: #ffffff;
+ --transition: all 0.3s ease;
+ }
+
+ * {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ }
+
+ body {
+ font-family: 'Segoe UI', system-ui, sans-serif;
+ line-height: 1.6;
+ color: var(--text-color);
+ overflow-x: hidden;
+ }
+
+ .nav-header {
+ position: fixed;
+ width: 100%;
+ background: rgba(255, 255, 255, 0.95);
+ backdrop-filter: blur(10px);
+ z-index: 1000;
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
+ }
+
+ nav {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 1rem;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+
+ .logo {
+ font-size: 1.5rem;
+ font-weight: bold;
+ color: var(--primary-color);
+ }
+
+ .nav-links {
+ display: flex;
+ gap: 2rem;
+ list-style: none;
+ }
+
+ .nav-links a {
+ text-decoration: none;
+ color: var(--text-color);
+ font-weight: 500;
+ transition: var(--transition);
+ }
+
+ .nav-links a:hover {
+ color: var(--primary-color);
+ }
+
+ .mobile-menu {
+ display: none;
+ }
+
+ .hero {
+ min-height: 100vh;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
+ position: relative;
+ padding: 2rem;
+ }
+
+ .hero-content {
+ text-align: center;
+ color: white;
+ max-width: 800px;
+ z-index: 1;
+ }
+
+ .hero h1 {
+ font-size: 3.5rem;
+ margin-bottom: 1rem;
+ animation: fadeInUp 1s ease;
+ }
+
+ .hero p {
+ font-size: 1.2rem;
+ margin-bottom: 2rem;
+ animation: fadeInUp 1s ease 0.2s;
+ }
+
+ .cta-button {
+ padding: 1rem 2rem;
+ font-size: 1.1rem;
+ border: none;
+ border-radius: 30px;
+ background: white;
+ color: var(--primary-color);
+ cursor: pointer;
+ transition: var(--transition);
+ animation: fadeInUp 1s ease 0.4s;
+ }
+
+ .cta-button:hover {
+ transform: translateY(-3px);
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
+ }
+
+ .wave-decoration {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 150px;
+ background: var(--background-color);
+ clip-path: polygon(0 50%, 100% 0, 100% 100%, 0% 100%);
+ }
+
+ .features {
+ padding: 5rem 2rem;
+ background: var(--background-color);
+ }
+
+ .features h2 {
+ text-align: center;
+ margin-bottom: 3rem;
+ font-size: 2.5rem;
+ }
+
+ .feature-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
+ gap: 2rem;
+ max-width: 1200px;
+ margin: 0 auto;
+ }
+
+ .feature-card {
+ background: var(--card-background);
+ padding: 2rem;
+ border-radius: 15px;
+ text-align: center;
+ transition: var(--transition);
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
+ }
+
+ .feature-card:hover {
+ transform: translateY(-10px);
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
+ }
+
+ .icon {
+ width: 60px;
+ height: 60px;
+ margin: 0 auto 1rem;
+ background: var(--primary-color);
+ border-radius: 50%;
+ opacity: 0.9;
+ }
+
+ .guide {
+ padding: 5rem 2rem;
+ background: white;
+ }
+
+ .guide h2 {
+ text-align: center;
+ margin-bottom: 3rem;
+ font-size: 2.5rem;
+ }
+
+ .steps {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ gap: 2rem;
+ max-width: 1200px;
+ margin: 0 auto;
+ }
+
+ .step {
+ text-align: center;
+ position: relative;
+ }
+
+ .step-number {
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ background: var(--primary-color);
+ color: white;
+ border-radius: 50%;
+ line-height: 40px;
+ margin-bottom: 1rem;
+ }
+
+ .contact {
+ padding: 5rem 2rem;
+ background: var(--background-color);
+ }
+
+ .contact h2 {
+ text-align: center;
+ margin-bottom: 3rem;
+ font-size: 2.5rem;
+ }
+
+ .contact-form {
+ max-width: 600px;
+ margin: 0 auto;
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+ }
+
+ .contact-form input,
+ .contact-form textarea {
+ padding: 1rem;
+ border: 2px solid transparent;
+ border-radius: 8px;
+ font-size: 1rem;
+ transition: var(--transition);
+ }
+
+ .contact-form input:focus,
+ .contact-form textarea:focus {
+ border-color: var(--primary-color);
+ outline: none;
+ }
+
+ .contact-form button {
+ padding: 1rem;
+ background: var(--primary-color);
+ color: white;
+ border: none;
+ border-radius: 8px;
+ cursor: pointer;
+ transition: var(--transition);
+ }
+
+ .contact-form button:hover {
+ background: var(--secondary-color);
+ }
+
+ footer {
+ background: var(--text-color);
+ color: white;
+ padding: 2rem;
+ }
+
+ .footer-content {
+ max-width: 1200px;
+ margin: 0 auto;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+
+ .footer-links {
+ display: flex;
+ gap: 2rem;
+ }
+
+ .footer-links a {
+ color: white;
+ text-decoration: none;
+ transition: var(--transition);
+ }
+
+ .footer-links a:hover {
+ color: var(--primary-color);
+ }
+
+ @keyframes fadeInUp {
+ from {
+ opacity: 0;
+ transform: translateY(20px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+ }
+
+ @media (max-width: 768px) {
+ .nav-links {
+ display: none;
+ }
+
+ .mobile-menu {
+ display: block;
+ background: none;
+ border: none;
+ cursor: pointer;
+ }
+
+ .mobile-menu span {
+ display: block;
+ width: 25px;
+ height: 3px;
+ background: var(--text-color);
+ margin: 5px 0;
+ transition: var(--transition);
+ }
+
+ .hero h1 {
+ font-size: 2.5rem;
+ }
+
+ .footer-content {
+ flex-direction: column;
+ gap: 1rem;
+ text-align: center;
+ }
+
+ .footer-links {
+ flex-direction: column;
+ gap: 1rem;
+ }
+ }