Changes to devhub.scroll.pub

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

Where Developers Collaborate and Innovate

+

Powerful code hosting, seamless version control, and effortless team collaboration

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Code Hosting

+

Host your code securely with unlimited public and private repositories

+
+
+
+

Version Control

+

Powerful Git workflows with branch protection and code review

+
+
+
+

Team Collaboration

+

Built-in tools for seamless team coordination and project management

+
+
+
+
+
+
+
+
+

Company

+
    +
    +
    +
    +

    Support

    +
      +
      +
      +
      +

      Connect

      +
      +
      +
      +
      +
      +
      +
      +
      index.scroll
      Changed around line 1
      + buildHtml
      + baseUrl https://devhub.scroll.pub
      + metaTags
      + description "DevHub - Where Developers Collaborate and Innovate. A modern platform for code hosting, version control, and team collaboration."
      + keywords "developer collaboration, code hosting, version control, git, repositories"
      + author "DevHub"
      + editButton /edit.html
      + title DevHub - Collaborate and Innovate
      + style.css
      + body.html
      + script.js
      readme.scroll
      Changed around line 1
      + # devhub.scroll.pub
      + Website generated by Claude from prompt: Design a sleek and modern homepage inspired by GitHub, featuring a prominent search bar at the center for repository or project exploration. Add a clean navigation bar at the top with options like 'Features,' 'Pricing,' 'Documentation,' and 'Community.' Below the search bar, include a bold headline like 'Where Developers Collaborate and Innovate' with a subheading highlighting features like code hosting, version control, and team collaboration. Include a call-to-action button for signing up and a secondary button for exploring repositories. Enhance with a minimalistic hero image or illustration showcasing developers working together. Finish with a responsive footer with links to company info, support, and social media.
      script.js
      Changed around line 1
      + document.addEventListener('DOMContentLoaded', () => {
      + // Mobile menu toggle
      + const mobileMenuBtn = document.querySelector('.mobile-menu-btn');
      + const navLinks = document.querySelector('.nav-links');
      +
      + mobileMenuBtn.addEventListener('click', () => {
      + navLinks.classList.toggle('active');
      + const spans = mobileMenuBtn.querySelectorAll('span');
      + spans[0].style.transform = navLinks.classList.contains('active')
      + ? 'rotate(45deg) translate(6px, 6px)'
      + : 'none';
      + spans[1].style.opacity = navLinks.classList.contains('active')
      + ? '0'
      + : '1';
      + spans[2].style.transform = navLinks.classList.contains('active')
      + ? 'rotate(-45deg) translate(6px, -6px)'
      + : 'none';
      + });
      +
      + // Search functionality
      + const searchInput = document.querySelector('.search-container input');
      + const searchButton = document.querySelector('.search-container button');
      +
      + searchButton.addEventListener('click', (e) => {
      + e.preventDefault();
      + performSearch();
      + });
      +
      + searchInput.addEventListener('keypress', (e) => {
      + if (e.key === 'Enter') {
      + e.preventDefault();
      + performSearch();
      + }
      + });
      +
      + function performSearch() {
      + const query = searchInput.value.trim();
      + if (query) {
      + // Add search functionality here
      + console.log('Searching for:', query);
      + }
      + }
      +
      + // Smooth scroll for navigation links
      + document.querySelectorAll('a[href^="#"]').forEach(anchor => {
      + anchor.addEventListener('click', function (e) {
      + e.preventDefault();
      + const href = this.getAttribute('href');
      + if (href !== '#') {
      + document.querySelector(href).scrollIntoView({
      + behavior: 'smooth'
      + });
      + }
      + });
      + });
      +
      + // Add intersection observer for animation
      + const observer = new IntersectionObserver((entries) => {
      + entries.forEach(entry => {
      + if (entry.isIntersecting) {
      + entry.target.classList.add('animate');
      + }
      + });
      + }, {
      + threshold: 0.1
      + });
      +
      + document.querySelectorAll('.feature-card').forEach(card => {
      + observer.observe(card);
      + });
      + });
      style.css
      Changed around line 1
      + :root {
      + --primary-color: #2ea44f;
      + --secondary-color: #1b1f23;
      + --text-color: #24292e;
      + --light-bg: #f6f8fa;
      + --border-color: #e1e4e8;
      + --radius: 6px;
      + --transition: all 0.3s ease;
      + }
      +
      + * {
      + margin: 0;
      + padding: 0;
      + box-sizing: border-box;
      + }
      +
      + body {
      + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
      + line-height: 1.6;
      + color: var(--text-color);
      + }
      +
      + /* Navigation */
      + .main-nav {
      + display: flex;
      + justify-content: space-between;
      + align-items: center;
      + padding: 1rem 2rem;
      + background: white;
      + box-shadow: 0 1px 3px rgba(0,0,0,0.1);
      + position: fixed;
      + width: 100%;
      + top: 0;
      + z-index: 1000;
      + }
      +
      + .logo a {
      + font-size: 1.5rem;
      + font-weight: 700;
      + color: var(--secondary-color);
      + text-decoration: none;
      + }
      +
      + .nav-links {
      + display: flex;
      + list-style: none;
      + gap: 2rem;
      + }
      +
      + .nav-links a {
      + text-decoration: none;
      + color: var(--text-color);
      + font-weight: 500;
      + transition: var(--transition);
      + }
      +
      + .nav-links a:hover {
      + color: var(--primary-color);
      + }
      +
      + .login-btn {
      + padding: 0.5rem 1rem;
      + border: 1px solid var(--border-color);
      + border-radius: var(--radius);
      + }
      +
      + /* Hero Section */
      + .hero {
      + margin-top: 4rem;
      + padding: 4rem 2rem;
      + display: flex;
      + align-items: center;
      + justify-content: space-between;
      + background: linear-gradient(to bottom, white, var(--light-bg));
      + min-height: 80vh;
      + }
      +
      + .hero-content {
      + max-width: 600px;
      + }
      +
      + h1 {
      + font-size: 3rem;
      + line-height: 1.2;
      + margin-bottom: 1.5rem;
      + background: linear-gradient(45deg, var(--secondary-color), var(--primary-color));
      + -webkit-background-clip: text;
      + -webkit-text-fill-color: transparent;
      + }
      +
      + .search-container {
      + position: relative;
      + margin: 2rem 0;
      + }
      +
      + .search-container input {
      + width: 100%;
      + padding: 1rem 3rem 1rem 1rem;
      + border: 2px solid var(--border-color);
      + border-radius: var(--radius);
      + font-size: 1.1rem;
      + transition: var(--transition);
      + }
      +
      + .search-container input:focus {
      + border-color: var(--primary-color);
      + outline: none;
      + box-shadow: 0 0 0 3px rgba(46,164,79,0.2);
      + }
      +
      + .btn {
      + display: inline-block;
      + padding: 0.8rem 1.5rem;
      + border-radius: var(--radius);
      + text-decoration: none;
      + font-weight: 600;
      + transition: var(--transition);
      + }
      +
      + .primary {
      + background: var(--primary-color);
      + color: white;
      + }
      +
      + .secondary {
      + background: var(--light-bg);
      + color: var(--secondary-color);
      + margin-left: 1rem;
      + }
      +
      + .primary:hover {
      + background: #2c974b;
      + transform: translateY(-1px);
      + }
      +
      + .secondary:hover {
      + background: #e1e4e8;
      + transform: translateY(-1px);
      + }
      +
      + /* Features Grid */
      + .features {
      + padding: 4rem 2rem;
      + background: white;
      + }
      +
      + .feature-grid {
      + display: grid;
      + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      + gap: 2rem;
      + max-width: 1200px;
      + margin: 0 auto;
      + }
      +
      + .feature-card {
      + padding: 2rem;
      + border: 1px solid var(--border-color);
      + border-radius: var(--radius);
      + transition: var(--transition);
      + }
      +
      + .feature-card:hover {
      + transform: translateY(-5px);
      + box-shadow: 0 10px 20px rgba(0,0,0,0.1);
      + }
      +
      + /* Footer */
      + footer {
      + background: var(--light-bg);
      + padding: 4rem 2rem;
      + margin-top: 4rem;
      + }
      +
      + .footer-content {
      + display: grid;
      + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      + gap: 2rem;
      + max-width: 1200px;
      + margin: 0 auto;
      + }
      +
      + .footer-section h4 {
      + margin-bottom: 1rem;
      + color: var(--secondary-color);
      + }
      +
      + .footer-section ul {
      + list-style: none;
      + }
      +
      + .footer-section a {
      + color: var(--text-color);
      + text-decoration: none;
      + transition: var(--transition);
      + }
      +
      + .footer-section a:hover {
      + color: var(--primary-color);
      + }
      +
      + .social-links {
      + display: flex;
      + gap: 1rem;
      + }
      +
      + /* Mobile Responsiveness */
      + .mobile-menu-btn {
      + display: none;
      + }
      +
      + @media (max-width: 768px) {
      + .mobile-menu-btn {
      + display: block;
      + background: none;
      + border: none;
      + cursor: pointer;
      + }
      +
      + .mobile-menu-btn span {
      + display: block;
      + width: 25px;
      + height: 3px;
      + background: var(--secondary-color);
      + margin: 5px 0;
      + transition: var(--transition);
      + }
      +
      + .nav-links {
      + display: none;
      + position: absolute;
      + top: 100%;
      + left: 0;
      + right: 0;
      + background: white;
      + flex-direction: column;
      + padding: 1rem;
      + box-shadow: 0 2px 5px rgba(0,0,0,0.1);
      + }
      +
      + .nav-links.active {
      + display: flex;
      + }
      +
      + .hero {
      + flex-direction: column;
      + text-align: center;
      + }
      +
      + h1 {
      + font-size: 2rem;
      + }
      +
      + .cta-buttons {
      + flex-direction: column;
      + gap: 1rem;
      + }
      +
      + .secondary {
      + margin-left: 0;
      + }
      + }