mirror of
https://repo.getmonero.org/AnonDev/xmrmemes.git
synced 2024-12-21 21:55:07 -05:00
Finish SEO
This commit is contained in:
parent
d5a3175bea
commit
58fb2d2834
@ -4,11 +4,13 @@ namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use chillerlan\QRCode\{QRCode, QROptions};
|
||||
use Artesaos\SEOTools\Facades\SEOTools;
|
||||
|
||||
class AboutController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
SEOTools::setTitle('About');
|
||||
$data = [
|
||||
'address' => config('app.xmr_tip_address'),
|
||||
'qr' => (new QRCode)->render(config('app.xmr_tip_address')),
|
||||
|
@ -4,11 +4,13 @@ namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Meme;
|
||||
use Artesaos\SEOTools\Facades\SEOTools;
|
||||
|
||||
class ApiController extends Controller
|
||||
{
|
||||
public function documentation()
|
||||
{
|
||||
SEOTools::setTitle('API');
|
||||
$data = [
|
||||
'memes_example' => json_encode(Meme::limit(1)->get(), JSON_PRETTY_PRINT),
|
||||
'memes_endpoint' => url('api/memes'),
|
||||
|
@ -3,11 +3,13 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Artesaos\SEOTools\Facades\SEOTools;
|
||||
|
||||
class ContactController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
SEOTools::setTitle('Contact');
|
||||
$data = [];
|
||||
return view('contact', ['data' => $data]);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Meme;
|
||||
use Artesaos\SEOTools\Facades\SEOTools;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
@ -24,6 +25,7 @@ class DashboardController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
SEOTools::setTitle('Dashboard');
|
||||
if (\Auth::user()->is_admin === 1) {
|
||||
$memes_pending = Meme::withoutGlobalScope('approved')->where('is_approved', 0)->get();
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ use App\Models\Address;
|
||||
use Illuminate\Http\Request;
|
||||
use chillerlan\QRCode\{QRCode, QROptions};
|
||||
use MoneroIntegrations\MoneroPhp\walletRPC;
|
||||
use Artesaos\SEOTools\Facades\SEOTools;
|
||||
|
||||
class MemeController extends Controller
|
||||
{
|
||||
@ -29,12 +30,8 @@ class MemeController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
SEOTools::setTitle('Home');
|
||||
$data = [
|
||||
'seo' => [
|
||||
'title' => null,
|
||||
'desc' => null,
|
||||
'img' => null,
|
||||
],
|
||||
'memes' => Meme::with(['user', 'tips'])->orderByDesc('created_at')->paginate(20),
|
||||
];
|
||||
return view('homepage', ['data' => $data]);
|
||||
@ -42,6 +39,7 @@ class MemeController extends Controller
|
||||
|
||||
public function leaderboard()
|
||||
{
|
||||
SEOTools::setTitle('Leaderboard');
|
||||
$users = User::with('tips')->has('memes')->get();
|
||||
$users = $users->sortByDesc(function($user) {
|
||||
return $user->tips_total;
|
||||
@ -61,6 +59,7 @@ class MemeController extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
SEOTools::setTitle('Submit');
|
||||
return view('meme-create');
|
||||
}
|
||||
|
||||
@ -96,6 +95,9 @@ class MemeController extends Controller
|
||||
{
|
||||
$meme = Meme::where('id', $id)->with(['user', 'tips'])->firstOrFail();
|
||||
|
||||
SEOTools::setTitle($meme->title);
|
||||
SEOTools::addImages($meme->image_url);
|
||||
|
||||
$share = \Share::page(url()->current(), $meme->title, ['class' => 'fa-lg', 'target' => '_blank'])
|
||||
->facebook()
|
||||
->twitter()
|
||||
|
@ -6,6 +6,7 @@
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^7.3|^8.0",
|
||||
"artesaos/seotools": "^0.20.1",
|
||||
"chillerlan/php-qrcode": "^4.3",
|
||||
"fideloper/proxy": "^4.4",
|
||||
"fruitcake/laravel-cors": "^2.0",
|
||||
|
73
composer.lock
generated
73
composer.lock
generated
@ -4,8 +4,79 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "d4b49b5d84d95faf47df7ada81dfc05e",
|
||||
"content-hash": "79607b3c728e5c08ba78d12cce54d7d1",
|
||||
"packages": [
|
||||
{
|
||||
"name": "artesaos/seotools",
|
||||
"version": "v0.20.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/artesaos/seotools.git",
|
||||
"reference": "7a2901eb3f5f6a8c70245d60568f0377eb5d3229"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/artesaos/seotools/zipball/7a2901eb3f5f6a8c70245d60568f0377eb5d3229",
|
||||
"reference": "7a2901eb3f5f6a8c70245d60568f0377eb5d3229",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"illuminate/config": "5.8.* || ^6.0 || ^7.0 || ^8.0",
|
||||
"illuminate/support": "5.8.* || ^6.0 || ^7.0 || ^8.0",
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "~3.8.4 || ^4.0 || ^5.0",
|
||||
"phpspec/phpspec": "~5.1.1 || ^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Artesaos\\SEOTools\\Providers\\SEOToolsServiceProvider"
|
||||
],
|
||||
"aliases": {
|
||||
"SEOMeta": "Artesaos\\SEOTools\\Facades\\SEOMeta",
|
||||
"OpenGraph": "Artesaos\\SEOTools\\Facades\\OpenGraph",
|
||||
"Twitter": "Artesaos\\SEOTools\\Facades\\TwitterCard",
|
||||
"JsonLd": "Artesaos\\SEOTools\\Facades\\JsonLd",
|
||||
"SEO": "Artesaos\\SEOTools\\Facades\\SEOTools"
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Artesaos\\SEOTools\\": "src/SEOTools/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Vinicius",
|
||||
"email": "luiz.vinicius73@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "SEO Tools for Laravel and Lumen",
|
||||
"keywords": [
|
||||
"JSON-LD",
|
||||
"laravel",
|
||||
"lumen",
|
||||
"metatags",
|
||||
"opengraph",
|
||||
"seo",
|
||||
"seotools",
|
||||
"webmaster"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/artesaos/seotools/issues",
|
||||
"source": "https://github.com/artesaos/seotools"
|
||||
},
|
||||
"time": "2021-05-03T21:46:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "asm89/stack-cors",
|
||||
"version": "v2.0.3",
|
||||
|
68
config/seotools.php
Normal file
68
config/seotools.php
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* @see https://github.com/artesaos/seotools
|
||||
*/
|
||||
|
||||
return [
|
||||
'meta' => [
|
||||
/*
|
||||
* The default configurations to be used by the meta generator.
|
||||
*/
|
||||
'defaults' => [
|
||||
'title' => 'XmrMemes', // set false to total remove
|
||||
'titleBefore' => false, // Put defaults.title before page title, like 'It's Over 9000! - Dashboard'
|
||||
'description' => 'Get paid in Monero for making awesome memes about Monero (XMR).', // set false to total remove
|
||||
'separator' => ' - ',
|
||||
'keywords' => ['Monero', 'Xmr', 'memes'],
|
||||
'canonical' => false, // Set null for using Url::current(), set false to total remove
|
||||
'robots' => false, // Set to 'all', 'none' or any combination of index/noindex and follow/nofollow
|
||||
],
|
||||
/*
|
||||
* Webmaster tags are always added.
|
||||
*/
|
||||
'webmaster_tags' => [
|
||||
'google' => null,
|
||||
'bing' => null,
|
||||
'alexa' => null,
|
||||
'pinterest' => null,
|
||||
'yandex' => null,
|
||||
'norton' => null,
|
||||
],
|
||||
|
||||
'add_notranslate_class' => false,
|
||||
],
|
||||
'opengraph' => [
|
||||
/*
|
||||
* The default configurations to be used by the opengraph generator.
|
||||
*/
|
||||
'defaults' => [
|
||||
'title' => 'XmrMemes', // set false to total remove
|
||||
'description' => 'Get paid in Monero for making awesome memes about Monero (XMR).', // set false to total remove
|
||||
'url' => null, // Set null for using Url::current(), set false to total remove
|
||||
'type' => false,
|
||||
'site_name' => false,
|
||||
'images' => [],
|
||||
],
|
||||
],
|
||||
'twitter' => [
|
||||
/*
|
||||
* The default values to be used by the twitter cards generator.
|
||||
*/
|
||||
'defaults' => [
|
||||
//'card' => 'summary',
|
||||
//'site' => '@LuizVinicius73',
|
||||
],
|
||||
],
|
||||
'json-ld' => [
|
||||
/*
|
||||
* The default configurations to be used by the json-ld generator.
|
||||
*/
|
||||
'defaults' => [
|
||||
'title' => 'XmrMemes', // set false to total remove
|
||||
'description' => 'Get paid in Monero for making awesome memes about Monero (XMR).', // set false to total remove
|
||||
'url' => false, // Set null for using Url::current(), set false to total remove
|
||||
'type' => 'WebPage',
|
||||
'images' => [],
|
||||
],
|
||||
],
|
||||
];
|
@ -4,22 +4,19 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
{!! SEOMeta::generate() !!}
|
||||
{!! OpenGraph::generate() !!}
|
||||
{!! JsonLd::generate() !!}
|
||||
<!-- CSRF Token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>{{ config('app.name', 'Laravel') }}</title>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="{{ asset('js/app.js') }}" defer></script>
|
||||
|
||||
<!-- Styles -->
|
||||
@if (Session::get('theme'))
|
||||
<link href="{{ url('') . mix('css/app_' . Session::get('theme') . '.css') }}" rel="stylesheet">
|
||||
@else
|
||||
<link href="{{ url('') . mix('css/app_light.css') }}" rel="stylesheet">
|
||||
@endif
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
Loading…
Reference in New Issue
Block a user