summaryrefslogtreecommitdiff
path: root/app/Console
diff options
context:
space:
mode:
authorhorus2021-02-11 22:57:49 +0100
committerhorus2021-02-11 22:57:49 +0100
commit87b5264cdc451f4268722e670a6f77d8e3d1c334 (patch)
treec3e3c3df1fff829af4a7af13fb61571824fba556 /app/Console
parentbfcf02cff93675eb6803ed0924dee7d5f04488e4 (diff)
downloadcurious-87b5264cdc451f4268722e670a6f77d8e3d1c334.tar.gz
Upgrade to Laravel 8.0 and generate sitemap.xml.
Diffstat (limited to 'app/Console')
-rw-r--r--app/Console/Commands/GenerateSitemap.php52
1 files changed, 52 insertions, 0 deletions
diff --git a/app/Console/Commands/GenerateSitemap.php b/app/Console/Commands/GenerateSitemap.php
new file mode 100644
index 0000000..46bb0ac
--- /dev/null
+++ b/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'));
+ }
+}