commit 52eb3e44fa0991c5875f381ffc615dd2e76fa787
Author: root <root@hub.scroll.pub> Date: 2024-12-30 12:00:41 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..5774b6b --- /dev/null +++ b/body.html @@ -0,0 +1,49 @@ +<header class="hero"> + <div class="hero-content"> + <h1>Welcome to VideoPort</h1> + <p>Your personal space for sharing and showcasing videos</p> + </div> +</header> + +<main class="video-gallery"> + <section class="video-container"> + <div class="video-wrapper"> + <video controls class="featured-video"> + <source src="videos/demo.mp4" type="video/mp4"> + Your browser does not support the video tag. + </video> + </div> + <div class="video-info"> + <h2>Featured Video</h2> + <p>This is an example of how your videos can be showcased.</p> + </div> + </section> + + <section class="video-grid"> + <article class="video-card"> + <video controls> + <source src="videos/sample1.mp4" type="video/mp4"> + </video> + <h3>Sunset Waves</h3> + </article> + <article class="video-card"> + <video controls> + <source src="videos/sample2.mp4" type="video/mp4"> + </video> + <h3>City Lights</h3> + </article> + <article class="video-card"> + <video controls> + <source src="videos/sample3.mp4" type="video/mp4"> + </video> + <h3>Mountain Hike</h3> + </article> + </section> +</main> + +<footer class="site-footer"> + <nav> + <a href="/about">About</a> + <a href="/contact">Contact</a> + </nav> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..a208e25 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://videoport.scroll.pub +metaTags +editButton /edit.html +title VideoPort - Your Personal Video Hub +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..888b742 --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "c4c20f64-31fa-46e6-8b9f-9f10c4d953c4", + "object": "chat.completion", + "created": 1735560018, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\nvideoport.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://videoport.scroll.pub\nmetaTags\neditButton /edit.html\ntitle VideoPort - Your Personal Video Hub\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header class=\"hero\">\n <div class=\"hero-content\">\n <h1>Welcome to VideoPort</h1>\n <p>Your personal space for sharing and showcasing videos</p>\n </div>\n</header>\n\n<main class=\"video-gallery\">\n <section class=\"video-container\">\n <div class=\"video-wrapper\">\n <video controls class=\"featured-video\">\n <source src=\"videos/demo.mp4\" type=\"video/mp4\">\n Your browser does not support the video tag.\n </video>\n </div>\n <div class=\"video-info\">\n <h2>Featured Video</h2>\n <p>This is an example of how your videos can be showcased.</p>\n </div>\n </section>\n\n <section class=\"video-grid\">\n <article class=\"video-card\">\n <video controls>\n <source src=\"videos/sample1.mp4\" type=\"video/mp4\">\n </video>\n <h3>Sunset Waves</h3>\n </article>\n <article class=\"video-card\">\n <video controls>\n <source src=\"videos/sample2.mp4\" type=\"video/mp4\">\n </video>\n <h3>City Lights</h3>\n </article>\n <article class=\"video-card\">\n <video controls>\n <source src=\"videos/sample3.mp4\" type=\"video/mp4\">\n </video>\n <h3>Mountain Hike</h3>\n </article>\n </section>\n</main>\n\n<footer class=\"site-footer\">\n <nav>\n <a href=\"/about\">About</a>\n <a href=\"/contact\">Contact</a>\n </nav>\n</footer>\n---style.css---\n:root {\n --primary-color: #1a73e8;\n --secondary-color: #202124;\n --background-color: #ffffff;\n --text-color: #202124;\n --accent-color: #fbbc05;\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 background-color: var(--background-color);\n}\n\n.hero {\n height: 60vh;\n background: linear-gradient(135deg, var(--primary-color), #0043a0);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n color: white;\n padding: 0 2rem;\n}\n\n.hero-content h1 {\n font-size: 3rem;\n margin-bottom: 1rem;\n text-shadow: 2px 2px 4px rgba(0,0,0,0.3);\n}\n\n.video-gallery {\n max-width: 1200px;\n margin: 2rem auto;\n padding: 0 1rem;\n}\n\n.video-container {\n display: grid;\n grid-template-columns: 1fr;\n gap: 2rem;\n margin-bottom: 3rem;\n}\n\n.featured-video {\n width: 100%;\n border-radius: 12px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n}\n\n.video-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 1.5rem;\n}\n\n.video-card {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n transition: transform 0.3s ease;\n}\n\n.video-card:hover {\n transform: translateY(-5px);\n}\n\n.video-card video {\n width: 100%;\n display: block;\n}\n\n.video-card h3 {\n padding: 1rem;\n font-size: 1.1rem;\n text-align: center;\n}\n\n.site-footer {\n background: var(--secondary-color);\n color: white;\n padding: 1rem;\n text-align: center;\n}\n\n.site-footer nav {\n display: flex;\n justify-content: center;\n gap: 1rem;\n}\n\n.site-footer a {\n color: white;\n text-decoration: none;\n transition: opacity 0.3s ease;\n}\n\n.site-footer a:hover {\n opacity: 0.8;\n}\n\n@media (max-width: 768px) {\n .hero-content h1 {\n font-size: 2rem;\n }\n \n .video-container {\n grid-template-columns: 1fr;\n }\n}\n---script.js---\n// Video controls enhancement\ndocument.querySelectorAll('video').forEach(video => {\n video.addEventListener('play', () => {\n video.classList.add('playing');\n });\n \n video.addEventListener('pause', () => {\n video.classList.remove('playing');\n });\n});\n\n// Lazy loading for videos\nconst videoObserver = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n const video = entry.target;\n video.src = video.dataset.src;\n videoObserver.unobserve(video);\n }\n });\n}, { threshold: 0.1 });\n\ndocument.querySelectorAll('video[data-src]').forEach(video => {\n videoObserver.observe(video);\n});\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 242, + "completion_tokens": 1249, + "total_tokens": 1491, + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 242 + }, + "system_fingerprint": "fp_f1afce2943" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..bdc4265 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# videoport.scroll.pub +Website generated by DeepSeek from prompt: 做一个个人主页,要可以放视频 \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..0631302 --- /dev/null +++ b/script.js @@ -0,0 +1,25 @@ +// Video controls enhancement +document.querySelectorAll('video').forEach(video => { + video.addEventListener('play', () => { + video.classList.add('playing'); + }); + + video.addEventListener('pause', () => { + video.classList.remove('playing'); + }); +}); + +// Lazy loading for videos +const videoObserver = new IntersectionObserver((entries) => { + entries.forEach(entry => { + if (entry.isIntersecting) { + const video = entry.target; + video.src = video.dataset.src; + videoObserver.unobserve(video); + } + }); +}, { threshold: 0.1 }); + +document.querySelectorAll('video[data-src]').forEach(video => { + videoObserver.observe(video); +}); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..820f97d --- /dev/null +++ b/style.css @@ -0,0 +1,118 @@ +:root { + --primary-color: #1a73e8; + --secondary-color: #202124; + --background-color: #ffffff; + --text-color: #202124; + --accent-color: #fbbc05; +} + +* { + 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); + background-color: var(--background-color); +} + +.hero { + height: 60vh; + background: linear-gradient(135deg, var(--primary-color), #0043a0); + display: flex; + align-items: center; + justify-content: center; + text-align: center; + color: white; + padding: 0 2rem; +} + +.hero-content h1 { + font-size: 3rem; + margin-bottom: 1rem; + text-shadow: 2px 2px 4px rgba(0,0,0,0.3); +} + +.video-gallery { + max-width: 1200px; + margin: 2rem auto; + padding: 0 1rem; +} + +.video-container { + display: grid; + grid-template-columns: 1fr; + gap: 2rem; + margin-bottom: 3rem; +} + +.featured-video { + width: 100%; + border-radius: 12px; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); +} + +.video-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; +} + +.video-card { + background: white; + border-radius: 8px; + overflow: hidden; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + transition: transform 0.3s ease; +} + +.video-card:hover { + transform: translateY(-5px); +} + +.video-card video { + width: 100%; + display: block; +} + +.video-card h3 { + padding: 1rem; + font-size: 1.1rem; + text-align: center; +} + +.site-footer { + background: var(--secondary-color); + color: white; + padding: 1rem; + text-align: center; +} + +.site-footer nav { + display: flex; + justify-content: center; + gap: 1rem; +} + +.site-footer a { + color: white; + text-decoration: none; + transition: opacity 0.3s ease; +} + +.site-footer a:hover { + opacity: 0.8; +} + +@media (max-width: 768px) { + .hero-content h1 { + font-size: 2rem; + } + + .video-container { + grid-template-columns: 1fr; + } +} \ No newline at end of file