diff options
Diffstat (limited to 'ssh/app/Console')
| -rw-r--r-- | ssh/app/Console/Commands/GenerateSitemap.php | 52 | ||||
| -rw-r--r-- | ssh/app/Console/Kernel.php | 41 |
2 files changed, 93 insertions, 0 deletions
diff --git a/ssh/app/Console/Commands/GenerateSitemap.php b/ssh/app/Console/Commands/GenerateSitemap.php new file mode 100644 index 0000000..46bb0ac --- /dev/null +++ b/ssh/app/Console/Commands/GenerateSitemap.php @@ -0,0 +1,52 @@ +<?php + +namespace App\Console\Commands; + +use Illuminate\Console\Command; +use Spatie\Sitemap\SitemapGenerator; +use Psr\Http\Message\UriInterface; + +class GenerateSitemap extends Command +{ + /** + * The name and signature of the console command. + * + * @var string + */ + protected $signature = 'sitemap:generate'; + + /** + * The console command description. + * + * @var string + */ + protected $description = 'Generate the sitemap'; + + /** + * Create a new command instance. + * + * @return void + */ + public function __construct() + { + parent::__construct(); + } + + /** + * Execute the console command. + * + * @return int + */ + public function handle() + { + // modify this to your own needs + SitemapGenerator::create(config('app.url')) + ->shouldCrawl(function (UriInterface $url) { + /** + * Prevent the crawler from crawling the random pages. + */ + return strpos($url->getPath(), '/random') === false; + }) + ->writeToFile(public_path('sitemap.xml')); + } +} diff --git a/ssh/app/Console/Kernel.php b/ssh/app/Console/Kernel.php new file mode 100644 index 0000000..69914e9 --- /dev/null +++ b/ssh/app/Console/Kernel.php @@ -0,0 +1,41 @@ +<?php + +namespace App\Console; + +use Illuminate\Console\Scheduling\Schedule; +use Illuminate\Foundation\Console\Kernel as ConsoleKernel; + +class Kernel extends ConsoleKernel +{ + /** + * The Artisan commands provided by your application. + * + * @var array + */ + protected $commands = [ + // + ]; + + /** + * Define the application's command schedule. + * + * @param \Illuminate\Console\Scheduling\Schedule $schedule + * @return void + */ + protected function schedule(Schedule $schedule) + { + // $schedule->command('inspire')->hourly(); + } + + /** + * Register the commands for the application. + * + * @return void + */ + protected function commands() + { + $this->load(__DIR__.'/Commands'); + + require base_path('routes/console.php'); + } +} |
