diff --git a/_layouts/default.html b/_layouts/default.html index cb00bac..59ce016 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -39,6 +39,9 @@ New: Try Vibe Coding Mode! + + ♥️ Improve Your GitHub Sponsors Profile + {% endif %}

{% if page.hide_platform_selector != true %} diff --git a/sponsors/index.md b/sponsors/index.md new file mode 100644 index 0000000..e0a39c1 --- /dev/null +++ b/sponsors/index.md @@ -0,0 +1,11 @@ +--- +title: /github sponsors profile +subtitle: Improve your GitHub Sponsors profile with AI-powered prompts +hide_platform_selector: true +hide_extension_link: true +hide_tone_selector: true +subpage: true +body_class: sponsors +--- + + diff --git a/sponsors/prompts.json b/sponsors/prompts.json new file mode 100644 index 0000000..d84f46d --- /dev/null +++ b/sponsors/prompts.json @@ -0,0 +1,142 @@ +[ + { + "id": 1, + "category": "Crafting a Compelling Bio", + "title": "Create a Professional Bio", + "prompt": "Write a GitHub Sponsors bio for my profile that highlights my experience in [your field], the impact of my open source work, and my commitment to community growth.", + "tags": ["bio", "profile", "introduction"] + }, + { + "id": 2, + "category": "Crafting a Compelling Bio", + "title": "Showcase Top Repositories", + "prompt": "Summarize my top three repositories ([repo1], [repo2], [repo3]) in a way that inspires potential sponsors to support my work.", + "tags": ["bio", "repositories", "showcase"] + }, + { + "id": 3, + "category": "Explaining Why Funding Matters", + "title": "Explain Funding Impact", + "prompt": "Create a section for my Sponsors page that explains how funding will help me dedicate more time to [project/topics], support new contributors, and ensure the sustainability of my open source work.", + "tags": ["funding", "impact", "sustainability"] + }, + { + "id": 4, + "category": "Explaining Why Funding Matters", + "title": "Show Direct Impact", + "prompt": "Write a paragraph that shows sponsors the direct impact their funding will have on my projects and the wider community.", + "tags": ["funding", "impact", "community"] + }, + { + "id": 5, + "category": "Unlocking New Pricing Tiers", + "title": "Suggest Pricing Tiers", + "prompt": "Suggest ideas for pricing tiers on GitHub Sponsors, including unique benefits at each level for individuals and companies.", + "tags": ["pricing", "tiers", "benefits"] + }, + { + "id": 6, + "category": "Unlocking New Pricing Tiers", + "title": "Write Tier Descriptions", + "prompt": "Write descriptions for three GitHub Sponsors tiers ($5, $25, $100) that offer increasing value and recognition to supporters.", + "tags": ["pricing", "tiers", "descriptions"] + }, + { + "id": 7, + "category": "Spotlighting Your Project", + "title": "Create Project Spotlight", + "prompt": "Draft a brief 'Project Spotlight' section for my Sponsors page, showcasing the goals, achievements, and roadmap of [project name].", + "tags": ["project", "spotlight", "roadmap"] + }, + { + "id": 8, + "category": "Spotlighting Your Project", + "title": "Announce Milestone", + "prompt": "Write an announcement for my Sponsors page about a new milestone or feature in [project], encouraging new and existing sponsors to get involved.", + "tags": ["project", "milestone", "announcement"] + }, + { + "id": 9, + "category": "Enhancing Community Engagement", + "title": "Recognize Sponsors", + "prompt": "List ways I can recognize or involve sponsors in my project's community (e.g., special Discord roles, early feature access, private Q&A sessions).", + "tags": ["community", "engagement", "recognition"] + }, + { + "id": 10, + "category": "Enhancing Community Engagement", + "title": "Creative Perks", + "prompt": "Suggest creative perks or acknowledgments for sponsors to foster a sense of belonging and appreciation.", + "tags": ["community", "perks", "appreciation"] + }, + { + "id": 11, + "category": "Crafting a Compelling Bio", + "title": "Tell Your Story", + "prompt": "Write a personal story about why I started contributing to open source, what drives me, and how sponsorship helps me continue this journey in [field/technology].", + "tags": ["bio", "story", "personal"] + }, + { + "id": 12, + "category": "Explaining Why Funding Matters", + "title": "Break Down Costs", + "prompt": "Create a transparent breakdown of how sponsor funds will be used (e.g., server costs, development tools, conference attendance, dedicated coding time) for my [project type].", + "tags": ["funding", "transparency", "costs"] + }, + { + "id": 13, + "category": "Unlocking New Pricing Tiers", + "title": "Enterprise Sponsorship", + "prompt": "Design enterprise-level sponsorship tiers ($500, $1000, $5000) with benefits like priority support, custom features, and brand visibility for my [project].", + "tags": ["pricing", "enterprise", "tiers"] + }, + { + "id": 14, + "category": "Spotlighting Your Project", + "title": "Impact Metrics", + "prompt": "Create a compelling data-driven section showing the impact of [project name]: downloads, users helped, issues resolved, and community growth statistics.", + "tags": ["project", "metrics", "impact"] + }, + { + "id": 15, + "category": "Enhancing Community Engagement", + "title": "Sponsor Hall of Fame", + "prompt": "Design a 'Sponsor Hall of Fame' section for my README and Sponsors page that creatively showcases and thanks all contributors at different tiers.", + "tags": ["community", "recognition", "readme"] + }, + { + "id": 16, + "category": "Crafting a Compelling Bio", + "title": "Future Vision", + "prompt": "Write a compelling vision statement about where I see [project/work] going in the next 2-3 years and how sponsors can be part of that journey.", + "tags": ["bio", "vision", "future"] + }, + { + "id": 17, + "category": "Explaining Why Funding Matters", + "title": "Time Commitment", + "prompt": "Explain how sponsorship would allow me to dedicate [X hours/days] per week/month to open source, comparing current volunteer time vs. potential sponsored time.", + "tags": ["funding", "time", "commitment"] + }, + { + "id": 18, + "category": "Unlocking New Pricing Tiers", + "title": "Student Tier", + "prompt": "Create a special $1-2 student sponsorship tier with meaningful benefits that acknowledges their support while respecting their budget.", + "tags": ["pricing", "students", "accessibility"] + }, + { + "id": 19, + "category": "Spotlighting Your Project", + "title": "Success Stories", + "prompt": "Write 3-5 brief success stories or testimonials from users who have benefited from [project name], showing real-world impact.", + "tags": ["project", "testimonials", "success"] + }, + { + "id": 20, + "category": "Enhancing Community Engagement", + "title": "Monthly Updates", + "prompt": "Create a template for monthly sponsor updates that includes progress, challenges, wins, and upcoming features for [project].", + "tags": ["community", "updates", "communication"] + } +] diff --git a/sponsors/script.js b/sponsors/script.js new file mode 100644 index 0000000..0070c39 --- /dev/null +++ b/sponsors/script.js @@ -0,0 +1,208 @@ +// GitHub Sponsors Profile Improver Script + +// Dark mode functionality (global scope for onclick handler) +window.toggleDarkMode = function() { + const body = document.body; + const toggle = document.querySelector(".dark-mode-toggle"); + const sunIcon = toggle.querySelector(".sun-icon"); + const moonIcon = toggle.querySelector(".moon-icon"); + + body.classList.toggle("dark-mode"); + const isDarkMode = body.classList.contains("dark-mode"); + + localStorage.setItem("dark-mode", isDarkMode); + sunIcon.style.display = isDarkMode ? "none" : "block"; + moonIcon.style.display = isDarkMode ? "block" : "none"; +}; + +(function() { + let sponsorPrompts = []; + + // Load prompts from JSON file + async function loadSponsorsPrompts() { + try { + const response = await fetch('/sponsors/prompts.json'); + sponsorPrompts = await response.json(); + renderSponsorsPrompts(); + renderSidebarPrompts(); + } catch (error) { + console.error('Error loading prompts:', error); + const container = document.querySelector('#promptContent'); + if (container) { + container.innerHTML = '

Error loading prompts. Please try again later.

'; + } + } + } + + // Copy prompt to clipboard + window.copySponsorPrompt = function(button, promptText) { + navigator.clipboard.writeText(promptText).then(() => { + const originalHTML = button.innerHTML; + button.innerHTML = ` + + + + `; + button.style.background = '#10b981'; + + setTimeout(() => { + button.innerHTML = originalHTML; + button.style.background = ''; + }, 2000); + }).catch(err => { + console.error('Failed to copy:', err); + }); + } + + // Open prompt in GitHub Copilot + window.openInCopilot = function(promptText) { + const encodedPrompt = encodeURIComponent(promptText); + const copilotUrl = `https://github.com/copilot?prompt=${encodedPrompt}`; + window.open(copilotUrl, '_blank'); + } + + // Render prompts in the sidebar + function renderSidebarPrompts() { + const searchResults = document.getElementById('searchResults'); + if (searchResults && sponsorPrompts.length > 0) { + searchResults.innerHTML = sponsorPrompts.map(prompt => ` +
  • ${prompt.title}
  • + `).join(''); + } + } + + // Scroll to prompt card function + window.scrollToPrompt = function(title) { + const cards = document.querySelectorAll('.prompt-card'); + const targetCard = Array.from(cards).find(card => { + const cardTitle = card.querySelector('.prompt-title')?.textContent?.trim(); + return cardTitle && cardTitle.includes(title); + }); + + if (targetCard) { + targetCard.scrollIntoView({ behavior: 'smooth', block: 'center' }); + targetCard.style.transform = 'scale(1.02)'; + targetCard.style.boxShadow = '0 8px 16px rgba(16, 185, 129, 0.2)'; + targetCard.style.borderColor = '#10b981'; + + setTimeout(() => { + targetCard.style.transform = ''; + targetCard.style.boxShadow = ''; + targetCard.style.borderColor = ''; + }, 2000); + } + } + + // Render prompts in the main content area + function renderSponsorsPrompts() { + const container = document.querySelector('#promptContent'); + if (!container) return; + + let html = '
    '; + + // Add a contribute card first (matching main site style) + html += ` +
    + +
    + + + + + + Add Your Sponsors Prompt +
    +

    + Have a great prompt for improving GitHub Sponsors profiles? Contribute to sponsors/prompts.json in our repository! +

    + Contribute Now +
    +
    + `; + + // Add all prompts + sponsorPrompts.forEach(prompt => { + html += ` +
    +
    + ${prompt.title} +
    + + +
    +
    +

    ${prompt.prompt}

    + +
    + `; + }); + + html += '
    '; + container.innerHTML = html; + + // Update prompt count + const countElement = document.getElementById('promptCount'); + if (countElement) { + const countNumber = countElement.querySelector('.count-number'); + if (countNumber) { + countNumber.textContent = sponsorPrompts.length; + } + } + } + + // Fetch GitHub stars + async function fetchGitHubStars() { + try { + const response = await fetch('https://api.github.com/repos/f/awesome-chatgpt-prompts'); + const data = await response.json(); + const starCount = document.getElementById('starCount'); + if (starCount) { + starCount.textContent = data.stargazers_count.toLocaleString(); + } + } catch (error) { + console.error('Error fetching GitHub stars:', error); + const starCount = document.getElementById('starCount'); + if (starCount) { + starCount.textContent = '110k+'; // Fallback value + } + } + } + + // Initialize when DOM is ready + document.addEventListener('DOMContentLoaded', () => { + // Check if we're on the sponsors page + if (document.body.classList.contains('sponsors')) { + loadSponsorsPrompts(); + fetchGitHubStars(); + + // Hide cursor badge on sponsors page + const cursorLogo = document.querySelector('.cursor-logo'); + if (cursorLogo) { + cursorLogo.style.display = 'none'; + } + + // Apply dark mode preference + const isDarkMode = localStorage.getItem("dark-mode") === "true"; + if (isDarkMode) { + document.body.classList.add("dark-mode"); + const sunIcon = document.querySelector(".sun-icon"); + const moonIcon = document.querySelector(".moon-icon"); + if (sunIcon) sunIcon.style.display = "none"; + if (moonIcon) moonIcon.style.display = "block"; + } + } + }); +})();