From 85917e0cdf5f6e60b703557ee6f93888ad172c87 Mon Sep 17 00:00:00 2001 From: ct Date: Thu, 17 Jul 2025 03:42:55 +0800 Subject: [PATCH] Update --- .gitignore | 4 + app/Console/Commands/GenerateMemesSitemap.php | 64 ++++ app/Console/Commands/GenerateSitemap.php | 71 ++++ .../Commands/GenerateStaticSitemap.php | 80 +++++ .../Commands/PopulateMemeMediaSlugs.php | 51 +++ app/Http/Controllers/FrontHomeController.php | 9 + app/Http/Controllers/FrontMemeController.php | 333 ++++++++++++++++++ app/Http/Controllers/FrontPagesController.php | 77 ++++ app/Models/MemeMedia.php | 3 +- app/Services/MemeMediaService.php | 172 +++++++++ composer.json | 2 + composer.lock | 325 ++++++++++++++++- config/platform/seo_descriptions.php | 116 ++++++ ...6_084731_add_slug_to_meme_medias_table.php | 30 ++ public/memefast-og-template.jpg | Bin 0 -> 235614 bytes public/robots.txt | 2 + resources/fonts/Geist/Geist-Black.ttf | Bin 0 -> 78308 bytes resources/fonts/Geist/Geist-Bold.ttf | Bin 0 -> 78340 bytes resources/fonts/Geist/Geist-ExtraBold.ttf | Bin 0 -> 78364 bytes resources/fonts/Geist/Geist-ExtraLight.ttf | Bin 0 -> 78336 bytes resources/fonts/Geist/Geist-Light.ttf | Bin 0 -> 78288 bytes resources/fonts/Geist/Geist-Medium.ttf | Bin 0 -> 78324 bytes resources/fonts/Geist/Geist-Regular.ttf | Bin 0 -> 78308 bytes resources/fonts/Geist/Geist-SemiBold.ttf | Bin 0 -> 78352 bytes resources/fonts/Geist/Geist-Thin.ttf | Bin 0 -> 78196 bytes .../fonts/Geist/Geist-VariableFont_wght.ttf | Bin 0 -> 148832 bytes resources/fonts/Geist/OFL.txt | 93 +++++ resources/fonts/Geist/README.txt | 71 ++++ resources/js/components/custom/meme-card.tsx | 89 +++++ resources/js/components/ui/keyword-badge.tsx | 24 ++ resources/js/modules/editor/editor.jsx | 28 +- .../modules/editor/partials/editor-header.jsx | 11 +- .../js/pages/FrontPages/DmcaCopyright.tsx | 29 ++ resources/js/pages/home/home.tsx | 10 +- .../js/pages/home/partials/BrandLogo.jsx | 18 + resources/js/pages/home/partials/Footer.jsx | 13 +- resources/js/pages/home/partials/Hero.jsx | 5 +- .../pages/home/partials/MemeLibrarySearch.jsx | 106 ++++++ resources/js/pages/memes/index.tsx | 240 +++++++++++++ resources/js/pages/memes/show.tsx | 165 +++++++++ resources/js/stores/MediaStore.js | 53 ++- resources/js/ziggy.js | 2 +- resources/markdown/dmca-copyright.md | 45 +++ resources/markdown/privacy.md | 70 ++-- resources/markdown/terms.md | 116 +++--- routes/web.php | 20 ++ 46 files changed, 2426 insertions(+), 121 deletions(-) create mode 100644 app/Console/Commands/GenerateMemesSitemap.php create mode 100644 app/Console/Commands/GenerateSitemap.php create mode 100644 app/Console/Commands/GenerateStaticSitemap.php create mode 100644 app/Console/Commands/PopulateMemeMediaSlugs.php create mode 100644 app/Http/Controllers/FrontMemeController.php create mode 100644 app/Services/MemeMediaService.php create mode 100644 config/platform/seo_descriptions.php create mode 100644 database/migrations/2025_07_16_084731_add_slug_to_meme_medias_table.php create mode 100644 public/memefast-og-template.jpg create mode 100644 resources/fonts/Geist/Geist-Black.ttf create mode 100644 resources/fonts/Geist/Geist-Bold.ttf create mode 100644 resources/fonts/Geist/Geist-ExtraBold.ttf create mode 100644 resources/fonts/Geist/Geist-ExtraLight.ttf create mode 100644 resources/fonts/Geist/Geist-Light.ttf create mode 100644 resources/fonts/Geist/Geist-Medium.ttf create mode 100644 resources/fonts/Geist/Geist-Regular.ttf create mode 100644 resources/fonts/Geist/Geist-SemiBold.ttf create mode 100644 resources/fonts/Geist/Geist-Thin.ttf create mode 100644 resources/fonts/Geist/Geist-VariableFont_wght.ttf create mode 100644 resources/fonts/Geist/OFL.txt create mode 100644 resources/fonts/Geist/README.txt create mode 100644 resources/js/components/custom/meme-card.tsx create mode 100644 resources/js/components/ui/keyword-badge.tsx create mode 100644 resources/js/pages/FrontPages/DmcaCopyright.tsx create mode 100644 resources/js/pages/home/partials/BrandLogo.jsx create mode 100644 resources/js/pages/home/partials/MemeLibrarySearch.jsx create mode 100644 resources/js/pages/memes/index.tsx create mode 100644 resources/js/pages/memes/show.tsx create mode 100644 resources/markdown/dmca-copyright.md diff --git a/.gitignore b/.gitignore index 3847c0d..8a5c823 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ yarn-error.log /.nova /.vscode /.zed + +# Sitemap files (auto-generated) +/public/sitemap.xml +/public/sitemap_*.xml diff --git a/app/Console/Commands/GenerateMemesSitemap.php b/app/Console/Commands/GenerateMemesSitemap.php new file mode 100644 index 0000000..418c947 --- /dev/null +++ b/app/Console/Commands/GenerateMemesSitemap.php @@ -0,0 +1,64 @@ +info('Starting memes sitemap generation...'); + + $sitemap = Sitemap::create(); + + // Get the base URL from config + $baseUrl = config('app.url'); + + // Get all enabled memes + $memes = $this->memeMediaService->getAllEnabledMemes(); + + $this->info("Found {$memes->count()} enabled memes"); + + // Add a progress bar for large datasets + $progressBar = $this->output->createProgressBar($memes->count()); + $progressBar->start(); + + // Add each meme to the sitemap + foreach ($memes as $meme) { + $url = Url::create($baseUrl.'/meme/'.$meme->slug) + ->setPriority(0.8) + ->setChangeFrequency(Url::CHANGE_FREQUENCY_MONTHLY) + ->setLastModificationDate($meme->updated_at); + + $sitemap->add($url); + $progressBar->advance(); + } + + $progressBar->finish(); + $this->newLine(); + + // Save the sitemap + $sitemapPath = public_path('sitemap_memes.xml'); + $sitemap->writeToFile($sitemapPath); + + $this->info('Memes sitemap generated successfully!'); + $this->info("Sitemap saved to: {$sitemapPath}"); + $this->info("Total URLs: {$memes->count()}"); + + return Command::SUCCESS; + } +} diff --git a/app/Console/Commands/GenerateSitemap.php b/app/Console/Commands/GenerateSitemap.php new file mode 100644 index 0000000..dc9dfe4 --- /dev/null +++ b/app/Console/Commands/GenerateSitemap.php @@ -0,0 +1,71 @@ +info('Starting main sitemap generation...'); + + $sitemapIndex = SitemapIndex::create(); + + // Get the base URL from config + $baseUrl = config('app.url'); + + // List of sub-sitemaps to include in the main sitemap + $subSitemaps = [ + [ + 'url' => $baseUrl.'/sitemap_static.xml', + 'lastModified' => $this->getSitemapLastModified('sitemap_static.xml'), + ], + [ + 'url' => $baseUrl.'/sitemap_memes.xml', + 'lastModified' => $this->getSitemapLastModified('sitemap_memes.xml'), + ], + // Future sitemaps can be added here: + // [ + // 'url' => $baseUrl . '/sitemap_pages.xml', + // 'lastModified' => now(), + // ], + ]; + + // Add each sub-sitemap to the index + foreach ($subSitemaps as $sitemap) { + $sitemapIndex->add($sitemap['url'], $sitemap['lastModified']); + $this->info("Added sub-sitemap: {$sitemap['url']}"); + } + + // Save the main sitemap index + $sitemapPath = public_path('sitemap.xml'); + $sitemapIndex->writeToFile($sitemapPath); + + $this->info('Main sitemap index generated successfully!'); + $this->info("Sitemap saved to: {$sitemapPath}"); + $this->info('Total sub-sitemaps: '.count($subSitemaps)); + + return Command::SUCCESS; + } + + /** + * Get the last modification date of a sitemap file + */ + private function getSitemapLastModified(string $filename): \DateTime + { + $filepath = public_path($filename); + + if (file_exists($filepath)) { + return new \DateTime('@'.filemtime($filepath)); + } + + // If file doesn't exist, return current time + return new \DateTime; + } +} diff --git a/app/Console/Commands/GenerateStaticSitemap.php b/app/Console/Commands/GenerateStaticSitemap.php new file mode 100644 index 0000000..9f2fe39 --- /dev/null +++ b/app/Console/Commands/GenerateStaticSitemap.php @@ -0,0 +1,80 @@ +info('Starting static sitemap generation...'); + + $sitemap = Sitemap::create(); + + // Get the base URL from config + $baseUrl = config('app.url'); + + // Add static pages + $staticPages = [ + [ + 'url' => $baseUrl, + 'priority' => 1.0, + 'changeFrequency' => Url::CHANGE_FREQUENCY_WEEKLY, + 'lastModificationDate' => now(), + ], + [ + 'url' => $baseUrl.'/meme-library', + 'priority' => 0.9, + 'changeFrequency' => Url::CHANGE_FREQUENCY_DAILY, + 'lastModificationDate' => now(), + ], + [ + 'url' => $baseUrl.'/privacy', + 'priority' => 0.3, + 'changeFrequency' => Url::CHANGE_FREQUENCY_YEARLY, + 'lastModificationDate' => now()->subMonths(6), // Adjust based on when you last updated + ], + [ + 'url' => $baseUrl.'/terms', + 'priority' => 0.3, + 'changeFrequency' => Url::CHANGE_FREQUENCY_YEARLY, + 'lastModificationDate' => now()->subMonths(6), // Adjust based on when you last updated + ], + [ + 'url' => $baseUrl.'/dmca-copyright', + 'priority' => 0.2, + 'changeFrequency' => Url::CHANGE_FREQUENCY_YEARLY, + 'lastModificationDate' => now()->subMonths(6), // Adjust based on when you last updated + ], + ]; + + // Add each static page to the sitemap + foreach ($staticPages as $page) { + $url = Url::create($page['url']) + ->setPriority($page['priority']) + ->setChangeFrequency($page['changeFrequency']) + ->setLastModificationDate($page['lastModificationDate']); + + $sitemap->add($url); + + $this->info("Added: {$page['url']}"); + } + + // Save the sitemap + $sitemapPath = public_path('sitemap_static.xml'); + $sitemap->writeToFile($sitemapPath); + + $this->info('Static sitemap generated successfully!'); + $this->info("Sitemap saved to: {$sitemapPath}"); + $this->info('Total URLs: '.count($staticPages)); + + return Command::SUCCESS; + } +} diff --git a/app/Console/Commands/PopulateMemeMediaSlugs.php b/app/Console/Commands/PopulateMemeMediaSlugs.php new file mode 100644 index 0000000..9bd9d54 --- /dev/null +++ b/app/Console/Commands/PopulateMemeMediaSlugs.php @@ -0,0 +1,51 @@ +info('Starting to populate MemeMedia slugs...'); + + $memes = MemeMedia::whereNull('slug')->get(); + + if ($memes->isEmpty()) { + $this->info('No memes found without slugs.'); + + return; + } + + $this->info("Found {$memes->count()} memes without slugs."); + + $bar = $this->output->createProgressBar($memes->count()); + $bar->start(); + + foreach ($memes as $meme) { + $baseSlug = Str::slug($meme->name); + $slug = $baseSlug; + $counter = 1; + + // Ensure slug is unique + while (MemeMedia::where('slug', $slug)->exists()) { + $slug = $baseSlug.'-'.$counter; + $counter++; + } + + $meme->update(['slug' => $slug]); + $bar->advance(); + } + + $bar->finish(); + $this->newLine(); + $this->info('Successfully populated all MemeMedia slugs!'); + } +} diff --git a/app/Http/Controllers/FrontHomeController.php b/app/Http/Controllers/FrontHomeController.php index e23060f..b51597f 100644 --- a/app/Http/Controllers/FrontHomeController.php +++ b/app/Http/Controllers/FrontHomeController.php @@ -4,6 +4,7 @@ use App\Models\BackgroundMedia; use App\Models\MemeMedia; +use App\Services\MemeMediaService; use Artesaos\SEOTools\Facades\JsonLd; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Cache; @@ -11,6 +12,10 @@ class FrontHomeController extends Controller { + public function __construct( + private MemeMediaService $memeMediaService + ) {} + public function index() { if (App::environment('production') && env('COMING_SOON_ENABLED', true)) { @@ -28,12 +33,16 @@ public function index() // Get FAQ data $faqData = $this->getFaqData(); + // Get popular keywords for search suggestions + $popularKeywords = $this->memeMediaService->getPopularKeywords(10); + // Add FAQ JSON-LD structured data $this->addFaqJsonLd($faqData); return Inertia::render('home/home', [ 'stats' => $stats, 'faqData' => $faqData, + 'popularKeywords' => $popularKeywords, ]); } diff --git a/app/Http/Controllers/FrontMemeController.php b/app/Http/Controllers/FrontMemeController.php new file mode 100644 index 0000000..d21b805 --- /dev/null +++ b/app/Http/Controllers/FrontMemeController.php @@ -0,0 +1,333 @@ +getMemes($request->input('search')); + } + + public function search(string $search): Response + { + // Convert + back to spaces for search + $searchTerm = str_replace('+', ' ', $search); + + return $this->getMemes($searchTerm); + } + + private function getMemes(?string $search = null): Response + { + $memes = $this->memeMediaService->searchMemes($search, 24); + + // Set up SEO meta tags + $title = $search ? ucfirst($search).' Memes in MEMEFA.ST' : 'Meme Library - Thousands of Video Meme Templates'; + + if ($search) { + // Get SEO descriptions from config + $descriptions = config('platform.seo_descriptions.search_descriptions', []); + + // Use deterministic selection based on search term hash + $searchHash = crc32($search); + $descriptionIndex = abs($searchHash) % count($descriptions); + $descriptionTemplate = $descriptions[$descriptionIndex]; + + // Replace keyword placeholder + $description = str_replace('__KEYWORD__', $search, $descriptionTemplate); + } else { + $description = 'Browse thousands of video meme templates ready for TikTok, Instagram Reels, Threads and YouTube Shorts. Create viral content in minutes with our meme editor.'; + } + + SEOMeta::setTitle($title, false); + SEOMeta::setDescription($description); + SEOMeta::setCanonical(request()->url()); + + // Add pagination rel links + if ($memes->previousPageUrl()) { + SEOMeta::addMeta('link:prev', $memes->previousPageUrl(), 'rel'); + } + if ($memes->nextPageUrl()) { + SEOMeta::addMeta('link:next', $memes->nextPageUrl(), 'rel'); + } + + // OpenGraph tags + OpenGraph::setTitle($title); + OpenGraph::setDescription($description); + OpenGraph::setUrl(request()->url()); + OpenGraph::addProperty('type', 'website'); + + // Twitter Card + TwitterCard::setTitle($title); + TwitterCard::setDescription($description); + TwitterCard::setType('summary_large_image'); + + // Get available types for filter + $types = $this->memeMediaService->getAvailableTypes(); + + // Get popular keywords for filter + $popularKeywords = $this->memeMediaService->getPopularKeywords(20); + + return Inertia::render('memes/index', [ + 'memes' => $memes, + 'types' => $types, + 'popularKeywords' => $popularKeywords, + 'filters' => [ + 'search' => $search, + ], + 'dynamicDescription' => $search ? $description : null, + ]); + } + + public function show(string $slug): Response + { + $meme = $this->memeMediaService->findBySlug($slug); + + // Get related memes based on similar keywords + $relatedMemes = $this->memeMediaService->getRelatedMemes($meme, 6); + + // Set up SEO meta tags for individual meme page + $title = "{$meme->name} - Make Video Memes with MEMEFA.ST"; + $description = $meme->description + ? "This meme is about: {$meme->description}." + : "Create {$meme->name} video memes with our online editor. Perfect for TikTok, Instagram Reels, and YouTube Shorts."; + + SEOMeta::setTitle($title, false); + SEOMeta::setDescription($description); + SEOMeta::setCanonical(request()->url()); + SEOMeta::addKeyword(collect([$meme->keywords, $meme->action_keywords, $meme->emotion_keywords, $meme->misc_keywords])->flatten()->filter()->implode(', ')); + + // OpenGraph tags + OpenGraph::setTitle($title); + OpenGraph::setDescription($description); + OpenGraph::setUrl(request()->url()); + OpenGraph::addProperty('type', 'video.other'); + OpenGraph::addImage(route('memes.og', $meme->ids)); + + // Twitter Card + TwitterCard::setTitle($title); + TwitterCard::setDescription($description); + TwitterCard::setType('summary_large_image'); + TwitterCard::setImage(route('memes.og', $meme->ids)); + + return Inertia::render('memes/show', [ + 'meme' => $meme, + 'relatedMemes' => $relatedMemes, + ]); + } + + public function generateOG(string $ids): HttpResponse + { + // Get the meme media using the service + $meme = $this->memeMediaService->findByHashIds($ids); + + // Load the template image + $templatePath = public_path('memefast-og-template.jpg'); + + if (! file_exists($templatePath)) { + abort(404, 'Template image not found'); + } + + // Create ImageManager with Imagick driver + $manager = new ImageManager(new Driver); + + // Load the template image + $image = $manager->read($templatePath); + + // Ensure RGB colorspace for proper color rendering + $imagick = $image->core()->native(); + $imagick->setColorspace(\Imagick::COLORSPACE_SRGB); + + // Load the meme image from URL + if ($meme->webp_url) { + try { + // Use cURL to get the image content with proper headers + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $meme->webp_url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($ch, CURLOPT_TIMEOUT, 10); + curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MemeFast OG Generator)'); + + $imageContent = curl_exec($ch); + $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); + + if ($imageContent !== false && $httpCode === 200) { + $memeImage = $manager->read($imageContent); + + // Image positioning variables + $imageX = 0; // Horizontal offset + $imageY = 100; // Vertical offset + + // Resize meme image to 1.5x the template height while maintaining aspect ratio + $memeImage = $memeImage->scale(height: 1350); + + // Place the meme image vertically centered, horizontally right-justified + $image->place($memeImage, 'center-right', $imageX, $imageY); + } else { + $image->text('HTTP Error: '.$httpCode, 200, 200, function ($font) { + $font->size(20); + $font->color('#ff0000'); + $font->align('center'); + }); + } + } catch (\Exception $e) { + // If meme image fails to load, add debug text + $image->text('Image failed to load: '.$e->getMessage(), 200, 200, function ($font) { + $font->size(20); + $font->color('#ff0000'); + $font->align('center'); + }); + } + } + + // Add the meme name as text with proper kerning and line wrapping + if ($meme->name) { + $fontPath = resource_path('fonts/Geist/Geist-Bold.ttf'); + + // Fallback to built-in font if TTF not found + if (file_exists($fontPath)) { + // Use native Imagick for text kerning with line wrapping + $imagick = $image->core()->native(); // Get the native Imagick object + + // First draw the green outline + $drawOutline = new \ImagickDraw; + $drawOutline->setFillColor('#00FF00'); + $drawOutline->setFont($fontPath); + $drawOutline->setFontSize(70); + $drawOutline->setTextAlignment(\Imagick::ALIGN_LEFT); + $drawOutline->setStrokeColor('#00FF00'); + $drawOutline->setStrokeWidth(20); // Thicker stroke for outline effect + + // Then draw the black text on top + $draw = new \ImagickDraw; + $draw->setFillColor('#000000'); + $draw->setFont($fontPath); + $draw->setFontSize(70); + // $draw->setTextKerning(-4); // Negative for tighter kerning + $draw->setTextAlignment(\Imagick::ALIGN_LEFT); + + // Text wrapping - 70% of canvas width (1600 * 0.7 = 1120px) + $maxWidth = 1120; + $text = 'Make meme videos instantly with '.$meme->name.' meme with'; + + // Split text into words + $words = explode(' ', $text); + $lines = []; + $currentLine = ''; + + foreach ($words as $word) { + $testLine = $currentLine.($currentLine ? ' ' : '').$word; + + // Get text metrics for the test line + $metrics = $imagick->queryFontMetrics($draw, $testLine); + + if ($metrics['textWidth'] > $maxWidth && $currentLine !== '') { + // Line is too long, save current line and start new one + $lines[] = $currentLine; + $currentLine = $word; + } else { + $currentLine = $testLine; + } + } + + // Add the last line + if ($currentLine) { + $lines[] = $currentLine; + } + + $lines[] .= 'MEMEFAST'; + + // Text positioning variables + $textX = 100; // Horizontal position + $textY = 320; // Base vertical position + + // Calculate line height and starting Y position + $lineHeight = 75; // Tighter line spacing + $totalHeight = count($lines) * $lineHeight; + $startY = $textY - ($totalHeight / 2); // Center vertically + + // Draw each line (left-aligned) - first the outline, then the text + foreach ($lines as $index => $line) { + $y = $startY + ($index * $lineHeight); + + // Check if this is the MEMEFA.ST line + if ($line === 'MEMEFAST') { + + $extraSizing = 40; + + // Use Bungee font for MEMEFA.ST + $bungeeFontPath = resource_path('fonts/Bungee/Bungee-Regular.ttf'); + + if (file_exists($bungeeFontPath)) { + // Create separate draw objects for Bungee font + $bungeeOutline = new \ImagickDraw; + $bungeeOutline->setFillColor('#00FF00'); + $bungeeOutline->setFont($bungeeFontPath); + $bungeeOutline->setFontSize(70); + $bungeeOutline->setTextAlignment(\Imagick::ALIGN_LEFT); + $bungeeOutline->setStrokeColor('#00FF00'); + $bungeeOutline->setStrokeWidth(20); + + $bungeeText = new \ImagickDraw; + $bungeeText->setFillColor('#000000'); + $bungeeText->setFont($bungeeFontPath); + $bungeeText->setFontSize(70 + $extraSizing); + $bungeeText->setTextAlignment(\Imagick::ALIGN_LEFT); + + // Draw with Bungee font + $bungeeOutline->annotation($textX, $y + $extraSizing, $line); + $bungeeText->annotation($textX, $y + $extraSizing, $line); + + $imagick->drawImage($bungeeOutline); + $imagick->drawImage($bungeeText); + } else { + // Fallback to regular font + $drawOutline->annotation($textX, $y + $extraSizing, $line); + $draw->annotation($textX, $y + $extraSizing, $line); + } + } else { + // Use regular font for other lines + $drawOutline->annotation($textX, $y, $line); + $draw->annotation($textX, $y, $line); + } + } + + // Apply the drawing to the image (only for non-Bungee lines) + $imagick->drawImage($drawOutline); // Draw outline first + $imagick->drawImage($draw); // Draw text on top + } else { + $image->text($meme->name, 400, 450, function ($font) { + $font->size(80); + $font->color('#000000'); + $font->align('center'); + $font->valign('middle'); + }); + } + } + + // Generate the image and return as response + $encodedImage = $image->toJpeg(100); + + return response($encodedImage, 200, [ + 'Content-Type' => 'image/jpeg', + 'Cache-Control' => 'public, max-age=3600', + ]); + } +} diff --git a/app/Http/Controllers/FrontPagesController.php b/app/Http/Controllers/FrontPagesController.php index 83f8bfa..dabd83c 100644 --- a/app/Http/Controllers/FrontPagesController.php +++ b/app/Http/Controllers/FrontPagesController.php @@ -2,6 +2,9 @@ namespace App\Http\Controllers; +use Artesaos\SEOTools\Facades\OpenGraph; +use Artesaos\SEOTools\Facades\SEOMeta; +use Artesaos\SEOTools\Facades\TwitterCard; use Illuminate\Support\Str; use Inertia\Inertia; @@ -9,6 +12,25 @@ class FrontPagesController extends Controller { public function privacy() { + // Set up SEO meta tags + $title = 'Privacy Policy'; + $description = 'Read our privacy policy to understand how Memefast collects, uses, and protects your personal information when using our video meme creation platform.'; + + SEOMeta::setTitle($title); + SEOMeta::setDescription($description); + SEOMeta::setCanonical(request()->url()); + + // OpenGraph tags + OpenGraph::setTitle($title); + OpenGraph::setDescription($description); + OpenGraph::setUrl(request()->url()); + OpenGraph::addProperty('type', 'website'); + + // Twitter Card + TwitterCard::setTitle($title); + TwitterCard::setDescription($description); + TwitterCard::setType('summary'); + $markdownPath = resource_path('markdown/privacy.md'); $markdownContent = file_get_contents($markdownPath); @@ -26,6 +48,25 @@ public function privacy() public function terms() { + // Set up SEO meta tags + $title = 'Terms & Conditions'; + $description = 'Review our terms and conditions to understand the rules and guidelines for using Memefast video meme creation platform and services.'; + + SEOMeta::setTitle($title); + SEOMeta::setDescription($description); + SEOMeta::setCanonical(request()->url()); + + // OpenGraph tags + OpenGraph::setTitle($title); + OpenGraph::setDescription($description); + OpenGraph::setUrl(request()->url()); + OpenGraph::addProperty('type', 'website'); + + // Twitter Card + TwitterCard::setTitle($title); + TwitterCard::setDescription($description); + TwitterCard::setType('summary'); + $markdownPath = resource_path('markdown/terms.md'); $markdownContent = file_get_contents($markdownPath); @@ -41,6 +82,42 @@ public function terms() ]); } + public function dmcaCopyright() + { + // Set up SEO meta tags + $title = 'DMCA Copyright Policy'; + $description = 'MEMEFA.ST DMCA copyright policy and procedures for reporting copyright infringement. Learn how to file DMCA notices and counter-notices.'; + + SEOMeta::setTitle($title); + SEOMeta::setDescription($description); + SEOMeta::setCanonical(request()->url()); + + // OpenGraph tags + OpenGraph::setTitle($title); + OpenGraph::setDescription($description); + OpenGraph::setUrl(request()->url()); + OpenGraph::addProperty('type', 'website'); + + // Twitter Card + TwitterCard::setTitle($title); + TwitterCard::setDescription($description); + TwitterCard::setType('summary'); + + $markdownPath = resource_path('markdown/dmca-copyright.md'); + $markdownContent = file_get_contents($markdownPath); + + // Parse markdown to HTML using Laravel's built-in Str::markdown helper + $htmlContent = Str::markdown($markdownContent); + + // Style the HTML with Tailwind classes + $styledContent = $this->styleHtmlContent($htmlContent); + + return Inertia::render('FrontPages/DmcaCopyright', [ + 'content' => $styledContent, + 'title' => 'DMCA Copyright Policy', + ]); + } + private function styleHtmlContent($html) { // Add classes to various HTML elements using string replacement for Tailwind 4 diff --git a/app/Models/MemeMedia.php b/app/Models/MemeMedia.php index 66f599e..653e46c 100644 --- a/app/Models/MemeMedia.php +++ b/app/Models/MemeMedia.php @@ -53,6 +53,7 @@ class MemeMedia extends Model 'sub_type', 'original_id', 'name', + 'slug', 'description', 'keywords', 'group', @@ -79,7 +80,7 @@ class MemeMedia extends Model 'type', 'sub_type', 'original_id', - 'description', + // 'description', 'mov_uuid', 'webm_uuid', 'gif_uuid', diff --git a/app/Services/MemeMediaService.php b/app/Services/MemeMediaService.php new file mode 100644 index 0000000..c96f6e1 --- /dev/null +++ b/app/Services/MemeMediaService.php @@ -0,0 +1,172 @@ +buildSearchQuery($search); + + return $query->cursorPaginate($perPage); + } + + /** + * Get popular keywords for filtering + */ + public function getPopularKeywords(int $limit = 20): SupportCollection + { + $cacheKey = "popular_keywords_limit_{$limit}"; + + return Cache::remember($cacheKey, 60 * 60 * 24, function () use ($limit) { + return MemeMedia::where('is_enabled', true) + ->get() + ->pluck('keywords') + ->flatten() + ->countBy() + ->sort() + ->reverse() + ->take($limit) + ->keys(); + }); + } + + /** + * Get available meme types for filtering + */ + public function getAvailableTypes(): SupportCollection + { + return MemeMedia::where('is_enabled', true) + ->distinct() + ->pluck('type') + ->filter(); + } + + /** + * Find meme by slug + */ + public function findBySlug(string $slug): MemeMedia + { + return MemeMedia::where('slug', $slug) + ->where('is_enabled', true) + ->firstOrFail(); + } + + /** + * Find meme by hashids + */ + public function findByHashIds(string $ids): MemeMedia + { + $memeId = hashids_decode($ids); + + if (! $memeId) { + throw new ModelNotFoundException('Meme not found'); + } + + return MemeMedia::where('id', $memeId) + ->where('is_enabled', true) + ->firstOrFail(); + } + + /** + * Get related memes based on keywords + */ + public function getRelatedMemes(MemeMedia $meme, int $limit = 6): Collection + { + $relatedMemes = MemeMedia::where('is_enabled', true) + ->where('id', '!=', $meme->id) + ->where(function ($query) use ($meme) { + if ($meme->keywords) { + foreach ($meme->keywords as $keyword) { + $query->orWhereJsonContains('keywords', $keyword) + ->orWhereJsonContains('action_keywords', $keyword) + ->orWhereJsonContains('emotion_keywords', $keyword) + ->orWhereJsonContains('misc_keywords', $keyword); + } + } + }) + ->limit($limit) + ->get(); + + // If we have less than the desired limit, fill up with random ones + if ($relatedMemes->count() < $limit) { + $excludeIds = $relatedMemes->pluck('id')->push($meme->id)->toArray(); + $needed = $limit - $relatedMemes->count(); + + $randomMemes = $this->fillWithRandomMemes($relatedMemes, $limit, $excludeIds); + $relatedMemes = $relatedMemes->merge($randomMemes); + } + + return $relatedMemes; + } + + /** + * Fill collection with random memes up to target count + */ + public function fillWithRandomMemes(Collection $existing, int $targetCount, array $excludeIds): Collection + { + $needed = $targetCount - $existing->count(); + + if ($needed <= 0) { + return collect(); + } + + return MemeMedia::where('is_enabled', true) + ->whereNotIn('id', $excludeIds) + ->inRandomOrder() + ->limit($needed) + ->get(); + } + + /** + * Build search query with keyword matching + */ + private function buildSearchQuery(?string $search = null): Builder + { + $query = $this->getEnabledMemesQuery(); + + if ($search) { + $query->where(function ($q) use ($search) { + $q->where('name', 'ilike', "%{$search}%") + ->orWhere('description', 'ilike', "%{$search}%") + ->orWhereJsonContains('keywords', $search) + ->orWhereJsonContains('action_keywords', $search) + ->orWhereJsonContains('emotion_keywords', $search) + ->orWhereJsonContains('misc_keywords', $search); + }); + } + + return $query; + } + + /** + * Get all enabled memes for sitemap generation + */ + public function getAllEnabledMemes(): Collection + { + return MemeMedia::where('is_enabled', true) + ->orderBy('updated_at', 'desc') + ->get(); + } + + /** + * Get base query for enabled memes + */ + private function getEnabledMemesQuery(): Builder + { + return MemeMedia::query() + ->where('is_enabled', true) + ->orderBy('id', 'desc'); + } +} diff --git a/composer.json b/composer.json index 5247952..5674c40 100644 --- a/composer.json +++ b/composer.json @@ -12,6 +12,7 @@ "php": "^8.2", "artesaos/seotools": "^1.3", "inertiajs/inertia-laravel": "^2.0", + "intervention/image": "^3.11", "jenssegers/imagehash": "^0.10.0", "kalnoy/nestedset": "^6.0", "laravel/cashier": "^15.7", @@ -25,6 +26,7 @@ "pbmedia/laravel-ffmpeg": "^8.7", "pgvector/pgvector": "^0.2.2", "spatie/laravel-responsecache": "^7.7", + "spatie/laravel-sitemap": "^7.3", "spatie/laravel-tags": "^4.10", "symfony/dom-crawler": "^7.3", "tightenco/ziggy": "^2.4", diff --git a/composer.lock b/composer.lock index 4336334..ba2ec69 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "dbe9b4012c67d84fc322f58ddb9af791", + "content-hash": "79a02fbcd504e47b61331dad19bd62a0", "packages": [ { "name": "artesaos/seotools", @@ -4327,6 +4327,60 @@ }, "time": "2025-03-30T21:06:30+00:00" }, + { + "name": "nicmart/tree", + "version": "0.9.0", + "source": { + "type": "git", + "url": "https://github.com/nicmart/Tree.git", + "reference": "f5e17bf18d78cfb0666ebb9f956c3acd8d14229d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nicmart/Tree/zipball/f5e17bf18d78cfb0666ebb9f956c3acd8d14229d", + "reference": "f5e17bf18d78cfb0666ebb9f956c3acd8d14229d", + "shasum": "" + }, + "require": { + "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.44.0", + "ergebnis/license": "^2.6.0", + "ergebnis/php-cs-fixer-config": "^6.28.1", + "fakerphp/faker": "^1.24.1", + "infection/infection": "~0.26.19", + "phpunit/phpunit": "^9.6.19", + "psalm/plugin-phpunit": "~0.19.0", + "vimeo/psalm": "^5.26.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Tree\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolò Martini", + "email": "nicmartnic@gmail.com" + }, + { + "name": "Andreas Möller", + "email": "am@localheinz.com" + } + ], + "description": "A basic but flexible php tree data structure and a fluent tree builder implementation.", + "support": { + "issues": "https://github.com/nicmart/Tree/issues", + "source": "https://github.com/nicmart/Tree/tree/0.9.0" + }, + "time": "2024-11-22T15:36:01+00:00" + }, { "name": "nikic/php-parser", "version": "v5.4.0", @@ -5857,6 +5911,142 @@ ], "time": "2024-04-27T21:32:50+00:00" }, + { + "name": "spatie/browsershot", + "version": "5.0.10", + "source": { + "type": "git", + "url": "https://github.com/spatie/browsershot.git", + "reference": "9e5ae15487b3cdc3eb03318c1c8ac38971f60e58" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/browsershot/zipball/9e5ae15487b3cdc3eb03318c1c8ac38971f60e58", + "reference": "9e5ae15487b3cdc3eb03318c1c8ac38971f60e58", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "ext-json": "*", + "php": "^8.2", + "spatie/temporary-directory": "^2.0", + "symfony/process": "^6.0|^7.0" + }, + "require-dev": { + "pestphp/pest": "^3.0", + "spatie/image": "^3.6", + "spatie/pdf-to-text": "^1.52", + "spatie/phpunit-snapshot-assertions": "^4.2.3|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Browsershot\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://github.com/freekmurze", + "role": "Developer" + } + ], + "description": "Convert a webpage to an image or pdf using headless Chrome", + "homepage": "https://github.com/spatie/browsershot", + "keywords": [ + "chrome", + "convert", + "headless", + "image", + "pdf", + "puppeteer", + "screenshot", + "webpage" + ], + "support": { + "source": "https://github.com/spatie/browsershot/tree/5.0.10" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-05-15T07:10:57+00:00" + }, + { + "name": "spatie/crawler", + "version": "8.4.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/crawler.git", + "reference": "4f4c3ead439e7e57085c0b802bc4e5b44fb7d751" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/crawler/zipball/4f4c3ead439e7e57085c0b802bc4e5b44fb7d751", + "reference": "4f4c3ead439e7e57085c0b802bc4e5b44fb7d751", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^7.3", + "guzzlehttp/psr7": "^2.0", + "illuminate/collections": "^10.0|^11.0|^12.0", + "nicmart/tree": "^0.9", + "php": "^8.2", + "spatie/browsershot": "^5.0.5", + "spatie/robots-txt": "^2.0", + "symfony/dom-crawler": "^6.0|^7.0" + }, + "require-dev": { + "pestphp/pest": "^2.0|^3.0", + "spatie/ray": "^1.37" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Crawler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be" + } + ], + "description": "Crawl all internal links found on a website", + "homepage": "https://github.com/spatie/crawler", + "keywords": [ + "crawler", + "link", + "spatie", + "website" + ], + "support": { + "issues": "https://github.com/spatie/crawler/issues", + "source": "https://github.com/spatie/crawler/tree/8.4.3" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-05-20T09:00:51+00:00" + }, { "name": "spatie/eloquent-sortable", "version": "4.5.0", @@ -6075,6 +6265,79 @@ ], "time": "2025-05-20T08:39:19+00:00" }, + { + "name": "spatie/laravel-sitemap", + "version": "7.3.6", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-sitemap.git", + "reference": "506b2acdd350c7ff868a7711b4f30e486b20e9b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-sitemap/zipball/506b2acdd350c7ff868a7711b4f30e486b20e9b0", + "reference": "506b2acdd350c7ff868a7711b4f30e486b20e9b0", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^7.8", + "illuminate/support": "^11.0|^12.0", + "nesbot/carbon": "^2.71|^3.0", + "php": "^8.2||^8.3||^8.4", + "spatie/crawler": "^8.0.1", + "spatie/laravel-package-tools": "^1.16.1", + "symfony/dom-crawler": "^6.3.4|^7.0" + }, + "require-dev": { + "mockery/mockery": "^1.6.6", + "orchestra/testbench": "^9.0|^10.0", + "pestphp/pest": "^3.7.4", + "spatie/pest-plugin-snapshots": "^2.1", + "spatie/phpunit-snapshot-assertions": "^5.1.2", + "spatie/temporary-directory": "^2.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Sitemap\\SitemapServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Spatie\\Sitemap\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Create and generate sitemaps with ease", + "homepage": "https://github.com/spatie/laravel-sitemap", + "keywords": [ + "laravel-sitemap", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/laravel-sitemap/tree/7.3.6" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + } + ], + "time": "2025-04-10T12:13:41+00:00" + }, { "name": "spatie/laravel-tags", "version": "4.10.0", @@ -6228,6 +6491,66 @@ ], "time": "2025-02-20T15:51:22+00:00" }, + { + "name": "spatie/robots-txt", + "version": "2.5.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/robots-txt.git", + "reference": "ef85dfaa48372c0a7fdfb144592f95de1a2e9b79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/robots-txt/zipball/ef85dfaa48372c0a7fdfb144592f95de1a2e9b79", + "reference": "ef85dfaa48372c0a7fdfb144592f95de1a2e9b79", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "phpunit/phpunit": "^11.5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Robots\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brent Roose", + "email": "brent@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Determine if a page may be crawled from robots.txt and robots meta tags", + "homepage": "https://github.com/spatie/robots-txt", + "keywords": [ + "robots-txt", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/robots-txt/issues", + "source": "https://github.com/spatie/robots-txt/tree/2.5.1" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-07-01T07:07:44+00:00" + }, { "name": "spatie/temporary-directory", "version": "2.3.0", diff --git a/config/platform/seo_descriptions.php b/config/platform/seo_descriptions.php new file mode 100644 index 0000000..a880493 --- /dev/null +++ b/config/platform/seo_descriptions.php @@ -0,0 +1,116 @@ + [ + 'Create hilarious __KEYWORD__ memes with our video editor. Browse __KEYWORD__ memes perfect for sharing on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Make funny __KEYWORD__ memes fast. Share with friends on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit sharp __KEYWORD__ memes in minutes. Send to friends on WhatsApp, Telegram, Discord. Works great for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make clean __KEYWORD__ memes that slay. Share on WhatsApp, Telegram, Discord. Designed for TikTok, Instagram Reels, and YouTube Shorts.', + 'Turn clips into solid __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Create scroll-stopping __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Optimized for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make short, punchy __KEYWORD__ memes. Send to your group on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit quick __KEYWORD__ memes that hit. Share on WhatsApp, Telegram, Discord. Best for TikTok, Instagram Reels, and YouTube Shorts.', + 'Drop clean __KEYWORD__ memes online. Send to friends on WhatsApp, Telegram, Discord. Works across TikTok, Instagram Reels, and YouTube Shorts.', + 'Build smooth __KEYWORD__ memes with ease. Share on WhatsApp, Telegram, Discord. Ready to post on TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft tight __KEYWORD__ memes in your browser. Send to group chats on WhatsApp, Telegram, Discord. Made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Design fresh __KEYWORD__ memes fast. Share with friends on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Create polished __KEYWORD__ memes. Send to your crew on WhatsApp, Telegram, Discord. Ideal for TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit clean-cut __KEYWORD__ memes with no hassle. Share on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Make crisp __KEYWORD__ memes that just work. Send to friends on WhatsApp, Telegram, Discord. Works well on TikTok, Instagram Reels, and YouTube Shorts.', + 'Build meme-ready __KEYWORD__ clips. Share on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft easy __KEYWORD__ memes for short-form. Send to group chats on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Generate funny __KEYWORD__ memes fast. Share with friends on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Drop solid __KEYWORD__ memes from your clips. Send to your squad on WhatsApp, Telegram, Discord. Optimized for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make short-form __KEYWORD__ memes that pop. Share on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit no-fuss __KEYWORD__ memes that land. Send to friends on WhatsApp, Telegram, Discord. Works on TikTok, Instagram Reels, and YouTube Shorts.', + 'Create well-paced __KEYWORD__ memes fast. Share on WhatsApp, Telegram, Discord. Ideal for TikTok, Instagram Reels, and YouTube Shorts.', + 'Design sharp-looking __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Turn moments into funny __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Best for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make funny __KEYWORD__ memes with MEMEFA.ST! Send to your crew on WhatsApp, Telegram, Discord. Works across TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit fast and funny __KEYWORD__ memes online. Share on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft __KEYWORD__ memes with ease. Send to friends on WhatsApp, Telegram, Discord. Designed for TikTok, Instagram Reels, and YouTube Shorts.', + 'Build meme edits that feel right. Share on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Create scroll-stopping __KEYWORD__ memes in seconds. Send to group chats on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Make cool, clean __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Fits TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit funny __KEYWORD__ memes. Send to your squad on WhatsApp, Telegram, Discord. Ideal for TikTok, Instagram Reels, and YouTube Shorts.', + 'Drop funny __KEYWORD__ memes to your friends. Share on WhatsApp, Telegram, Discord. Format fits TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft fast, fun __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Build clean meme formats for __KEYWORD__. Share with friends on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Create cool-looking __KEYWORD__ memes. Send to your crew on WhatsApp, Telegram, Discord. Made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Turn quick ideas into __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Post funny __KEYWORD__ memes to friends. Send on WhatsApp, Telegram, Discord. Great for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make feed-friendly __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Optimized for TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit short and funny __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Perfect fit for TikTok, Instagram Reels, and YouTube Shorts.', + 'Create fast edits for __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Build simple __KEYWORD__ memes that hit. Send to friends on WhatsApp, Telegram, Discord. Works everywhere: TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft no-frills __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Designed for TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit funny, format-ready __KEYWORD__ memes. Send to your squad on WhatsApp, Telegram, Discord. For TikTok, Instagram Reels, and YouTube Shorts.', + 'Drop quick laughs with __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make meme-worthy __KEYWORD__ clips. Send to group chats on WhatsApp, Telegram, Discord. Works best on TikTok, Instagram Reels, and YouTube Shorts.', + 'Create short-form memes with __KEYWORD__. Share on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Design TikTok-ready __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Also works for Instagram Reels and YouTube Shorts.', + 'Build meme videos around __KEYWORD__. Share on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft quick meme edits for __KEYWORD__. Send to your crew on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Generate clean __KEYWORD__ memes fast. Share with friends on WhatsApp, Telegram, Discord. Designed for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make to-the-point __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit compact __KEYWORD__ memes with ease. Share on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Create meme videos around __KEYWORD__. Send to friends on WhatsApp, Telegram, Discord. Formats made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Drop clean meme clips for __KEYWORD__. Share on WhatsApp, Telegram, Discord. Best for TikTok, Instagram Reels, and YouTube Shorts.', + 'Build creator-friendly __KEYWORD__ memes. Send to your squad on WhatsApp, Telegram, Discord. Ideal for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make short, solid __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Works on TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit smooth __KEYWORD__ memes in minutes. Send to group chats on WhatsApp, Telegram, Discord. Great for TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft low-effort __KEYWORD__ memes that hit. Share on WhatsApp, Telegram, Discord. Designed for TikTok, Instagram Reels, and YouTube Shorts.', + 'Create fast-turnaround __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Design clean meme edits around __KEYWORD__. Share on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Build high-replay __KEYWORD__ memes. Send to your crew on WhatsApp, Telegram, Discord. Made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make meme-worthy short videos with __KEYWORD__. Share with friends on WhatsApp, Telegram, Discord. Great on TikTok, Instagram Reels, and YouTube Shorts.', + 'Drop funny clips with __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Create instantly watchable __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. For TikTok, Instagram Reels, and YouTube Shorts.', + 'Design videos around __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Works on TikTok, Instagram Reels, and YouTube Shorts.', + 'Build ready-to-post __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Best for TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft on-trend __KEYWORD__ memes fast. Send to your squad on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit memes with __KEYWORD__ that feel current. Share with friends on WhatsApp, Telegram, Discord. Works on TikTok, Instagram Reels, and YouTube Shorts.', + 'Create funny __KEYWORD__ clips that loop well. Send to group chats on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make clean, short __KEYWORD__ edits. Share on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Drop relatable __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Generate quick meme takes on __KEYWORD__. Share on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Build video memes with __KEYWORD__ in seconds. Send to your crew on WhatsApp, Telegram, Discord. Optimized for TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit short meme clips using __KEYWORD__. Share with friends on WhatsApp, Telegram, Discord. Works for TikTok, Instagram Reels, and YouTube Shorts.', + 'Create smooth meme edits with __KEYWORD__. Send to group chats on WhatsApp, Telegram, Discord. For TikTok, Instagram Reels, and YouTube Shorts.', + 'Make fast content using __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Craft short-form comedy with __KEYWORD__. Send to friends on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Design meme videos fast with __KEYWORD__. Share on WhatsApp, Telegram, Discord. Best for TikTok, Instagram Reels, and YouTube Shorts.', + 'Build scrollable __KEYWORD__ memes. Send to your squad on WhatsApp, Telegram, Discord. Formats made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Create short, clever __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit quick takes with __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make watchable meme clips using __KEYWORD__. Share on WhatsApp, Telegram, Discord. Works great on TikTok, Instagram Reels, and YouTube Shorts.', + 'Turn trends into __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Build fast meme edits featuring __KEYWORD__. Share on WhatsApp, Telegram, Discord. For TikTok, Instagram Reels, and YouTube Shorts.', + 'Create funny __KEYWORD__ content. Send to your crew on WhatsApp, Telegram, Discord. Works seamlessly across TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit meme videos using __KEYWORD__. Share with friends on WhatsApp, Telegram, Discord. Match TikTok, Instagram Reels, and YouTube Shorts formats.', + 'Drop clean __KEYWORD__ content for short-form feeds. Send to group chats on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Make smart edits with __KEYWORD__. Share on WhatsApp, Telegram, Discord. Optimized for TikTok, Instagram Reels, and YouTube Shorts.', + 'Generate short-form __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Create meme videos around __KEYWORD__. Share on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Edit short and shareable __KEYWORD__ memes. Send to your squad on WhatsApp, Telegram, Discord. Post to TikTok, Instagram Reels, and YouTube Shorts.', + 'Make well-timed __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Great for TikTok, Instagram Reels, and YouTube Shorts.', + 'Browse funny __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Find hilarious __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Discover trending __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Great for TikTok, Instagram Reels, and YouTube Shorts.', + 'Search cool __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Get fresh __KEYWORD__ memes. Send to your crew on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Pick awesome __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Works on TikTok, Instagram Reels, and YouTube Shorts.', + 'Choose top __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Select viral __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Great for TikTok, Instagram Reels, and YouTube Shorts.', + 'Download funny __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'Save hilarious __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Grab trending __KEYWORD__ memes. Send to your squad on WhatsApp, Telegram, Discord. Works on TikTok, Instagram Reels, and YouTube Shorts.', + 'Access cool __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Use fresh __KEYWORD__ memes. Send to group chats on WhatsApp, Telegram, Discord. Great for TikTok, Instagram Reels, and YouTube Shorts.', + 'Watch funny __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Perfect for TikTok, Instagram Reels, and YouTube Shorts.', + 'View hilarious __KEYWORD__ memes. Send to friends on WhatsApp, Telegram, Discord. Built for TikTok, Instagram Reels, and YouTube Shorts.', + 'Stream trending __KEYWORD__ memes. Share on WhatsApp, Telegram, Discord. Works on TikTok, Instagram Reels, and YouTube Shorts.', + 'Play cool __KEYWORD__ memes. Send to your crew on WhatsApp, Telegram, Discord. Made for TikTok, Instagram Reels, and YouTube Shorts.', + 'Check out fresh __KEYWORD__ memes. Share with friends on WhatsApp, Telegram, Discord. Great for TikTok, Instagram Reels, and YouTube Shorts.', + ], +]; diff --git a/database/migrations/2025_07_16_084731_add_slug_to_meme_medias_table.php b/database/migrations/2025_07_16_084731_add_slug_to_meme_medias_table.php new file mode 100644 index 0000000..7f2ed61 --- /dev/null +++ b/database/migrations/2025_07_16_084731_add_slug_to_meme_medias_table.php @@ -0,0 +1,30 @@ +string('slug')->nullable()->after('name'); + $table->index('slug'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('meme_medias', function (Blueprint $table) { + $table->dropIndex(['slug']); + $table->dropColumn('slug'); + }); + } +}; diff --git a/public/memefast-og-template.jpg b/public/memefast-og-template.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee0eebbcd35c4c5cedc459172b52a69fe3edf894 GIT binary patch literal 235614 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