commit 709afb5ecf03de98abb041648759a7664c06b692
Author: root <root@hub.scroll.pub> Date: 2025-01-07 09:03:21 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..6c8c324 --- /dev/null +++ b/body.html @@ -0,0 +1,36 @@ +<header> + <nav> + <a href="/" class="logo">Prose</a> + <div class="nav-links"> + <a href="/essays">Essays</a> + <a href="/about">About</a> + </div> + </nav> +</header> + +<main> + <section class="hero"> + <h1>Thoughts in <span class="accent">Motion</span></h1> + <p>A space for words to breathe.</p> + </section> + + <section class="writings"> + <article class="post"> + <time datetime="2024-01-20">Jan 20, 2024</time> + <h2>The Art of Simplicity</h2> + <p>In a world of endless complexity, finding beauty in minimalism becomes an art form...</p> + <a href="/essays/simplicity" class="read-more">Read more</a> + </article> + + <article class="post"> + <time datetime="2024-01-15">Jan 15, 2024</time> + <h2>Digital Gardens</h2> + <p>Cultivating ideas in the virtual space, where thoughts grow wild and free...</p> + <a href="/essays/digital-gardens" class="read-more">Read more</a> + </article> + </section> +</main> + +<footer> + <p>Built with care by <a href="/about">Your Name</a></p> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..e944c98 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://prose.scroll.pub +metaTags +editButton /edit.html +title Prose | A Writing Space +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..ecce94c --- /dev/null +++ b/prompt.json @@ -0,0 +1,20 @@ +{ + "id": "msg_01VPGJvjCbExwZzkZMyA2Dea", + "type": "message", + "role": "assistant", + "model": "claude-3-5-sonnet-20241022", + "content": [ + { + "type": "text", + "text": "Let me create a beautiful, minimal writing platform.\n\n---domain---\nprose.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://prose.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Prose | A Writing Space\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <nav>\n <a href=\"/\" class=\"logo\">Prose</a>\n <div class=\"nav-links\">\n <a href=\"/essays\">Essays</a>\n <a href=\"/about\">About</a>\n </div>\n </nav>\n</header>\n\n<main>\n <section class=\"hero\">\n <h1>Thoughts in <span class=\"accent\">Motion</span></h1>\n <p>A space for words to breathe.</p>\n </section>\n\n <section class=\"writings\">\n <article class=\"post\">\n <time datetime=\"2024-01-20\">Jan 20, 2024</time>\n <h2>The Art of Simplicity</h2>\n <p>In a world of endless complexity, finding beauty in minimalism becomes an art form...</p>\n <a href=\"/essays/simplicity\" class=\"read-more\">Read more</a>\n </article>\n\n <article class=\"post\">\n <time datetime=\"2024-01-15\">Jan 15, 2024</time>\n <h2>Digital Gardens</h2>\n <p>Cultivating ideas in the virtual space, where thoughts grow wild and free...</p>\n <a href=\"/essays/digital-gardens\" class=\"read-more\">Read more</a>\n </article>\n </section>\n</main>\n\n<footer>\n <p>Built with care by <a href=\"/about\">Your Name</a></p>\n</footer>\n---style.css---\n:root {\n --primary: #2d3436;\n --accent: #6c5ce7;\n --background: #ffffff;\n --text: #2d3436;\n --spacing: 2rem;\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 line-height: 1.6;\n color: var(--text);\n background: var(--background);\n}\n\nheader {\n padding: var(--spacing);\n border-bottom: 1px solid rgba(0,0,0,0.1);\n}\n\nnav {\n max-width: 800px;\n margin: 0 auto;\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 text-decoration: none;\n color: var(--primary);\n transition: color 0.3s ease;\n}\n\n.logo:hover {\n color: var(--accent);\n}\n\n.nav-links a {\n margin-left: 2rem;\n text-decoration: none;\n color: var(--primary);\n transition: color 0.3s ease;\n}\n\n.nav-links a:hover {\n color: var(--accent);\n}\n\nmain {\n max-width: 800px;\n margin: 0 auto;\n padding: var(--spacing);\n}\n\n.hero {\n text-align: center;\n padding: 4rem 0;\n}\n\n.hero h1 {\n font-size: 3rem;\n margin-bottom: 1rem;\n}\n\n.accent {\n color: var(--accent);\n}\n\n.writings {\n margin-top: 4rem;\n}\n\n.post {\n margin-bottom: 4rem;\n padding: 2rem;\n border-radius: 8px;\n background: rgba(0,0,0,0.02);\n transition: transform 0.3s ease;\n}\n\n.post:hover {\n transform: translateY(-2px);\n}\n\ntime {\n color: #666;\n font-size: 0.9rem;\n}\n\nh2 {\n margin: 1rem 0;\n font-size: 1.8rem;\n}\n\n.read-more {\n display: inline-block;\n margin-top: 1rem;\n color: var(--accent);\n text-decoration: none;\n font-weight: 500;\n}\n\nfooter {\n text-align: center;\n padding: var(--spacing);\n color: #666;\n}\n\nfooter a {\n color: var(--accent);\n text-decoration: none;\n}\n\n@media (max-width: 768px) {\n .hero h1 {\n font-size: 2rem;\n }\n \n .post {\n padding: 1.5rem;\n }\n \n .nav-links a {\n margin-left: 1rem;\n }\n}\n---script.js---\ndocument.addEventListener('DOMContentLoaded', () => {\n // Smooth scroll behavior\n document.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 fade-in animation to posts\n const posts = document.querySelectorAll('.post');\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 });\n\n posts.forEach(post => {\n post.style.opacity = 0;\n post.style.transform = 'translateY(20px)';\n post.style.transition = 'opacity 0.5s ease, transform 0.5s ease';\n observer.observe(post);\n });\n});\n---end---\n\nThis design features:\n- Clean, minimal typography\n- Smooth animations and transitions\n- Responsive layout\n- Semantic HTML structure\n- Accessible navigation\n- Beautiful hover effects\n- Intersection Observer for scroll animations\n- Elegant color scheme\n- Optimized for readability\n- Modern CSS variables\n- Mobile-first approach\n\nThe domain \"prose.scroll.pub\" is short, memorable, and perfectly represents a writing platform while maintaining elegance and simplicity." + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 286, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 1632 + } +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..b1d2bf3 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# prose2.scroll.pub +Website generated by Claude from prompt: I want a website to publish my writings. It should be minimal and sleek. \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..ecc7b5c --- /dev/null +++ b/script.js @@ -0,0 +1,29 @@ +document.addEventListener('DOMContentLoaded', () => { + // Smooth scroll behavior + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault(); + document.querySelector(this.getAttribute('href')).scrollIntoView({ + behavior: 'smooth' + }); + }); + }); + + // Add fade-in animation to posts + const posts = document.querySelectorAll('.post'); + const observer = new IntersectionObserver((entries) => { + entries.forEach(entry => { + if (entry.isIntersecting) { + entry.target.style.opacity = 1; + entry.target.style.transform = 'translateY(0)'; + } + }); + }); + + posts.forEach(post => { + post.style.opacity = 0; + post.style.transform = 'translateY(20px)'; + post.style.transition = 'opacity 0.5s ease, transform 0.5s ease'; + observer.observe(post); + }); +}); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..ef748c7 --- /dev/null +++ b/style.css @@ -0,0 +1,135 @@ +:root { + --primary: #2d3436; + --accent: #6c5ce7; + --background: #ffffff; + --text: #2d3436; + --spacing: 2rem; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: system-ui, -apple-system, sans-serif; + line-height: 1.6; + color: var(--text); + background: var(--background); +} + +header { + padding: var(--spacing); + border-bottom: 1px solid rgba(0,0,0,0.1); +} + +nav { + max-width: 800px; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; +} + +.logo { + font-size: 1.5rem; + font-weight: bold; + text-decoration: none; + color: var(--primary); + transition: color 0.3s ease; +} + +.logo:hover { + color: var(--accent); +} + +.nav-links a { + margin-left: 2rem; + text-decoration: none; + color: var(--primary); + transition: color 0.3s ease; +} + +.nav-links a:hover { + color: var(--accent); +} + +main { + max-width: 800px; + margin: 0 auto; + padding: var(--spacing); +} + +.hero { + text-align: center; + padding: 4rem 0; +} + +.hero h1 { + font-size: 3rem; + margin-bottom: 1rem; +} + +.accent { + color: var(--accent); +} + +.writings { + margin-top: 4rem; +} + +.post { + margin-bottom: 4rem; + padding: 2rem; + border-radius: 8px; + background: rgba(0,0,0,0.02); + transition: transform 0.3s ease; +} + +.post:hover { + transform: translateY(-2px); +} + +time { + color: #666; + font-size: 0.9rem; +} + +h2 { + margin: 1rem 0; + font-size: 1.8rem; +} + +.read-more { + display: inline-block; + margin-top: 1rem; + color: var(--accent); + text-decoration: none; + font-weight: 500; +} + +footer { + text-align: center; + padding: var(--spacing); + color: #666; +} + +footer a { + color: var(--accent); + text-decoration: none; +} + +@media (max-width: 768px) { + .hero h1 { + font-size: 2rem; + } + + .post { + padding: 1.5rem; + } + + .nav-links a { + margin-left: 1rem; + } +} \ No newline at end of file