diff --git a/app/Http/Controllers/PostsController.php b/app/Http/Controllers/PostsController.php new file mode 100644 index 0000000..ccba1b7 --- /dev/null +++ b/app/Http/Controllers/PostsController.php @@ -0,0 +1,22 @@ +by($request->user()?->id ?: $request->ip()); }); @@ -36,5 +39,11 @@ class RouteServiceProvider extends ServiceProvider Route::middleware('web') ->group(base_path('routes/web.php')); }); + + Route::bind('post', function ($path) { + return $this->app->make(Sheets::class) + ->collection('posts') + ->get($path) ?? abort(404); + }); } } diff --git a/config/filesystems.php b/config/filesystems.php index 4afc1fc..71576c4 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -56,6 +56,11 @@ return [ 'throw' => false, ], + 'posts' => [ + 'driver' => 'local', + 'root' => base_path('content/posts'), + ] + ], /* diff --git a/config/sheets.php b/config/sheets.php new file mode 100644 index 0000000..451412c --- /dev/null +++ b/config/sheets.php @@ -0,0 +1,14 @@ + 'posts', + + 'collections' => [ + 'posts' => [ + 'sheet_class' => Spatie\Sheets\Sheet::class, + 'path_parser' => Spatie\Sheets\PathParsers\SlugParser::class, + 'content_parser' => Spatie\Sheets\ContentParsers\MarkdownWithFrontMatterParser::class, + 'extension' => 'md', + ] + ], +]; diff --git a/content/posts/hello-world.md b/content/posts/hello-world.md new file mode 100644 index 0000000..d565e8a --- /dev/null +++ b/content/posts/hello-world.md @@ -0,0 +1,9 @@ +--- +title: Hello, world! +description: Welcome to Sheets! +date: 2020-07-01 +--- + +# Hello, world! + +Welcome to Sheets! diff --git a/resources/views/posts/index.blade.php b/resources/views/posts/index.blade.php new file mode 100644 index 0000000..91f7bb2 --- /dev/null +++ b/resources/views/posts/index.blade.php @@ -0,0 +1,20 @@ +@extends('layouts.app') + +@section('title', 'Heimerdinger.LoL • Posts') +@section('description', 'Explore all champion skins on Heimerdinger.LoL. Find detailed information on popular skins +such as Dark Cosmic Jhin, HEARTSTEEL Ezreal, PROJECT: Vayne and more!') + +@section('content') +
+

+ Posts

+

Latest posts about League of Legends

+ @foreach($posts as $post) + {{ $post->title }} + {{ $post->description}} + + @endforeach +
+@endsection diff --git a/resources/views/posts/show.blade.php b/resources/views/posts/show.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/routes/web.php b/routes/web.php index 82db5af..94f5e62 100644 --- a/routes/web.php +++ b/routes/web.php @@ -4,6 +4,7 @@ use App\Http\Controllers\AboutController; use App\Http\Controllers\AssetsController; use App\Http\Controllers\ChampionController; use App\Http\Controllers\FAQController; +use App\Http\Controllers\PostsController; use App\Http\Controllers\SaleController; use App\Http\Controllers\SummonerEmoteController; use Illuminate\Support\Facades\Route; @@ -76,6 +77,17 @@ Route::get('/about/faq/heimerdinger', [ 'heimerdinger' ])->name('about.faq.heimerdinger'); +// Posts +Route::get('/posts', [ + PostsController::class, + 'index' +])->name('posts.index'); + +Route::get('/post/{post}', [ + PostsController::class, + 'show' +])->name('posts.show'); + // Pulse Route::get(config('app.login_route'), function () { return redirect('/pulse');