From 462c710295dcf0e28b659d4e9bfc5052d9a878ea Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Sun, 11 Jun 2023 16:52:37 +0100 Subject: [PATCH 001/477] fix: Use correct config variables post L10-config update Specifically the header name had disappeared. --- app/Http/Controllers/FeedsController.php | 12 ++++++------ config/user.php | 2 +- resources/views/articles/atom.blade.php | 4 ++-- resources/views/articles/rss.blade.php | 2 +- resources/views/master.blade.php | 4 ++-- resources/views/notes/atom.blade.php | 4 ++-- resources/views/notes/rss.blade.php | 2 +- tests/Feature/FeedsTest.php | 4 ++-- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/FeedsController.php b/app/Http/Controllers/FeedsController.php index 3b483af8..d79c5e7f 100644 --- a/app/Http/Controllers/FeedsController.php +++ b/app/Http/Controllers/FeedsController.php @@ -71,7 +71,7 @@ class FeedsController extends Controller $articles = Article::where('published', '1')->latest('updated_at')->take(20)->get(); $data = [ 'version' => 'https://jsonfeed.org/version/1', - 'title' => 'The JSON Feed for ' . config('app.display_name') . '’s blog', + 'title' => 'The JSON Feed for ' . config('user.display_name') . '’s blog', 'home_page_url' => config('app.url') . '/blog', 'feed_url' => config('app.url') . '/blog/feed.json', 'items' => [], @@ -86,7 +86,7 @@ class FeedsController extends Controller 'date_published' => $article->created_at->tz('UTC')->toRfc3339String(), 'date_modified' => $article->updated_at->tz('UTC')->toRfc3339String(), 'author' => [ - 'name' => config('app.display_name'), + 'name' => config('user.display_name'), ], ]; } @@ -102,7 +102,7 @@ class FeedsController extends Controller $notes = Note::latest()->with('media')->take(20)->get(); $data = [ 'version' => 'https://jsonfeed.org/version/1', - 'title' => 'The JSON Feed for ' . config('app.display_name') . '’s notes', + 'title' => 'The JSON Feed for ' . config('user.display_name') . '’s notes', 'home_page_url' => config('app.url') . '/notes', 'feed_url' => config('app.url') . '/notes/feed.json', 'items' => [], @@ -116,7 +116,7 @@ class FeedsController extends Controller 'date_published' => $note->created_at->tz('UTC')->toRfc3339String(), 'date_modified' => $note->updated_at->tz('UTC')->toRfc3339String(), 'author' => [ - 'name' => config('app.display_name'), + 'name' => config('user.display_name'), ], ]; } @@ -151,7 +151,7 @@ class FeedsController extends Controller 'url' => url('/blog'), 'author' => [ 'type' => 'card', - 'name' => config('user.displayname'), + 'name' => config('user.display_name'), 'url' => config('url.longurl'), ], 'children' => $items, @@ -187,7 +187,7 @@ class FeedsController extends Controller 'url' => url('/notes'), 'author' => [ 'type' => 'card', - 'name' => config('user.displayname'), + 'name' => config('user.display_name'), 'url' => config('url.longurl'), ], 'children' => $items, diff --git a/config/user.php b/config/user.php index 89a7502e..39f73051 100644 --- a/config/user.php +++ b/config/user.php @@ -1,7 +1,7 @@ env('DISPLAY_NAME'), + 'display_name' => env('DISPLAY_NAME'), 'username' => env('USER_NAME'), ]; diff --git a/resources/views/articles/atom.blade.php b/resources/views/articles/atom.blade.php index 1a7e0c29..9892bcfb 100644 --- a/resources/views/articles/atom.blade.php +++ b/resources/views/articles/atom.blade.php @@ -1,6 +1,6 @@ - Atom feed for {{ config('app.display_name') }}’s blog + Atom feed for {{ config('user.display_name') }}’s blog {{ config('app.url')}}/blog {{ $articles[0]->updated_at->toAtomString() }} @@ -13,7 +13,7 @@ {{ $article->updated_at->toAtomString() }} {{ $article->main }} - {{ config('app.display_name') }} + {{ config('user.display_name') }} @endforeach diff --git a/resources/views/articles/rss.blade.php b/resources/views/articles/rss.blade.php index 7c961000..1f5f13d6 100644 --- a/resources/views/articles/rss.blade.php +++ b/resources/views/articles/rss.blade.php @@ -1,7 +1,7 @@ - {{ config('app.display_name') }} + {{ config('user.display_name') }} An RSS feed of the blog posts found on {{ config('url.longurl') }} {{ config('app.url') }}/blog diff --git a/resources/views/master.blade.php b/resources/views/master.blade.php index 428ab0d0..944627c9 100644 --- a/resources/views/master.blade.php +++ b/resources/views/master.blade.php @@ -2,7 +2,7 @@ - @yield('title'){{ config('app.display_name') }} + @yield('title'){{ config('app.name') }} @if (!empty(config('app.font_link'))) @@ -31,7 +31,7 @@ diff --git a/tests/Feature/FeedsTest.php b/tests/Feature/FeedsTest.php index 4ca49b90..481218b7 100644 --- a/tests/Feature/FeedsTest.php +++ b/tests/Feature/FeedsTest.php @@ -6,6 +6,7 @@ namespace Tests\Feature; use App\Models\Article; use App\Models\Note; +use App\Models\Place; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; @@ -159,4 +160,14 @@ class FeedsTest extends TestCase } } } + + /** @test */ + public function jsonNoteFeedLoadsPlaceDataWithoutLazyLoading(): void + { + $place = Place::factory()->create(); + Note::factory()->create(['note' => null, 'place_id' => $place->id]); + $response = $this->get('/notes/feed.json'); + + $response->assertOk(); + } } From 2aa60db54853ed3fb098418e7cb3fcc8a9a57c21 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Wed, 20 Dec 2023 14:44:11 +0000 Subject: [PATCH 251/477] Update JSON notes feed to version 1.1 --- app/Http/Controllers/FeedsController.php | 18 ++++++++++++------ app/Models/Note.php | 8 ++++---- database/seeders/NotesTableSeeder.php | 1 + tests/Unit/NotesTest.php | 6 +++--- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/app/Http/Controllers/FeedsController.php b/app/Http/Controllers/FeedsController.php index 5d0aa8d3..74e87be6 100644 --- a/app/Http/Controllers/FeedsController.php +++ b/app/Http/Controllers/FeedsController.php @@ -102,12 +102,18 @@ class FeedsController extends Controller */ public function notesJson(): array { - $notes = Note::latest()->with('media', 'place')->take(20)->get(); + $notes = Note::latest()->with('media', 'place', 'tags')->take(20)->get(); $data = [ - 'version' => 'https://jsonfeed.org/version/1', + 'version' => 'https://jsonfeed.org/version/1.1', 'title' => 'The JSON Feed for ' . config('user.display_name') . '’s notes', 'home_page_url' => config('app.url') . '/notes', 'feed_url' => config('app.url') . '/notes/feed.json', + 'authors' => [ + [ + 'name' => config('user.display_name'), + 'url' => config('app.url'), + ], + ], 'items' => [], ]; @@ -115,13 +121,13 @@ class FeedsController extends Controller $data['items'][$key] = [ 'id' => $note->longurl, 'url' => $note->longurl, - 'content_html' => $note->content, + 'content_text' => $note->content, 'date_published' => $note->created_at->tz('UTC')->toRfc3339String(), 'date_modified' => $note->updated_at->tz('UTC')->toRfc3339String(), - 'author' => [ - 'name' => config('user.display_name'), - ], ]; + if ($note->tags->count() > 0) { + $data['items'][$key]['tags'] = implode(',', $note->tags->pluck('tag')->toArray()); + } } return $data; diff --git a/app/Models/Note.php b/app/Models/Note.php index 39d0c5e1..f854b598 100644 --- a/app/Models/Note.php +++ b/app/Models/Note.php @@ -144,17 +144,17 @@ class Note extends Model */ public function getContentAttribute(): string { - $note = $this->note; + $note = $this->getRawOriginal('note'); foreach ($this->media as $media) { if ($media->type === 'image') { - $note .= ''; + $note .= PHP_EOL . ''; } if ($media->type === 'audio') { - $note .= '