ボード内投稿のいいね一覧を作成した。
投稿詳細にArticleの構造化マークアップを入れてみた。しかし実際にどうやって自分で検索結果で確認できる日が来るんだろう…。
よく分かってないけどこんなJSON
return [
'@context' => 'http://schema.org',
'@type' => 'Article',
'mainEntityOfPage' => [
'@type' => 'WebPage',
'@id' => config('app.url') . "/posts/{$this->unique_id}",
],
'headline' => $this->name,
'image' => $images,
'datePublished' => $this->created_at->format('c'),
'dateModified' => $this->updated_at->format('c'),
'author' => [
'@type' => 'Person',
'name' => $this->user->name,
],
'publisher' => [
'@type' => 'Organization',
'name' => 'Crieit',
'logo' => [
'@type' => 'ImageObject',
'url' => config('app.url') . '/img/card.png',
],
],
'description' => $this->getDescription(107),
];
ボード内の投稿にコメントできるようにした。コメントがあるとこんな感じでリンクが付く。引き続き通知機能を作らないとコメントに気づけないので困りそう…。
あとコメントフォーム周りの広告が非常に邪魔な感じになってるので調整する。
匿名機能できたので夜リリースする。しかしボードが一つ作られ、ボード内投稿が一つ作られるだけでもまだ気づきがあって重要なタスクが増えていっている状態。
とりあえずボード関連の匿名設定のとこだけやった(開発環境)。あとはまた後日表示を対応してテストを追加していく。
ボードの場合コードの折返しがあったので修正した。そのうちコードがある&画像がない場合はコードがOGPになるようにしたいな。
ボード内の投稿はパーマリンク的なのがあるんだけど、内容が短すぎるやつ(100文字以下とか)の場合はnoindexを入れるようにした。
管理画面のパッケージを入れた。ついに脆弱性を入れてしまった…。
ボード表示のテストを作った。1つ目がログインなし公開ボード。2つ目がログインなしプライベートボード。3つ目がログインあり自分のプライベートボード。4つ目がログインあり他者のプライベートボード。
どれもマニュアル通りで目新しいことはしてない。
public function testShow()
{
$board = factory(Board::class)->create();
$response = $this->get("/boards/{$board->unique_id}");
$response->assertStatus(200);
}
public function testShowPrivate()
{
$board = factory(Board::class)->create(['private' => true]);
$response = $this->get("/boards/{$board->unique_id}");
$response->assertStatus(500);
}
public function testShowMyPrivate()
{
$board = factory(Board::class)->create(['private' => true]);
$response = $this->actingAs($board->user)->get("/boards/{$board->unique_id}");
$response->assertStatus(200);
}
public function testShowOtherUserPrivate()
{
$board = factory(Board::class)->create(['private' => true]);
$otherUser = factory(User::class)->create();
$response = $this->actingAs($otherUser)->get("/boards/{$board->unique_id}");
$response->assertStatus(404);
}
ボード周りの広告を放置していたので調整した。てか関連コンテンツユニットも配置してみたけどすごすぎる…。