diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index f7474e3..f365952 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -26,6 +26,7 @@ protected function schedule(Schedule $schedule): void
AISerpGenArticleJob::dispatch()->onQueue('default')->onConnection('default');
})->everyMinute()->when(function () use ($mins_between_posts, $launched_date) {
$minutes_since_launch = now()->diffInMinutes($launched_date);
+
return $minutes_since_launch % $mins_between_posts === 0;
});
diff --git a/app/Http/Controllers/Front/FrontPostController.php b/app/Http/Controllers/Front/FrontPostController.php
index a8d17e4..bff9b70 100644
--- a/app/Http/Controllers/Front/FrontPostController.php
+++ b/app/Http/Controllers/Front/FrontPostController.php
@@ -189,21 +189,26 @@ private function injectTableOfContents($html)
}
// Create the Table of Contents
- $toc = '
';
- $h2Elements->each(function (Crawler $node, $i) use (&$toc) {
- $content = $node->text();
- $id = 'link-'.$i; // Creating a simple id based on the index
- $node->getNode(0)->setAttribute('id', $id); // Set the id to the h2 tag
- $toc .= "- {$content}
";
+ $domDocument = $crawler->getNode(0)->ownerDocument;
+ $tocDiv = $domDocument->createElement('div');
+ $tocDiv->setAttribute('class', 'p-3 rounded-3 bg-light mb-3');
+ $ol = $domDocument->createElement('ol');
+ $tocDiv->appendChild($ol);
+
+ $h2Elements->each(function (Crawler $node, $i) use ($ol) {
+ $content = htmlspecialchars($node->text(), ENT_XML1 | ENT_COMPAT, 'UTF-8');
+ $id = 'link-'.$i;
+ $node->getNode(0)->setAttribute('id', $id);
+ $li = $ol->appendChild(new \DOMElement('li'));
+ $li->setAttribute('class', 'py-1');
+ $a = $li->appendChild(new \DOMElement('a', $content));
+ $a->setAttribute('class', 'text-decoration-none hover-text-decoration-underline');
+ $a->setAttribute('href', '#'.$id);
});
- $toc .= '
';
// Insert TOC after h1
- $domDocument = $crawler->getNode(0)->ownerDocument;
- $fragment = $domDocument->createDocumentFragment();
- $fragment->appendXML($toc);
$h1Node = $crawler->filter('h1')->getNode(0);
- $h1Node->parentNode->insertBefore($fragment, $h1Node->nextSibling);
+ $h1Node->parentNode->insertBefore($tocDiv, $h1Node->nextSibling);
// Get the updated HTML
$updatedHtml = $crawler->filter('body')->html();
diff --git a/app/Http/Controllers/Tests/TestController.php b/app/Http/Controllers/Tests/TestController.php
index d3170b7..01ec29b 100644
--- a/app/Http/Controllers/Tests/TestController.php
+++ b/app/Http/Controllers/Tests/TestController.php
@@ -4,22 +4,20 @@
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
-
use LaravelFreelancerNL\LaravelIndexNow\Facades\IndexNow;
use LaravelGoogleIndexing;
class TestController extends Controller
{
- public function indexing(Request $request)
- {
- $url = $request->input('url');
-
- if (is_null($url))
+ public function indexing(Request $request)
{
- abort(404);
- }
+ $url = $request->input('url');
- IndexNow::submit($url);
- LaravelGoogleIndexing::create()->update($url);
- }
+ if (is_null($url)) {
+ abort(404);
+ }
+
+ IndexNow::submit($url);
+ LaravelGoogleIndexing::create()->update($url);
+ }
}
diff --git a/app/Jobs/Tasks/GenerateArticleFeaturedImageTask.php b/app/Jobs/Tasks/GenerateArticleFeaturedImageTask.php
index 72ad9c2..10be8d5 100644
--- a/app/Jobs/Tasks/GenerateArticleFeaturedImageTask.php
+++ b/app/Jobs/Tasks/GenerateArticleFeaturedImageTask.php
@@ -17,12 +17,10 @@ public static function handle($post)
{
$keyword = $post->main_keyword;
- if (is_array($post->keywords))
- {
- if (count($post->keywords) > 0)
- {
- $keyword .= " " . implode(" ", $post->keywords);
- }
+ if (is_array($post->keywords)) {
+ if (count($post->keywords) > 0) {
+ $keyword .= ' '.implode(' ', $post->keywords);
+ }
}
$title = $post->short_title;
diff --git a/app/Jobs/Tasks/GetNewsSerpTask.php b/app/Jobs/Tasks/GetNewsSerpTask.php
index 26415ae..6ea6215 100644
--- a/app/Jobs/Tasks/GetNewsSerpTask.php
+++ b/app/Jobs/Tasks/GetNewsSerpTask.php
@@ -10,7 +10,6 @@
use Exception;
use Illuminate\Support\Facades\Log;
-
class GetNewsSerpTask
{
public static function handle(Category $category, $country_iso)
@@ -76,6 +75,7 @@ public static function handle(Category $category, $country_iso)
} catch (Exception $e) {
Log::error(json_encode($serp_obj));
inspector()->reportException($e);
+
return null;
}
diff --git a/app/Jobs/Tasks/ParseNewsSerpDomainsTask.php b/app/Jobs/Tasks/ParseNewsSerpDomainsTask.php
index 68d81ce..233e101 100644
--- a/app/Jobs/Tasks/ParseNewsSerpDomainsTask.php
+++ b/app/Jobs/Tasks/ParseNewsSerpDomainsTask.php
@@ -6,7 +6,6 @@
use App\Models\Category;
use App\Models\NewsSerpResult;
use App\Models\SerpUrl;
-use Carbon\Carbon;
use Exception;
class ParseNewsSerpDomainsTask
diff --git a/app/Jobs/Tasks/PublishIndexPostTask.php b/app/Jobs/Tasks/PublishIndexPostTask.php
index f66af4a..7228225 100644
--- a/app/Jobs/Tasks/PublishIndexPostTask.php
+++ b/app/Jobs/Tasks/PublishIndexPostTask.php
@@ -4,7 +4,6 @@
use App\Models\Post;
use Exception;
-
use LaravelFreelancerNL\LaravelIndexNow\Facades\IndexNow;
use LaravelGoogleIndexing;
diff --git a/routes/tests.php b/routes/tests.php
index 101c368..30e3f54 100644
--- a/routes/tests.php
+++ b/routes/tests.php
@@ -29,17 +29,15 @@
*/
Route::get('/now-minute', function (Request $request) {
- dd(now()->minute);
+ dd(now()->minute);
});
-
Route::get('/indexing', [App\Http\Controllers\Tests\TestController::class, 'indexing']);
Route::get('/serp-ai-gen', function (Request $request) {
- AISerpGenArticleJob::dispatch()->onQueue('default')->onConnection('default');
+ AISerpGenArticleJob::dispatch()->onQueue('default')->onConnection('default');
});
-
Route::get('/exponential', function (Request $request) {
$post_counts = get_exponential_posts_gen_by_day($request->input('day', 1));