feat: use xpier media library for uploads and markdown embeds
Store media:ID in post bodies instead of CDN URLs, and keep sablog attach tokens as a fallback. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -84,8 +84,8 @@ class SeoMiddleware
|
||||
'mainEntityOfPage' => route('posts.show', $post->slug ?: $post->id),
|
||||
];
|
||||
|
||||
if ($cover = $post->getFirstMedia('cover')) {
|
||||
$data['image'] = [$cover->getUrl('card') ?: $cover->getUrl()];
|
||||
if ($cover = $post->coverImageUrl()) {
|
||||
$data['image'] = [$cover];
|
||||
}
|
||||
|
||||
return $data;
|
||||
|
||||
+7
-3
@@ -24,10 +24,14 @@ return new class extends Migration
|
||||
$table->string('status', 20)->default('active'); // active / disabled
|
||||
$table->timestamp('last_clicked_at')->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
// MySQL 5.7 不支持对 TEXT 建全值索引,用前缀索引
|
||||
$table->index([DB::raw('target_url(191)')], 'redirects_target_url_index');
|
||||
});
|
||||
|
||||
// MySQL 5.7 cannot index TEXT fully; SQLite does not support prefix indexes.
|
||||
if (Schema::getConnection()->getDriverName() === 'mysql') {
|
||||
Schema::table('redirects', function (Blueprint $table): void {
|
||||
$table->index([DB::raw('target_url(191)')], 'redirects_target_url_index');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
|
||||
Reference in New Issue
Block a user