mirror of
https://github.com/archtechx/laravel-seo.git
synced 2025-12-12 09:54:03 +00:00
fix: previewify needs prefix to work correctly
This commit is contained in:
parent
cf8ec8d3ae
commit
987280a9ea
3 changed files with 11 additions and 11 deletions
|
|
@ -235,7 +235,7 @@ seo()->previewify('page', 83);
|
|||
|
||||
After that, you can use the templates by calling `seo()->previewify()` like this:
|
||||
```php
|
||||
seo()->previewify('blog', ['title' => 'Foo', 'content' => 'bar'])`
|
||||
seo()->previewify('blog', ['previewify:title' => 'Foo', 'previewify:content' => 'bar'])`
|
||||
```
|
||||
|
||||
The call will set the generated image as the OpenGraph and Twitter card images. The generated URLs are signed.
|
||||
|
|
|
|||
|
|
@ -192,8 +192,8 @@ class SEOManager
|
|||
|
||||
if ($data === null) {
|
||||
$data = [
|
||||
'title' => $this->raw('title'),
|
||||
'description' => $this->raw('description'),
|
||||
'previewify:title' => $this->raw('title'),
|
||||
'previewify:description' => $this->raw('description'),
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,16 +18,16 @@ test('previewify makes a request to the template not the alias', function () {
|
|||
|
||||
test('previewify templates can be given data', function () {
|
||||
seo()->previewify('blog', 1);
|
||||
expect(seo()->previewify('blog', ['title' => 'abc', 'excerpt' => 'def']))
|
||||
expect(seo()->previewify('blog', ['previewify:title' => 'abc', 'previewify:excerpt' => 'def']))
|
||||
->toContain('previewify.app/generate/templates/1')
|
||||
->toContain(base64_encode(json_encode(['title' => 'abc', 'excerpt' => 'def'])));
|
||||
->toContain(base64_encode(json_encode(['previewify:title' => 'abc', 'previewify:excerpt' => 'def'])));
|
||||
});
|
||||
|
||||
test('the previewify method returns a link to a signed url', function () {
|
||||
seo()->previewify('blog', 1);
|
||||
|
||||
expect(seo()->previewify('blog', ['title' => 'abc']))
|
||||
->toContain('?signature=' . hash_hmac('sha256', base64_encode(json_encode(['title' => 'abc'])), config('services.previewify.key')));
|
||||
expect(seo()->previewify('blog', ['previewify:title' => 'abc']))
|
||||
->toContain('?signature=' . hash_hmac('sha256', base64_encode(json_encode(['previewify:title' => 'abc'])), config('services.previewify.key')));
|
||||
});
|
||||
|
||||
test("previewify templates use default data when they're not passed any data explicitly", function () {
|
||||
|
|
@ -37,7 +37,7 @@ test("previewify templates use default data when they're not passed any data exp
|
|||
|
||||
expect(seo()->previewify('blog'))
|
||||
->toContain('previewify.app/generate/templates/1')
|
||||
->toContain(base64_encode(json_encode(['title' => 'foo', 'description' => 'bar'])));
|
||||
->toContain(base64_encode(json_encode(['previewify:title' => 'foo', 'previewify:description' => 'bar'])));
|
||||
});
|
||||
|
||||
test('previewify images are used as the cover images', function () {
|
||||
|
|
@ -55,7 +55,7 @@ test('the blade directive can be used with previewify', function () {
|
|||
seo()->title('foo')->description('bar');
|
||||
|
||||
expect(blade("@seo('previewify', 'blog')"))->toBe(seo()->previewify('blog'));
|
||||
expect(blade("@seo('previewify', 'blog', ['title' => 'abc'])"))->toBe(seo()->previewify('blog', ['title' => 'abc']));
|
||||
expect(blade("@seo('previewify', 'blog', ['previewify:title' => 'abc'])"))->toBe(seo()->previewify('blog', ['previewify:title' => 'abc']));
|
||||
});
|
||||
|
||||
test('previewify uses the raw title and description', function () {
|
||||
|
|
@ -66,12 +66,12 @@ test('previewify uses the raw title and description', function () {
|
|||
|
||||
expect(seo()->previewify('blog'))
|
||||
->toContain('previewify.app/generate/templates/1')
|
||||
->toContain(base64_encode(json_encode(['title' => 'foo', 'description' => 'bar'])));
|
||||
->toContain(base64_encode(json_encode(['previewify:title' => 'foo', 'previewify:description' => 'bar'])));
|
||||
});
|
||||
|
||||
test('the @seo helper can be used for setting a previewify image', function () {
|
||||
seo()->previewify('blog', 1);
|
||||
blade("@seo(['previewify' => ['blog', ['title' => 'abc', 'excerpt' => 'def']]])");
|
||||
blade("@seo(['previewify' => ['blog', ['previewify:title' => 'abc', 'previewify:excerpt' => 'def']]])");
|
||||
|
||||
expect(seo('image'))->toContain('previewify.app/generate/templates/1');
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue