diff --git a/app/Http/Controllers/ShowBlogController.php b/app/Http/Controllers/ShowBlogController.php index a6b4c929..19730b72 100644 --- a/app/Http/Controllers/ShowBlogController.php +++ b/app/Http/Controllers/ShowBlogController.php @@ -23,7 +23,7 @@ public function show(Article $article) abort_unless($article->isPublished() || auth()->user()?->isAdmin(), 404); // Set SEO metadata for the article - SEOTools::setTitle($article->title . ' - Blog'); + SEOTools::setTitle($article->title.' - Blog'); SEOTools::setDescription($article->excerpt ?: 'Read this article on the NativePHP blog.'); // Set OpenGraph metadata diff --git a/app/Http/Controllers/ShowDocumentationController.php b/app/Http/Controllers/ShowDocumentationController.php index 69c2c0f1..c4565e02 100644 --- a/app/Http/Controllers/ShowDocumentationController.php +++ b/app/Http/Controllers/ShowDocumentationController.php @@ -48,15 +48,15 @@ public function __invoke(Request $request, string $platform, string $version, ?s } $title = $pageProperties['title'].' - NativePHP '.$platform.' v'.$version; $description = Arr::exists($pageProperties, 'description') ? $pageProperties['description'] : 'NativePHP documentation for '.$platform.' v'.$version; - + SEOTools::setTitle($title); SEOTools::setDescription($description); - + // Set OpenGraph metadata SEOTools::opengraph()->setTitle($pageProperties['title']); SEOTools::opengraph()->setDescription($description); SEOTools::opengraph()->setType('article'); - + // Set Twitter Card metadata SEOTools::twitter()->setTitle($pageProperties['title']); SEOTools::twitter()->setDescription($description); diff --git a/resources/css/docsearch.css b/resources/css/docsearch.css index 12587e55..d4aa9f96 100644 --- a/resources/css/docsearch.css +++ b/resources/css/docsearch.css @@ -11,7 +11,7 @@ } .DocSearch-Button { - @apply m-0 flex items-center rounded-full bg-gray-50/50 font-normal ring-1 ring-slate-600/30 transition duration-300 ease-out dark:bg-black/30; + @apply m-0 flex items-center rounded-full bg-gray-50/50 font-normal ring-1 ring-slate-600/30 transition duration-300 ease-out ring-inset dark:bg-black/30; } .DocSearch-Button:hover { @@ -28,15 +28,8 @@ @apply text-gray-500 dark:text-white/60; } -@media (max-width: 768px) { - .DocSearch-Button-Keys, - .DocSearch-Button-Placeholder { - display: block; - } -} - .DocSearch-Button-Placeholder { - @apply px-1 text-sm text-black/60 transition duration-300 min-[520px]:pr-10 dark:text-white/60; + @apply px-1 text-sm text-black/60 transition duration-300 xl:pr-5 dark:text-white/60; } .DocSearch-Button-Keys { diff --git a/resources/views/components/bifrost-button.blade.php b/resources/views/components/bifrost-button.blade.php new file mode 100644 index 00000000..4a0313bd --- /dev/null +++ b/resources/views/components/bifrost-button.blade.php @@ -0,0 +1,100 @@ +@props([ + 'small' => false, +]) + + $small, + + 'px-6 py-3' => ! $small, + ]) +> + + + + + + Try Bifrost! + + + Build + + + Distribute + + + {{ $small ? 'Ship' : 'Ship it!' }} + + + diff --git a/resources/views/components/home/explainer.blade.php b/resources/views/components/home/explainer.blade.php index dc69f4b0..84ce3cf9 100644 --- a/resources/views/components/home/explainer.blade.php +++ b/resources/views/components/home/explainer.blade.php @@ -570,4 +570,77 @@ class="absolute -top-20 -right-20 -z-10 size-60 rounded-full bg-gradient-to-r fr > + + {{-- Bifrost --}} +
+
+ {{-- Illustration --}} + + + {{-- Header --}} +
+

+ And when you've built your app... Ship it! +

+

+ Get it to the stores and into the hands of users as fast as + humanly possible with Bifrost +

+
+ + {{-- Button --}} +
+ +
+ + {{-- Top gradient line --}} + + + {{-- Left blur --}} + + + {{-- Right blur --}} + +
+
diff --git a/resources/views/components/icons/home/android.blade.php b/resources/views/components/icons/home/android.blade.php new file mode 100644 index 00000000..9ef7c142 --- /dev/null +++ b/resources/views/components/icons/home/android.blade.php @@ -0,0 +1,12 @@ + + + diff --git a/resources/views/components/icons/home/apple.blade.php b/resources/views/components/icons/home/apple.blade.php new file mode 100644 index 00000000..d0b854c3 --- /dev/null +++ b/resources/views/components/icons/home/apple.blade.php @@ -0,0 +1,11 @@ + + + diff --git a/resources/views/components/icons/home/arc-connector.blade.php b/resources/views/components/icons/home/arc-connector.blade.php new file mode 100644 index 00000000..8e01312d --- /dev/null +++ b/resources/views/components/icons/home/arc-connector.blade.php @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/resources/views/components/icons/home/windows.blade.php b/resources/views/components/icons/home/windows.blade.php new file mode 100644 index 00000000..108006eb --- /dev/null +++ b/resources/views/components/icons/home/windows.blade.php @@ -0,0 +1,22 @@ + + + + + + + + + + diff --git a/resources/views/components/illustrations/bifrost-diagram.blade.php b/resources/views/components/illustrations/bifrost-diagram.blade.php new file mode 100644 index 00000000..6badaaf9 --- /dev/null +++ b/resources/views/components/illustrations/bifrost-diagram.blade.php @@ -0,0 +1,145 @@ +
+ {{-- Source (NativePHP app) --}} + + + {{-- Left line (decorative) --}} + + + {{-- Center (Bifrost) --}} +
+ {{-- Decorative blank box (top) --}} + + +
+
+ + Bifrost build system +
+
+ + {{-- Decorative blank box (bottom) --}} + +
+ + {{-- Right (Build outputs to platforms) --}} +
+ + + {{-- Platforms list --}} + +
+ +
+ Diagram: NativePHP app passes through Bifrost build system to produce + Apple (macOS), Android, and Windows platform outputs. +
+
diff --git a/resources/views/components/navigation-bar.blade.php b/resources/views/components/navigation-bar.blade.php index 64f391c3..f073bd4c 100644 --- a/resources/views/components/navigation-bar.blade.php +++ b/resources/views/components/navigation-bar.blade.php @@ -17,7 +17,7 @@ class="sticky top-0 z-50 flex flex-col items-center justify-center border-b px-2 class="mx-auto flex w-full max-w-5xl items-center justify-between gap-5 rounded-2xl py-4 pr-4 pl-3.5 xl:max-w-7xl 2xl:max-w-360" > {{-- Left side --}} -
+
{{-- Logo --}} {{-- Right side --}} -
+
{{-- Mobile menu --}} {{-- Desktop menu --}}
+ +