This commit is contained in:
ct
2025-07-15 07:35:25 +08:00
parent ce4a7c76f3
commit 1cb695ff5c
18 changed files with 58 additions and 25 deletions

View File

@@ -3,12 +3,13 @@
/** /**
* @see https://github.com/artesaos/seotools * @see https://github.com/artesaos/seotools
*/ */
$title = 'MEMEFAST';
$description = 'Simple, fast, and free meme video editor
'; $title = 'MEMEFAST: Make meme in seconds';
$description = 'Simple & fast meme video editor';
return [ return [
'inertia' => env('SEO_TOOLS_INERTIA', true), 'inertia' => env('SEO_TOOLS_INERTIA', false),
'meta' => [ 'meta' => [
/* /*
* The default configurations to be used by the meta generator. * The default configurations to be used by the meta generator.
@@ -46,7 +47,9 @@
'url' => false, // Set null for using Url::current(), set false to total remove 'url' => false, // Set null for using Url::current(), set false to total remove
'type' => false, 'type' => false,
'site_name' => false, 'site_name' => false,
'images' => [], 'images' => [
'memefast-og.jpg',
],
], ],
], ],
'twitter' => [ 'twitter' => [
@@ -54,8 +57,13 @@
* The default values to be used by the twitter cards generator. * The default values to be used by the twitter cards generator.
*/ */
'defaults' => [ 'defaults' => [
// 'card' => 'summary', 'card' => 'summary',
// 'site' => '@LuizVinicius73', 'site' => '@memefast',
'title' => $title,
'description' => $description,
'image' => 'memefast-og.jpg',
//'creator' => '@memefast',
//'url' => , // Set null for using Url::current(), set false to total remove
], ],
], ],
'json-ld' => [ 'json-ld' => [
@@ -65,9 +73,11 @@
'defaults' => [ 'defaults' => [
'title' => $title, 'title' => $title,
'description' => $description, 'description' => $description,
'url' => false, // Set to null or 'full' to use Url::full(), set to 'current' to use Url::current(), set false to total remove 'url' => null, // Set to null or 'full' to use Url::full(), set to 'current' to use Url::current(), set false to total remove
'type' => 'WebPage', 'type' => 'WebPage',
'images' => [], 'images' => [
'memefast-og.jpg',
],
], ],
], ],
]; ];

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 3.3 MiB

BIN
public/memefast-og.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

BIN
public/memefast-og.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -3,12 +3,12 @@
"short_name": "MF", "short_name": "MF",
"icons": [ "icons": [
{ {
"src": "/logo/memefast-logo-light-192.png", "src": "/logo/memefast-logo-192.png",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png" "type": "image/png"
}, },
{ {
"src": "/logo/memefast-logo-light-512.png", "src": "/logo/memefast-logo-512.png",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png" "type": "image/png"
} }

View File

@@ -14,7 +14,6 @@ import { MittProvider } from './plugins/MittContext';
const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; const appName = import.meta.env.VITE_APP_NAME || 'Laravel';
createInertiaApp({ createInertiaApp({
title: (title) => `${title} - ${appName}`,
resolve: (name) => resolvePageComponent(`./pages/${name}.tsx`, import.meta.glob('./pages/**/*.tsx')), resolve: (name) => resolvePageComponent(`./pages/${name}.tsx`, import.meta.glob('./pages/**/*.tsx')),
setup({ el, App, props }) { setup({ el, App, props }) {
const root = createRoot(el); const root = createRoot(el);

View File

@@ -13,10 +13,12 @@ const EditorHeader = ({ className = '', onNavClick = () => {}, isNavActive = fal
return ( return (
<div className={cn('flex w-full items-center justify-center', className)}> <div className={cn('flex w-full items-center justify-center', className)}>
<h1 className="font-display ml-0 text-lg tracking-wide md:ml-3 md:text-xl"> <img alt="MEMEFA.ST LOGO" className="h-10 w-10" src="logo/memefast-logo-144.png"></img>
<div className="font-display ml-0 text-lg tracking-wide md:ml-3 md:text-xl">
<span className="text-foreground">MEME</span> <span className="text-foreground">MEME</span>
<span className="text-muted-foreground">FAST</span> <span className="text-[#00DD00] dark:text-[#00FF00]">FAST</span>
</h1> </div>
</div> </div>
// <div className={cn('flex w-full items-center justify-between rounded-xl bg-white p-2 shadow-sm dark:bg-neutral-800', className)}> // <div className={cn('flex w-full items-center justify-between rounded-xl bg-white p-2 shadow-sm dark:bg-neutral-800', className)}>
// <Button onClick={onNavClick} variant="outline" size="icon" className="invisible rounded"> // <Button onClick={onNavClick} variant="outline" size="icon" className="invisible rounded">

View File

@@ -11,7 +11,7 @@ const Features = () => {
}, },
{ {
icon: Heart, icon: Heart,
title: 'Built-in over 200+ memes, for now', title: 'Built-in meme & backgrounds',
description: 'Access meme and background with our editor without paying a cent.', description: 'Access meme and background with our editor without paying a cent.',
gradient: 'bg-gradient-to-br from-transparent to-pink-500/5 dark:to-pink-400/10 hover:bg-gradient-to-tl', gradient: 'bg-gradient-to-br from-transparent to-pink-500/5 dark:to-pink-400/10 hover:bg-gradient-to-tl',
order: 1, order: 1,

View File

@@ -15,10 +15,13 @@ const Hero = () => {
{/* Main heading */} {/* Main heading */}
<div className="space-y-0"> <div className="space-y-0">
<h1 className="font-display text-6xl font-black tracking-tight sm:text-7xl lg:text-8xl"> <div className="flex items-center justify-center gap-2">
<span className="text-foreground">MEME</span> <img alt="MEMEFA.ST LOGO" className="h-24 w-24" src="logo/memefast-logo-180.png"></img>
<span className="text-muted-foreground">FAST</span> <h1 className="font-display text-6xl font-black tracking-tight sm:text-7xl lg:text-8xl">
</h1> <span className="text-foreground">MEME</span>
<span className="text-[#00DD00] dark:text-[#00FF00]">FAST</span>
</h1>
</div>
<h2 className="text-muted-foreground mx-auto max-w-4xl text-xl leading-relaxed font-light sm:text-2xl lg:text-3xl"> <h2 className="text-muted-foreground mx-auto max-w-4xl text-xl leading-relaxed font-light sm:text-2xl lg:text-3xl">
Fast and simple meme video editor Fast and simple meme video editor
@@ -37,7 +40,7 @@ const Hero = () => {
className="text-foreground text-3xl font-bold sm:text-4xl" className="text-foreground text-3xl font-bold sm:text-4xl"
postFix="" postFix=""
/>{' '} />{' '}
<div className="text-muted-foreground text-sm">Meme Templates</div> <div className="text-muted-foreground text-sm">Memes</div>
</div> </div>
<div className="text-center"> <div className="text-center">
<CountUp <CountUp

View File

@@ -43,12 +43,11 @@
@routes @routes
@viteReactRefresh @viteReactRefresh
@vite(['resources/js/app.tsx', "resources/js/pages/{$page['component']}.tsx"]) @vite(['resources/js/app.tsx', "resources/js/pages/{$page['component']}.tsx"])
{{-- @inertiaHead --}}
{{-- <link rel="canonical" href="{{ canonical() }}"> --}} <link rel="canonical" href="{{ request()->url() }}">
<link rel="icon" href="{{ asset('logo/memefast-logo-light-144.png') }}" type="image/png"> <link alt="MEMEFA.ST LOGO" rel="icon" href="{{ asset('logo/memefast-logo-144.png') }}" type="image/png">
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('logo/memefast-logo-light-180.png') }}"> <link alt="MEMEFA.ST LOGO" rel="apple-touch-icon" sizes="180x180" href="{{ asset('logo/memefast-logo-180.png') }}">
<link rel="manifest" href="{{ asset('site.webmanifest') }}"> <link rel="manifest" href="{{ asset('site.webmanifest') }}">
</head> </head>