-
PSR-15 · middleware-first architecture
+
PSR-15 . middleware-first architecture
A headless platform for building modern web applications
-
Dotkernel is a collection of open-source application skeletons built on Mezzio and Laminas — pre-configured and ready for anything from a presentation site to an enterprise-grade API.
+
Dotkernel is a collection of open-source application skeletons built on Mezzio and Laminas - pre-configured and ready for anything from a presentation site to an enterprise-grade API.
Runtime Mezzio + Laminas
-
Standards PSR-7 · PSR-11 · PSR-15
+
Standards PSR-7 . PSR-11 . PSR-15
License BSD-3-Clause
@@ -87,7 +87,7 @@
Headless Platform
Three applications, one platform
-
API, Admin, and Queue are designed to integrate into a single, unified headless platform — better together than the sum of their parts.
+
API, Admin, and Queue are designed to integrate into a single, unified headless platform - better together than the sum of their parts.
@@ -110,17 +110,17 @@
-
+
-
A ready-to-go admin skeleton for managing your platform's records with a simple, table-based approach — plus the tools to build reports and dashboards.
+
A ready-to-go admin skeleton for managing your platform's records with a simple, table-based approach - plus the tools to build reports and dashboards.
-
+
Asynchronous task queuing built on Symfony Messenger, wired into the Laminas Service Manager container via netglue/laminas-messenger.
@@ -159,17 +159,17 @@
-
+
-
Skeleton · Didactic
Light
+
Skeleton . Didactic
Light
-
A minimal, PSR-15 compliant skeleton built for learning purposes — a simple, didactic example of how to put together a basic website, not a Headless Platform component.
+
A minimal, PSR-15 compliant skeleton built for learning purposes - a simple, didactic example of how to put together a basic website, not a Headless Platform component.
-
+
-
Skeleton · Standalone
Frontend
+
Skeleton . Standalone
Frontend
-
A web starter skeleton for building frontend applications on Mezzio and Laminas — a standalone alternative, separate from the Headless Platform.
+
A web starter skeleton for building frontend applications on Mezzio and Laminas - a standalone alternative, separate from the Headless Platform.
GitHub
Demo
@@ -204,7 +204,7 @@
Components
Every layer, on its own
-
Small, independent dot-* packages — pull in what you need. Lifecycle status for each lives on the Packages Lifecycle page.
+
Small, independent dot-* packages - pull in what you need. Lifecycle status for each lives on the Packages Lifecycle page.
@@ -331,7 +331,7 @@
Control, scalability & performance you can build on.
-
Dotkernel is an open-source project created and led by the dev team at Apidemia — built first as an internal tool for handling complex architectures, now freely shared as our way of giving back to the community.
+
Dotkernel is an open-source project created and led by the dev team at Apidemia - built first as an internal tool for handling complex architectures, now freely shared as our way of giving back to the community.
diff --git a/src/App/templates/layout/default.html.twig b/src/App/templates/layout/default.html.twig
index 1cb743c6..b883c9b8 100644
--- a/src/App/templates/layout/default.html.twig
+++ b/src/App/templates/layout/default.html.twig
@@ -17,9 +17,10 @@
+
- {% block stylesheets %}
- {% endblock %}
+ {% block json_ld %}{% endblock %}
+ {% block stylesheets %}{% endblock %}
@@ -96,7 +97,7 @@
-
+
diff --git a/src/Blog/src/ConfigProvider.php b/src/Blog/src/ConfigProvider.php
index fef53825..593d84f0 100644
--- a/src/Blog/src/ConfigProvider.php
+++ b/src/Blog/src/ConfigProvider.php
@@ -99,6 +99,7 @@ private function getDoctrineConfig(): array
* @return array{
* paths: array{
* page: array{literal-string&non-falsy-string},
+ * jsonld: array{literal-string&non-falsy-string},
* }
* }
*/
@@ -106,7 +107,8 @@ private function getTemplates(): array
{
return [
'paths' => [
- 'page' => [__DIR__ . '/../templates/page'],
+ 'page' => [__DIR__ . '/../templates/page'],
+ 'jsonld' => [__DIR__ . '/../templates/page/JSON-LD'],
],
];
}
diff --git a/src/Blog/src/Handler/GetCategoryResourceHandler.php b/src/Blog/src/Handler/GetCategoryResourceHandler.php
index 9cf26d86..aca3b78f 100644
--- a/src/Blog/src/Handler/GetCategoryResourceHandler.php
+++ b/src/Blog/src/Handler/GetCategoryResourceHandler.php
@@ -6,6 +6,7 @@
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Diactoros\Response\HtmlResponse;
+use Light\App\Helper\Paginator;
use Light\Blog\Entity\Category;
use Light\Blog\Repository\CategoryRepository;
use Mezzio\Template\TemplateRendererInterface;
@@ -30,17 +31,23 @@ public function handle(ServerRequestInterface $request): ResponseInterface
if ($category === null) {
return $this->notFound($categories);
}
- $meta = $category;
- $categoryArticles = $this->categoryRepository->getCategoryPost($category);
+ $meta = $category;
+
+ $queryParams = $request->getQueryParams();
+ $params = Paginator::getParams($queryParams, 'articles.id');
+ $data = Paginator::wrapper(
+ $this->categoryRepository->getCategoryPost($category, $params),
+ $params
+ );
try {
$html = $this->template->render(
'page::category-resource',
[
- 'categories' => $categories,
- 'category' => $category,
- 'meta' => $meta,
- 'categoryArticles' => $categoryArticles,
+ 'categories' => $categories,
+ 'category' => $category,
+ 'meta' => $meta,
+ 'data' => $data,
]
);
return new HtmlResponse($html);
diff --git a/src/Blog/src/Repository/CategoryRepository.php b/src/Blog/src/Repository/CategoryRepository.php
index fda5d0b4..ed8088f1 100644
--- a/src/Blog/src/Repository/CategoryRepository.php
+++ b/src/Blog/src/Repository/CategoryRepository.php
@@ -4,6 +4,7 @@
namespace Light\Blog\Repository;
+use Doctrine\ORM\Tools\Pagination\Paginator as DoctrinePaginator;
use Light\App\Repository\AbstractRepository;
use Light\Blog\Entity\Category;
use Light\Blog\Entity\Post;
@@ -37,19 +38,22 @@ public function getCategoryResource(string $slug): ?Category
}
/**
- * @return array
+ * @param array $params
+ * @return DoctrinePaginator
*/
- public function getCategoryPost(Category $category): array
+ public function getCategoryPost(Category $category, array $params): DoctrinePaginator
{
$qb = $this->getQueryBuilder()
->select('articles')
->from(Post::class, 'articles')
->where('articles.category = :category')
->andWhere('articles.status = :published')
- ->orderBy('articles.postDate', 'DESC')
+ ->setParameter('category', $category)
->setParameter('published', PostStatusEnum::Published)
- ->setParameter('category', $category);
+ ->orderBy('articles.postDate', $params['dir'])
+ ->setFirstResult($params['offset'])
+ ->setMaxResults($params['limit']);
- return $qb->getQuery()->getResult();
+ return new DoctrinePaginator($qb->getQuery());
}
}
diff --git a/src/Blog/templates/page/JSON-LD/android/listen-for-android-install-referrer.jsonld.twig b/src/Blog/templates/page/JSON-LD/android/listen-for-android-install-referrer.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/android/listen-for-android-install-referrer.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/android/multiple-broadcast-receivers-in-the-same-app-for-the-same-action.jsonld.twig b/src/Blog/templates/page/JSON-LD/android/multiple-broadcast-receivers-in-the-same-app-for-the-same-action.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/android/multiple-broadcast-receivers-in-the-same-app-for-the-same-action.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/architecture/configprovider-bootstrap-modern-php-applications.jsonld.twig b/src/Blog/templates/page/JSON-LD/architecture/configprovider-bootstrap-modern-php-applications.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/architecture/configprovider-bootstrap-modern-php-applications.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/architecture/request-lifecycle-for-a-mezzio-based-application.jsonld.twig b/src/Blog/templates/page/JSON-LD/architecture/request-lifecycle-for-a-mezzio-based-application.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/architecture/request-lifecycle-for-a-mezzio-based-application.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/architecture/understanding-middleware.jsonld.twig b/src/Blog/templates/page/JSON-LD/architecture/understanding-middleware.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/architecture/understanding-middleware.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/author-resource.jsonld.twig b/src/Blog/templates/page/JSON-LD/author-resource.jsonld.twig
new file mode 100644
index 00000000..d3430087
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/author-resource.jsonld.twig
@@ -0,0 +1,28 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/aptana-set-svn-keywords.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/aptana-set-svn-keywords.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/aptana-set-svn-keywords.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/basic-security-in-dotkernel-headless-platform.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/basic-security-in-dotkernel-headless-platform.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/basic-security-in-dotkernel-headless-platform.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/golden-rules-of-professional-php-coding.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/golden-rules-of-professional-php-coding.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/golden-rules-of-professional-php-coding.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/htaccess-301-redirect-non-www-to-www.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/htaccess-301-redirect-non-www-to-www.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/htaccess-301-redirect-non-www-to-www.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/insert-update-delete-statements-with-zend-db.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/insert-update-delete-statements-with-zend-db.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/insert-update-delete-statements-with-zend-db.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/sql-queries-using-zend-db-select.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/sql-queries-using-zend-db-select.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/sql-queries-using-zend-db-select.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/subqueries-with-zend-db.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/subqueries-with-zend-db.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/subqueries-with-zend-db.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/svn-export-in-a-virtual-host.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/svn-export-in-a-virtual-host.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/svn-export-in-a-virtual-host.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/svn-keywords-setup-in-php-ide-zend-studio.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/svn-keywords-setup-in-php-ide-zend-studio.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/svn-keywords-setup-in-php-ide-zend-studio.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/using-like-wildcards-with-zend-db.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/using-like-wildcards-with-zend-db.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/using-like-wildcards-with-zend-db.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/what-are-returning-the-fetch-functions-from-zend-db.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/what-are-returning-the-fetch-functions-from-zend-db.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/what-are-returning-the-fetch-functions-from-zend-db.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/why-use-current-timestamp-on-a-field-that-record-date-time.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/why-use-current-timestamp-on-a-field-that-record-date-time.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/why-use-current-timestamp-on-a-field-that-record-date-time.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/best-practice/zf-is-retired-laminas-mvc-is-retiring-consider-it-solved.jsonld.twig b/src/Blog/templates/page/JSON-LD/best-practice/zf-is-retired-laminas-mvc-is-retiring-consider-it-solved.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/best-practice/zf-is-retired-laminas-mvc-is-retiring-consider-it-solved.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/blog.jsonld.twig b/src/Blog/templates/page/JSON-LD/blog.jsonld.twig
new file mode 100644
index 00000000..37d0d5c0
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/blog.jsonld.twig
@@ -0,0 +1,24 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/categories.jsonld.twig b/src/Blog/templates/page/JSON-LD/categories.jsonld.twig
new file mode 100644
index 00000000..7e31ae27
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/categories.jsonld.twig
@@ -0,0 +1,24 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/category-resource.jsonld.twig b/src/Blog/templates/page/JSON-LD/category-resource.jsonld.twig
new file mode 100644
index 00000000..25566e06
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/category-resource.jsonld.twig
@@ -0,0 +1,23 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/contact.jsonld.twig b/src/Blog/templates/page/JSON-LD/contact.jsonld.twig
new file mode 100644
index 00000000..b48068da
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/contact.jsonld.twig
@@ -0,0 +1,10 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/api-client-migration-from-postman-to-bruno.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/api-client-migration-from-postman-to-bruno.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/api-client-migration-from-postman-to-bruno.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/api-endpoint-to-collect-client-errors.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/api-endpoint-to-collect-client-errors.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/api-endpoint-to-collect-client-errors.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/content-negotiation-in-dotkernel-rest-api.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/content-negotiation-in-dotkernel-rest-api.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/content-negotiation-in-dotkernel-rest-api.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-1-0-0-released.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-1-0-0-released.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-1-0-0-released.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-client-side-authorization.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-client-side-authorization.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-client-side-authorization.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-server-side-authorization.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-server-side-authorization.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-server-side-authorization.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-versus-laminas-api-tools.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-versus-laminas-api-tools.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/dotkernel-api-versus-laminas-api-tools.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/error-reporting-endpoint-in-dotkernel-api.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/error-reporting-endpoint-in-dotkernel-api.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/error-reporting-endpoint-in-dotkernel-api.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-api/openapi-implementation-in-dotkernel-api.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-api/openapi-implementation-in-dotkernel-api.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-api/openapi-implementation-in-dotkernel-api.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel-packages-oss-lifecycle.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel-packages-oss-lifecycle.jsonld.twig
new file mode 100644
index 00000000..b9c8efbd
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel-packages-oss-lifecycle.jsonld.twig
@@ -0,0 +1,10 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/adding-a-cors-implementation-to-zend-expressive.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/adding-a-cors-implementation-to-zend-expressive.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/adding-a-cors-implementation-to-zend-expressive.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/adding-a-second-caching-layer-to-wurfl-in-dotkernel-using-apc.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/adding-a-second-caching-layer-to-wurfl-in-dotkernel-using-apc.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/adding-a-second-caching-layer-to-wurfl-in-dotkernel-using-apc.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/adding-composer-support-in-your-dotkernel-project.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/adding-composer-support-in-your-dotkernel-project.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/adding-composer-support-in-your-dotkernel-project.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/adding-windows-10-os-and-browser-detection-in-dotkernel-projects.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/adding-windows-10-os-and-browser-detection-in-dotkernel-projects.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/adding-windows-10-os-and-browser-detection-in-dotkernel-projects.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/autologin-using-cookie-remember-me-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/autologin-using-cookie-remember-me-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/autologin-using-cookie-remember-me-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/avoid-routing-through-bootstrap-of-non-existent-files.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/avoid-routing-through-bootstrap-of-non-existent-files.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/avoid-routing-through-bootstrap-of-non-existent-files.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/caching-in-dotkernel-using-zend-framework.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/caching-in-dotkernel-using-zend-framework.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/caching-in-dotkernel-using-zend-framework.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/camelcase-table-names-in-mysql-on-windows.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/camelcase-table-names-in-mysql-on-windows.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/camelcase-table-names-in-mysql-on-windows.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/commitment-to-php-new-zend-certified-engineers-zce-in-our-team.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/commitment-to-php-new-zend-certified-engineers-zce-in-our-team.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/commitment-to-php-new-zend-certified-engineers-zce-in-our-team.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/configuring-the-cache-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/configuring-the-cache-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/configuring-the-cache-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dependency-injection-made-easy-in-laminas-mezzio-applications.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dependency-injection-made-easy-in-laminas-mezzio-applications.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dependency-injection-made-easy-in-laminas-mezzio-applications.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/detecting-mobile-devices-in-dotkernel-1-6-0.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/detecting-mobile-devices-in-dotkernel-1-6-0.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/detecting-mobile-devices-in-dotkernel-1-6-0.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/disable-wurfl-redirect-for-mobile-browsers.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/disable-wurfl-redirect-for-mobile-browsers.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/disable-wurfl-redirect-for-mobile-browsers.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/disambiguation-dotkernel-1-and-dotkernel-3.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/disambiguation-dotkernel-1-and-dotkernel-3.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/disambiguation-dotkernel-1-and-dotkernel-3.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/doctrine-cache-using-symfony-cache.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/doctrine-cache-using-symfony-cache.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/doctrine-cache-using-symfony-cache.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/doctrine-enum-implementation-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/doctrine-enum-implementation-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/doctrine-enum-implementation-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-2-0-release.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-2-0-release.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-2-0-release.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-2-2-release.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-2-2-release.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-2-2-release.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-3-0-release.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-3-0-release.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-3-0-release.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-3-2-release.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-3-2-release.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-3-2-release.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-5-0-released.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-5-0-released.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-5-0-released.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-8-0-lts-released.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-8-0-lts-released.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-8-0-lts-released.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-8-1-upgrade-from-1-8-0-released.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-8-1-upgrade-from-1-8-0-released.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-1-8-1-upgrade-from-1-8-0-released.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-coding-standard.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-coding-standard.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-coding-standard.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-database-naming-conventions-for-mysql.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-database-naming-conventions-for-mysql.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-database-naming-conventions-for-mysql.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-light-starting-with-mezzio-microframework-and-laminas-components.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-light-starting-with-mezzio-microframework-and-laminas-components.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-light-starting-with-mezzio-microframework-and-laminas-components.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-light-the-best-choice-for-your-presentation-site.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-light-the-best-choice-for-your-presentation-site.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-light-the-best-choice-for-your-presentation-site.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-on-nginx.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-on-nginx.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-on-nginx.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-reserved-variable-names-for-caching.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-reserved-variable-names-for-caching.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-reserved-variable-names-for-caching.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-template-engine.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-template-engine.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-template-engine.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-version-1-0-in-action.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-version-1-0-in-action.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/dotkernel-version-1-0-in-action.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/forcing-utf8-connections-and-character-set-in-mysql.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/forcing-utf8-connections-and-character-set-in-mysql.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/forcing-utf8-connections-and-character-set-in-mysql.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/geoip-city-removed-from-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/geoip-city-removed-from-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/geoip-city-removed-from-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/geoip-ip-address-location-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/geoip-ip-address-location-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/geoip-ip-address-location-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/handling-and-logging-errors-with-dot-errorhandler-and-dot-log.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/handling-and-logging-errors-with-dot-errorhandler-and-dot-log.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/handling-and-logging-errors-with-dot-errorhandler-and-dot-log.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/highcharts-integration-in-dotkernel-1-6-0.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/highcharts-integration-in-dotkernel-1-6-0.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/highcharts-integration-in-dotkernel-1-6-0.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/how-to-group-log-files-by-date-using-dot-log.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/how-to-group-log-files-by-date-using-dot-log.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/how-to-group-log-files-by-date-using-dot-log.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/how-to-set-a-persistent-connection-to-database-with-zend-framework-zend-db-adapter.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/how-to-set-a-persistent-connection-to-database-with-zend-framework-zend-db-adapter.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/how-to-set-a-persistent-connection-to-database-with-zend-framework-zend-db-adapter.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/how-to-use-alerts-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/how-to-use-alerts-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/how-to-use-alerts-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/implementing-the-new-password-hashing-api-from-php-5-5-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/implementing-the-new-password-hashing-api-from-php-5-5-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/implementing-the-new-password-hashing-api-from-php-5-5-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/installing-geoip-extension-in-zend-server-5-6-on-windows.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/installing-geoip-extension-in-zend-server-5-6-on-windows.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/installing-geoip-extension-in-zend-server-5-6-on-windows.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/installing-geoip-extension-in-zend-server-6-on-windows.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/installing-geoip-extension-in-zend-server-6-on-windows.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/installing-geoip-extension-in-zend-server-6-on-windows.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/logging-with-dot-log-in-zend-expressive-and-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/logging-with-dot-log-in-zend-expressive-and-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/logging-with-dot-log-in-zend-expressive-and-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/manual-upgrade-of-wurfl-xml-file-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/manual-upgrade-of-wurfl-xml-file-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/manual-upgrade-of-wurfl-xml-file-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/migration-of-zend-framework-1-pear-channel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/migration-of-zend-framework-1-pear-channel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/migration-of-zend-framework-1-pear-channel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/new-features-in-zend-framework-1-12.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/new-features-in-zend-framework-1-12.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/new-features-in-zend-framework-1-12.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/php-formatter-and-templates-for-zend-studio-10-1.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/php-formatter-and-templates-for-zend-studio-10-1.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/php-formatter-and-templates-for-zend-studio-10-1.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/protecting-admin-folder-with-htaccess-in-plesk.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/protecting-admin-folder-with-htaccess-in-plesk.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/protecting-admin-folder-with-htaccess-in-plesk.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/replacing-laminas-mail-with-symfony-mailer-in-dot-mail.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/replacing-laminas-mail-with-symfony-mailer-in-dot-mail.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/replacing-laminas-mail-with-symfony-mailer-in-dot-mail.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/scientia-mobile-licensed-its-wurfl-cloud-php-library-to-dotkernel-1-6.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/scientia-mobile-licensed-its-wurfl-cloud-php-library-to-dotkernel-1-6.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/scientia-mobile-licensed-its-wurfl-cloud-php-library-to-dotkernel-1-6.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/sending-emails-using-dot-email-component-and-zend-email.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/sending-emails-using-dot-email-component-and-zend-email.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/sending-emails-using-dot-email-component-and-zend-email.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/templating-in-dotkernel3.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/templating-in-dotkernel3.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/templating-in-dotkernel3.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/using-dotkernel-with-composer-dependencies.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/using-dotkernel-with-composer-dependencies.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/using-dotkernel-with-composer-dependencies.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/using-utf8-charset-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/using-utf8-charset-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/using-utf8-charset-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-cloud-integration-in-dotkernel-1-6-0.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-cloud-integration-in-dotkernel-1-6-0.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-cloud-integration-in-dotkernel-1-6-0.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-php-api-license-incompatible-with-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-php-api-license-incompatible-with-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-php-api-license-incompatible-with-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-zend-framework-integration-into-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-zend-framework-integration-into-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/wurfl-zend-framework-integration-into-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/zend-auth-and-zend-acl-integrated-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/zend-auth-and-zend-acl-integrated-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/zend-auth-and-zend-acl-integrated-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/zend-console-implementation-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/zend-console-implementation-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/zend-console-implementation-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/zend-framework-dropped-integration-of-wurfl-adapter.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/zend-framework-dropped-integration-of-wurfl-adapter.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/zend-framework-dropped-integration-of-wurfl-adapter.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/zend-registry-usage-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/zend-registry-usage-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/zend-registry-usage-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/zend-session-usage-in-dotkernel-refactor-of-dot-session-class.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/zend-session-usage-in-dotkernel-refactor-of-dot-session-class.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/zend-session-usage-in-dotkernel-refactor-of-dot-session-class.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel/zend-studio-php-formatter-file-for-dotkernel-coding-standard.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel/zend-studio-php-formatter-file-for-dotkernel-coding-standard.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel/zend-studio-php-formatter-file-for-dotkernel-coding-standard.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/development-report-december-11-2017.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/development-report-december-11-2017.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/development-report-december-11-2017.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-admin-v4.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-admin-v4.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-admin-v4.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-admin-version-3-launched.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-admin-version-3-launched.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-admin-version-3-launched.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-api-architecture-and-components.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-api-architecture-and-components.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-api-architecture-and-components.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-frontend-version-3-launched.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-frontend-version-3-launched.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel-frontend-version-3-launched.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel3-stable-release-version-1-0.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel3-stable-release-version-1-0.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/dotkernel3-stable-release-version-1-0.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-admin.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-admin.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-admin.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-api.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-api.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-api.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-frontend.jsonld.twig b/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-frontend.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/dotkernel3/php-8-3-support-in-dotkernel-frontend.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/complementary-admin-in-dotkernel-headless-platform.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/complementary-admin-in-dotkernel-headless-platform.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/complementary-admin-in-dotkernel-headless-platform.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-api-v6-the-root-of-dotkernel-headless-platform.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-api-v6-the-root-of-dotkernel-headless-platform.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-api-v6-the-root-of-dotkernel-headless-platform.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-headless-platform-the-whats-hows-and-whys.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-headless-platform-the-whats-hows-and-whys.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-headless-platform-the-whats-hows-and-whys.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-queue-asynchronous-execution-in-dotkernel-headless-platform.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-queue-asynchronous-execution-in-dotkernel-headless-platform.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/dotkernel-queue-asynchronous-execution-in-dotkernel-headless-platform.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/dotmaker-generate-common-code-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/dotmaker-generate-common-code-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/dotmaker-generate-common-code-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/evolution-pattern-versus-api-versioning.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/evolution-pattern-versus-api-versioning.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/evolution-pattern-versus-api-versioning.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/implementing-time-based-one-time-password-totp-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/implementing-time-based-one-time-password-totp-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/implementing-time-based-one-time-password-totp-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/shared-core-submodule-in-dotkernel-headless-platform.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/shared-core-submodule-in-dotkernel-headless-platform.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/shared-core-submodule-in-dotkernel-headless-platform.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/headless-platform/version-7-adds-postgresql-native-uuid-and-php-8-5.jsonld.twig b/src/Blog/templates/page/JSON-LD/headless-platform/version-7-adds-postgresql-native-uuid-and-php-8-5.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/headless-platform/version-7-adds-postgresql-native-uuid-and-php-8-5.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/cors-policy-setup-in-dotkernel-using-mezzio-cors.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/cors-policy-setup-in-dotkernel-using-mezzio-cors.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/cors-policy-setup-in-dotkernel-using-mezzio-cors.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/creating-admin-accounts-in-dotkernel-api.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/creating-admin-accounts-in-dotkernel-api.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/creating-admin-accounts-in-dotkernel-api.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/database-migrations-and-how-to-use-them.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/database-migrations-and-how-to-use-them.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/database-migrations-and-how-to-use-them.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/doctrine-cache-in-mezzio-and-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/doctrine-cache-in-mezzio-and-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/doctrine-cache-in-mezzio-and-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/generating-a-doctrine-migration-without-dropping-custom-tables.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/generating-a-doctrine-migration-without-dropping-custom-tables.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/generating-a-doctrine-migration-without-dropping-custom-tables.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/implementation-of-seo-friendly-url-in-an-generic-laminas-mezzio-app.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/implementation-of-seo-friendly-url-in-an-generic-laminas-mezzio-app.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/implementation-of-seo-friendly-url-in-an-generic-laminas-mezzio-app.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/installing-almalinux-10-in-wsl2-php-mariadb-composer-phpmyadmin.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/installing-almalinux-10-in-wsl2-php-mariadb-composer-phpmyadmin.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/installing-almalinux-10-in-wsl2-php-mariadb-composer-phpmyadmin.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/list-available-endpoints-in-dotkernel-api-using-dot-cli.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/list-available-endpoints-in-dotkernel-api-using-dot-cli.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/list-available-endpoints-in-dotkernel-api-using-dot-cli.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/migrating-dotkernel-3-from-zend-expressive-2-to-zend-expressive-3.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/migrating-dotkernel-3-from-zend-expressive-2-to-zend-expressive-3.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/migrating-dotkernel-3-from-zend-expressive-2-to-zend-expressive-3.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/using-postman-for-documentation-in-dotkernel-api-3.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/using-postman-for-documentation-in-dotkernel-api-3.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/using-postman-for-documentation-in-dotkernel-api-3.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/using-the-urlgenerator-work-in-fastroute.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/using-the-urlgenerator-work-in-fastroute.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/using-the-urlgenerator-work-in-fastroute.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/what-is-cross-origin-token-redemption.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/what-is-cross-origin-token-redemption.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/what-is-cross-origin-token-redemption.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/how-to/what-is-psr-7-and-how-to-use-it.jsonld.twig b/src/Blog/templates/page/JSON-LD/how-to/what-is-psr-7-and-how-to-use-it.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/how-to/what-is-psr-7-and-how-to-use-it.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/javascript/codelobster-php-edition-free-php-html-css-javascript-editor-ide.jsonld.twig b/src/Blog/templates/page/JSON-LD/javascript/codelobster-php-edition-free-php-html-css-javascript-editor-ide.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/javascript/codelobster-php-edition-free-php-html-css-javascript-editor-ide.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/javascript/intro-to-jquery.jsonld.twig b/src/Blog/templates/page/JSON-LD/javascript/intro-to-jquery.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/javascript/intro-to-jquery.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/javascript/javascript-email-validator.jsonld.twig b/src/Blog/templates/page/JSON-LD/javascript/javascript-email-validator.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/javascript/javascript-email-validator.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/licensing/mit-versus-lgpl-in-practice-dotkernel-case.jsonld.twig b/src/Blog/templates/page/JSON-LD/licensing/mit-versus-lgpl-in-practice-dotkernel-case.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/licensing/mit-versus-lgpl-in-practice-dotkernel-case.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/middleware/dotkernel-light-improvements-psr-15-handlers-vite-phpstan.jsonld.twig b/src/Blog/templates/page/JSON-LD/middleware/dotkernel-light-improvements-psr-15-handlers-vite-phpstan.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/middleware/dotkernel-light-improvements-psr-15-handlers-vite-phpstan.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/middleware/handling-dynamic-routing-using-fastroute-in-dotkernel.jsonld.twig b/src/Blog/templates/page/JSON-LD/middleware/handling-dynamic-routing-using-fastroute-in-dotkernel.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/middleware/handling-dynamic-routing-using-fastroute-in-dotkernel.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/middleware/replacing-controllers-with-psr-15-compliant-handlers-in-dotkernel-light.jsonld.twig b/src/Blog/templates/page/JSON-LD/middleware/replacing-controllers-with-psr-15-compliant-handlers-in-dotkernel-light.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/middleware/replacing-controllers-with-psr-15-compliant-handlers-in-dotkernel-light.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/almalinux-9-in-wsl2-install-php-apache-mariadb-composer-phpmyadmin.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/almalinux-9-in-wsl2-install-php-apache-mariadb-composer-phpmyadmin.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/almalinux-9-in-wsl2-install-php-apache-mariadb-composer-phpmyadmin.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/aptana-php-installation-in-aptana-2-x.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/aptana-php-installation-in-aptana-2-x.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/aptana-php-installation-in-aptana-2-x.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/better-unicode-support-in-mysql-5-5-utf8mb4.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/better-unicode-support-in-mysql-5-5-utf8mb4.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/better-unicode-support-in-mysql-5-5-utf8mb4.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/database-seeding-doctrine-data-fixtures-vs-phinx.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/database-seeding-doctrine-data-fixtures-vs-phinx.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/database-seeding-doctrine-data-fixtures-vs-phinx.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/end-of-support-for-php-5-2-x-branch.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/end-of-support-for-php-5-2-x-branch.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/end-of-support-for-php-5-2-x-branch.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/floating-point-arithmetic-why-is-int-0-7-0-1-10-7.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/floating-point-arithmetic-why-is-int-0-7-0-1-10-7.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/floating-point-arithmetic-why-is-int-0-7-0-1-10-7.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/how-to-upgrade-wamp-to-php-5-3-4.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/how-to-upgrade-wamp-to-php-5-3-4.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/how-to-upgrade-wamp-to-php-5-3-4.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/mezzio-app-development-in-wsl2.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/mezzio-app-development-in-wsl2.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/mezzio-app-development-in-wsl2.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/php-5-3-6-released-no-upgrade-possible-for-wampserver.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/php-5-3-6-released-no-upgrade-possible-for-wampserver.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/php-5-3-6-released-no-upgrade-possible-for-wampserver.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/php-environment-development-staging-production.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/php-environment-development-staging-production.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/php-environment-development-staging-production.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/php-support-back-in-aptana-3-0.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/php-support-back-in-aptana-3-0.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/php-support-back-in-aptana-3-0.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/protection-against-sql-injection-using-pdo-and-zend-framework-part-2.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/protection-against-sql-injection-using-pdo-and-zend-framework-part-2.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/protection-against-sql-injection-using-pdo-and-zend-framework-part-2.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/protection-against-sql-injection-using-pdo-and-zend-framework.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/protection-against-sql-injection-using-pdo-and-zend-framework.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/protection-against-sql-injection-using-pdo-and-zend-framework.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/remote-connections-to-mysql-server-on-plesk-based-servers.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/remote-connections-to-mysql-server-on-plesk-based-servers.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/remote-connections-to-mysql-server-on-plesk-based-servers.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/static-analysis-replacing-psalm-with-phpstan.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/static-analysis-replacing-psalm-with-phpstan.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/static-analysis-replacing-psalm-with-phpstan.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/using-aptana-to-connect-to-dotkernel-tracker-mantis.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/using-aptana-to-connect-to-dotkernel-tracker-mantis.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/using-aptana-to-connect-to-dotkernel-tracker-mantis.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/using-php-7-express-in-zend-studio-13.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/using-php-7-express-in-zend-studio-13.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/using-php-7-express-in-zend-studio-13.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/version-control-ignore-patterns-in-zend-studio.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/version-control-ignore-patterns-in-zend-studio.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/version-control-ignore-patterns-in-zend-studio.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/welcome-to-the-10th-zend-certified-engineer-in-dotboost-team.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/welcome-to-the-10th-zend-certified-engineer-in-dotboost-team.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/welcome-to-the-10th-zend-certified-engineer-in-dotboost-team.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-development/zend-server-5-5-quick-setup-on-windows.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-development/zend-server-5-5-quick-setup-on-windows.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-development/zend-server-5-5-quick-setup-on-windows.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-troubleshooting/fix-installing-pear-packages-with-php-7-2.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-troubleshooting/fix-installing-pear-packages-with-php-7-2.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-troubleshooting/fix-installing-pear-packages-with-php-7-2.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/php-troubleshooting/where-is-the-intl-php-extension-problem-solved.jsonld.twig b/src/Blog/templates/page/JSON-LD/php-troubleshooting/where-is-the-intl-php-extension-problem-solved.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/php-troubleshooting/where-is-the-intl-php-extension-problem-solved.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/phpstorm/code-quality-how-to-setup-phpcs-in-phpstorm.jsonld.twig b/src/Blog/templates/page/JSON-LD/phpstorm/code-quality-how-to-setup-phpcs-in-phpstorm.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/phpstorm/code-quality-how-to-setup-phpcs-in-phpstorm.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/zend-framework/scienta-zf-debug-bar-a-very-helpfull-zf-debug-tool.jsonld.twig b/src/Blog/templates/page/JSON-LD/zend-framework/scienta-zf-debug-bar-a-very-helpfull-zf-debug-tool.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/zend-framework/scienta-zf-debug-bar-a-very-helpfull-zf-debug-tool.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/zend-framework/sunsetting-pear-channel-for-zend-framework-1.jsonld.twig b/src/Blog/templates/page/JSON-LD/zend-framework/sunsetting-pear-channel-for-zend-framework-1.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/zend-framework/sunsetting-pear-channel-for-zend-framework-1.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/zend-framework/wurfl-php-api-libraries-gpl-versions.jsonld.twig b/src/Blog/templates/page/JSON-LD/zend-framework/wurfl-php-api-libraries-gpl-versions.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/zend-framework/wurfl-php-api-libraries-gpl-versions.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-12-4-released-with-security-fixes.jsonld.twig b/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-12-4-released-with-security-fixes.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-12-4-released-with-security-fixes.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-7-0-released.jsonld.twig b/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-7-0-released.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-7-0-released.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-end-of-life.jsonld.twig b/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-end-of-life.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-1-end-of-life.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-as-pear-accessible-repository-on-plesk-server.jsonld.twig b/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-as-pear-accessible-repository-on-plesk-server.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/zend-framework/zend-framework-as-pear-accessible-repository-on-plesk-server.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/JSON-LD/zend-framework/zend-mail-and-zend-http-security-fixes-in-zend-framework-1-12-12.jsonld.twig b/src/Blog/templates/page/JSON-LD/zend-framework/zend-mail-and-zend-http-security-fixes-in-zend-framework-1-12-12.jsonld.twig
new file mode 100644
index 00000000..920a2e2a
--- /dev/null
+++ b/src/Blog/templates/page/JSON-LD/zend-framework/zend-mail-and-zend-http-security-fixes-in-zend-framework-1-12-12.jsonld.twig
@@ -0,0 +1,27 @@
+
diff --git a/src/Blog/templates/page/author-resource.html.twig b/src/Blog/templates/page/author-resource.html.twig
index 95f99b8d..943f16f2 100644
--- a/src/Blog/templates/page/author-resource.html.twig
+++ b/src/Blog/templates/page/author-resource.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/author-resource.jsonld.twig') }} {% endblock %}
{% block title %}{{ author.name }}{% endblock %}
@@ -31,26 +32,21 @@
{{ include('@partial/left-menu.html.twig') }}
-
+
diff --git a/src/Blog/templates/page/blog-resource/android/multiple-broadcast-receivers-in-the-same-app-for-the-same-action.html.twig b/src/Blog/templates/page/blog-resource/android/multiple-broadcast-receivers-in-the-same-app-for-the-same-action.html.twig
index b491a0e8..645c1fbd 100644
--- a/src/Blog/templates/page/blog-resource/android/multiple-broadcast-receivers-in-the-same-app-for-the-same-action.html.twig
+++ b/src/Blog/templates/page/blog-resource/android/multiple-broadcast-receivers-in-the-same-app-for-the-same-action.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/android/multiple-broadcast-receivers-in-the-same-app-for-the-same-action.jsonld.twig') }} {% endblock %}
{% block title %}Multiple broadcast receivers in the same app, for the same action{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/architecture/configprovider-bootstrap-modern-php-applications.html.twig b/src/Blog/templates/page/blog-resource/architecture/configprovider-bootstrap-modern-php-applications.html.twig
index 3e2a50ff..5c51c4c0 100644
--- a/src/Blog/templates/page/blog-resource/architecture/configprovider-bootstrap-modern-php-applications.html.twig
+++ b/src/Blog/templates/page/blog-resource/architecture/configprovider-bootstrap-modern-php-applications.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/architecture/configprovider-bootstrap-modern-php-applications.jsonld.twig') }} {% endblock %}
{% block title %}ConfigProvider - Bootstrap Modern PHP Applications{% endblock %}
@@ -14,7 +15,7 @@
@@ -115,7 +116,7 @@
Below you can see how Mezzio and Dotkernel merge and use ConfigProviders to build the middleware pipeline and dependencies.
-
+
Benefits
diff --git a/src/Blog/templates/page/blog-resource/architecture/request-lifecycle-for-a-mezzio-based-application.html.twig b/src/Blog/templates/page/blog-resource/architecture/request-lifecycle-for-a-mezzio-based-application.html.twig
index 14617e2b..4bca20b3 100644
--- a/src/Blog/templates/page/blog-resource/architecture/request-lifecycle-for-a-mezzio-based-application.html.twig
+++ b/src/Blog/templates/page/blog-resource/architecture/request-lifecycle-for-a-mezzio-based-application.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/architecture/request-lifecycle-for-a-mezzio-based-application.jsonld.twig') }} {% endblock %}
{% block title %}Request Lifecycle for a Mezzio-Based Application{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/architecture/understanding-middleware.html.twig b/src/Blog/templates/page/blog-resource/architecture/understanding-middleware.html.twig
index d3756f2f..8f45fea1 100644
--- a/src/Blog/templates/page/blog-resource/architecture/understanding-middleware.html.twig
+++ b/src/Blog/templates/page/blog-resource/architecture/understanding-middleware.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/architecture/understanding-middleware.jsonld.twig') }} {% endblock %}
{% block title %}Understanding Middleware{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/aptana-set-svn-keywords.html.twig b/src/Blog/templates/page/blog-resource/best-practice/aptana-set-svn-keywords.html.twig
index 7b324c35..311d3646 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/aptana-set-svn-keywords.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/aptana-set-svn-keywords.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/aptana-set-svn-keywords.jsonld.twig') }} {% endblock %}
{% block title %}Aptana - set SVN keywords{% endblock %}
@@ -14,7 +15,7 @@
@@ -36,19 +37,19 @@ For example if you want to set the svn keyword property
Id <
In the file where you want to add the svn keyword property write $Id$
-
+
Right click on the file, then follow Team -> Set Property... Note* : Set Property... will not be active if you haven't first added the file to SVN: Team ->Add to Version Controller
-
+
Select svn:keywords , and write Id in the text field
-
+
When you make the SVN commit of the file, the $Id$ keyword will be replaced with text in the format shown below:
-
+
{{ include('@partial/post-nav.html.twig') }}
diff --git a/src/Blog/templates/page/blog-resource/best-practice/basic-security-in-dotkernel-headless-platform.html.twig b/src/Blog/templates/page/blog-resource/best-practice/basic-security-in-dotkernel-headless-platform.html.twig
index ac08c715..0ba39833 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/basic-security-in-dotkernel-headless-platform.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/basic-security-in-dotkernel-headless-platform.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/basic-security-in-dotkernel-headless-platform.jsonld.twig') }} {% endblock %}
{% block title %}Basic Security in Dotkernel Headless Platform{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/golden-rules-of-professional-php-coding.html.twig b/src/Blog/templates/page/blog-resource/best-practice/golden-rules-of-professional-php-coding.html.twig
index e6bd8b1d..88bfb08a 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/golden-rules-of-professional-php-coding.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/golden-rules-of-professional-php-coding.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/golden-rules-of-professional-php-coding.jsonld.twig') }} {% endblock %}
{% block title %}Golden Rules of Professional PHP Coding{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/htaccess-301-redirect-non-www-to-www.html.twig b/src/Blog/templates/page/blog-resource/best-practice/htaccess-301-redirect-non-www-to-www.html.twig
index 7414e309..50845946 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/htaccess-301-redirect-non-www-to-www.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/htaccess-301-redirect-non-www-to-www.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/htaccess-301-redirect-non-www-to-www.jsonld.twig') }} {% endblock %}
{% block title %}htaccess 301 redirect non-www to www{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/insert-update-delete-statements-with-zend-db.html.twig b/src/Blog/templates/page/blog-resource/best-practice/insert-update-delete-statements-with-zend-db.html.twig
index 3d580a85..7d41771a 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/insert-update-delete-statements-with-zend-db.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/insert-update-delete-statements-with-zend-db.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/insert-update-delete-statements-with-zend-db.jsonld.twig') }} {% endblock %}
{% block title %}INSERT, UPDATE, DELETE statements with Zend_Db{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/sql-queries-using-zend-db-select.html.twig b/src/Blog/templates/page/blog-resource/best-practice/sql-queries-using-zend-db-select.html.twig
index 7cbf2839..f85340d6 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/sql-queries-using-zend-db-select.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/sql-queries-using-zend-db-select.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/sql-queries-using-zend-db-select.jsonld.twig') }} {% endblock %}
{% block title %}SQL queries using Zend_Db – SELECT{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/subqueries-with-zend-db.html.twig b/src/Blog/templates/page/blog-resource/best-practice/subqueries-with-zend-db.html.twig
index c712c108..6bab3fbb 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/subqueries-with-zend-db.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/subqueries-with-zend-db.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/subqueries-with-zend-db.jsonld.twig') }} {% endblock %}
{% block title %}Subqueries with Zend_Db{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/svn-export-in-a-virtual-host.html.twig b/src/Blog/templates/page/blog-resource/best-practice/svn-export-in-a-virtual-host.html.twig
index ec7e680c..1cf358bc 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/svn-export-in-a-virtual-host.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/svn-export-in-a-virtual-host.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/svn-export-in-a-virtual-host.jsonld.twig') }} {% endblock %}
{% block title %}SVN Export in a virtual host{% endblock %}
@@ -14,7 +15,7 @@
@@ -30,7 +31,6 @@
The following commands should be run in the terminal (for example, using Putty in Windows) on the host where you want to export the repository). It's recommended that you run them using the domain's user, not root.
-
First make sure that Subversion is installed on the host. To check if it is installed, run:
svn --version
@@ -38,10 +38,8 @@ If you don't get a "command not found" message, subversion is installed. Otherwi
The next step is to go to where you want to export the contents of the repository (eg.: "
cd /var/www/vhosts/example.com/httpdocs " or "
cd /home/sitename/public_html ").
-The command looks like this:
-
>svn export
-
-where:
+The command looks like this:
svn export repositoryUrl repositoryUrl
+ where:
-r revisionNumber - optional - export a specific revision. By default, the latest revision will be used
repositoryUrl - the repository URL (eg: http://example.com/repos/project-name/trunk/ ). Remember to add /trunk/, or change it appropriately if you need to export a certain branch or tag
diff --git a/src/Blog/templates/page/blog-resource/best-practice/svn-keywords-setup-in-php-ide-zend-studio.html.twig b/src/Blog/templates/page/blog-resource/best-practice/svn-keywords-setup-in-php-ide-zend-studio.html.twig
index d4de38ee..8d33c0d3 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/svn-keywords-setup-in-php-ide-zend-studio.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/svn-keywords-setup-in-php-ide-zend-studio.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/svn-keywords-setup-in-php-ide-zend-studio.jsonld.twig') }} {% endblock %}
{% block title %}SVN keywords setup in PHP IDE ( Zend Studio){% endblock %}
@@ -14,7 +15,7 @@
@@ -68,7 +69,7 @@ Check the Apply property recursively to:
Select All resources
Check the Use filtration by the resource name and add Mask: *.php
-
+
{{ include('@partial/post-nav.html.twig') }}
diff --git a/src/Blog/templates/page/blog-resource/best-practice/using-like-wildcards-with-zend-db.html.twig b/src/Blog/templates/page/blog-resource/best-practice/using-like-wildcards-with-zend-db.html.twig
index aa5f39e8..78c25c5d 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/using-like-wildcards-with-zend-db.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/using-like-wildcards-with-zend-db.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/using-like-wildcards-with-zend-db.jsonld.twig') }} {% endblock %}
{% block title %}Using LIKE wildcards with Zend_Db{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/what-are-returning-the-fetch-functions-from-zend-db.html.twig b/src/Blog/templates/page/blog-resource/best-practice/what-are-returning-the-fetch-functions-from-zend-db.html.twig
index 4fd1f2bd..593c5d4b 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/what-are-returning-the-fetch-functions-from-zend-db.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/what-are-returning-the-fetch-functions-from-zend-db.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/what-are-returning-the-fetch-functions-from-zend-db.jsonld.twig') }} {% endblock %}
{% block title %}What are returning the FETCH functions from Zend_Db{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/why-use-current-timestamp-on-a-field-that-record-date-time.html.twig b/src/Blog/templates/page/blog-resource/best-practice/why-use-current-timestamp-on-a-field-that-record-date-time.html.twig
index 2f71064f..c4c7cb5e 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/why-use-current-timestamp-on-a-field-that-record-date-time.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/why-use-current-timestamp-on-a-field-that-record-date-time.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/why-use-current-timestamp-on-a-field-that-record-date-time.jsonld.twig') }} {% endblock %}
{% block title %}Why use CURRENT_TIMESTAMP on a field that record date/time?{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/best-practice/zf-is-retired-laminas-mvc-is-retiring-consider-it-solved.html.twig b/src/Blog/templates/page/blog-resource/best-practice/zf-is-retired-laminas-mvc-is-retiring-consider-it-solved.html.twig
index 73c18283..2b0756b5 100644
--- a/src/Blog/templates/page/blog-resource/best-practice/zf-is-retired-laminas-mvc-is-retiring-consider-it-solved.html.twig
+++ b/src/Blog/templates/page/blog-resource/best-practice/zf-is-retired-laminas-mvc-is-retiring-consider-it-solved.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/best-practice/zf-is-retired-laminas-mvc-is-retiring-consider-it-solved.jsonld.twig') }} {% endblock %}
{% block title %}ZF Is Retired. Laminas MVC Is Retiring. Consider It Solved{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/api-client-migration-from-postman-to-bruno.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/api-client-migration-from-postman-to-bruno.html.twig
index 6a74ee21..b9f921d9 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/api-client-migration-from-postman-to-bruno.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/api-client-migration-from-postman-to-bruno.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/api-client-migration-from-postman-to-bruno.jsonld.twig') }} {% endblock %}
{% block title %}API Client Migration: From Postman to Bruno{% endblock %}
@@ -14,7 +15,7 @@
@@ -37,7 +38,7 @@
Comparing Postman to Bruno
-
+
Architecture
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/api-endpoint-to-collect-client-errors.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/api-endpoint-to-collect-client-errors.html.twig
index 328d62ee..e1f038ac 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/api-endpoint-to-collect-client-errors.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/api-endpoint-to-collect-client-errors.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/api-endpoint-to-collect-client-errors.jsonld.twig') }} {% endblock %}
{% block title %}API Endpoint to Collect Client Errors{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/content-negotiation-in-dotkernel-rest-api.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/content-negotiation-in-dotkernel-rest-api.html.twig
index d64ba8d8..b084bb9d 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/content-negotiation-in-dotkernel-rest-api.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/content-negotiation-in-dotkernel-rest-api.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/content-negotiation-in-dotkernel-rest-api.jsonld.twig') }} {% endblock %}
{% block title %}Content Negotiation in Dotkernel REST API{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-1-0-0-released.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-1-0-0-released.html.twig
index b22d4d21..45d0194a 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-1-0-0-released.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-1-0-0-released.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/dotkernel-api-1-0-0-released.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel API 1.0.0 Released{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-client-side-authorization.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-client-side-authorization.html.twig
index af1a838b..ff4980c9 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-client-side-authorization.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-client-side-authorization.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/dotkernel-api-client-side-authorization.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel API Client Side Authorization{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-server-side-authorization.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-server-side-authorization.html.twig
index f0ab0826..96657188 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-server-side-authorization.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-server-side-authorization.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/dotkernel-api-server-side-authorization.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel API Server Side Authorization{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-versus-laminas-api-tools.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-versus-laminas-api-tools.html.twig
index d6511940..14970f0c 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-versus-laminas-api-tools.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/dotkernel-api-versus-laminas-api-tools.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/dotkernel-api-versus-laminas-api-tools.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel API versus Laminas API Tools{% endblock %}
@@ -14,7 +15,7 @@
@@ -34,7 +35,7 @@
The table below refers to Dotkernel API V7
-API Tools (formerly Apigility) Dotkernel API URL api-tools Dotkernel API First Release 2012 2018 PHP Version <= 8.2 Architecture MVC, Event Driven Middleware OSS Lifecycle Archived Style REST, RPC REST Versioning Yes Deprecations (API Evolution) * Documentation Swagger (Automated) Postman (Manual ), OpenAPI 3.0 (Swagger) Content-Negotiation Custom Custom License BSD-3 MIT Default DB Layer laminas-db doctrine-orm 3.x Authorization ACL RBAC-guard Authentication HTTP Basic/Digest OAuth2.0 OAuth2.0 CI/CD Yes Yes Unit Tests Yes Yes Code (Endpoint) Generator Yes dot-maker PSR PSR-7 PSR-7, PSR-15
+API Tools (formerly Apigility) Dotkernel API URL api-tools Dotkernel API First Release 2012 2018 PHP Version <= 8.2 Architecture MVC, Event Driven Middleware OSS Lifecycle Archived Style REST, RPC REST Versioning Yes Deprecations (API Evolution) * Documentation Swagger (Automated) Postman (Manual ), OpenAPI 3.0 (Swagger) Content-Negotiation Custom Custom License BSD-3 MIT Default DB Layer laminas-db doctrine-orm 3.x Authorization ACL RBAC-guard Authentication HTTP Basic/Digest OAuth2.0 OAuth2.0 CI/CD Yes Yes Unit Tests Yes Yes Code (Endpoint) Generator Yes dot-maker PSR PSR-7 PSR-7, PSR-15
Note
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/error-reporting-endpoint-in-dotkernel-api.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/error-reporting-endpoint-in-dotkernel-api.html.twig
index 3bdeb33e..c366a864 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/error-reporting-endpoint-in-dotkernel-api.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/error-reporting-endpoint-in-dotkernel-api.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/error-reporting-endpoint-in-dotkernel-api.jsonld.twig') }} {% endblock %}
{% block title %}Error reporting endpoint in Dotkernel API{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.html.twig
index 8d99202d..4056bbc7 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.jsonld.twig') }} {% endblock %}
{% block title %}How to implement MailChimp in DotKernel API{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel-api/openapi-implementation-in-dotkernel-api.html.twig b/src/Blog/templates/page/blog-resource/dotkernel-api/openapi-implementation-in-dotkernel-api.html.twig
index 18c8a094..2d7ea548 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel-api/openapi-implementation-in-dotkernel-api.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel-api/openapi-implementation-in-dotkernel-api.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel-api/openapi-implementation-in-dotkernel-api.jsonld.twig') }} {% endblock %}
{% block title %}OpenAPI implementation in Dotkernel API{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/adding-a-cors-implementation-to-zend-expressive.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/adding-a-cors-implementation-to-zend-expressive.html.twig
index 735c0207..040ce808 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/adding-a-cors-implementation-to-zend-expressive.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/adding-a-cors-implementation-to-zend-expressive.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/adding-a-cors-implementation-to-zend-expressive.jsonld.twig') }} {% endblock %}
{% block title %}Adding a CORS implementation to Zend Expressive{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/adding-a-second-caching-layer-to-wurfl-in-dotkernel-using-apc.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/adding-a-second-caching-layer-to-wurfl-in-dotkernel-using-apc.html.twig
index 9dddff22..0582a873 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/adding-a-second-caching-layer-to-wurfl-in-dotkernel-using-apc.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/adding-a-second-caching-layer-to-wurfl-in-dotkernel-using-apc.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/adding-a-second-caching-layer-to-wurfl-in-dotkernel-using-apc.jsonld.twig') }} {% endblock %}
{% block title %}Adding a second caching layer to WURFL in Dotkernel using APC{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/adding-composer-support-in-your-dotkernel-project.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/adding-composer-support-in-your-dotkernel-project.html.twig
index 35577df4..73eacc78 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/adding-composer-support-in-your-dotkernel-project.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/adding-composer-support-in-your-dotkernel-project.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/adding-composer-support-in-your-dotkernel-project.jsonld.twig') }} {% endblock %}
{% block title %}Adding Composer support in your DotKernel project{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/adding-windows-10-os-and-browser-detection-in-dotkernel-projects.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/adding-windows-10-os-and-browser-detection-in-dotkernel-projects.html.twig
index bee09147..9d1b2242 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/adding-windows-10-os-and-browser-detection-in-dotkernel-projects.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/adding-windows-10-os-and-browser-detection-in-dotkernel-projects.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/adding-windows-10-os-and-browser-detection-in-dotkernel-projects.jsonld.twig') }} {% endblock %}
{% block title %}Adding Windows 10 OS and Browser detection in DotKernel projects{% endblock %}
@@ -14,7 +15,7 @@
@@ -33,7 +34,7 @@ Recently we have added the Windows 8, 8.1 and 10 OS icon and Microsoft's Edge br
In this article we will have the icon upgrade guide.
- The new Icons listed in User and Admin Logins
+ The new Icons listed in User and Admin Logins
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/autologin-using-cookie-remember-me-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/autologin-using-cookie-remember-me-in-dotkernel.html.twig
index c2432cef..23fb8ed5 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/autologin-using-cookie-remember-me-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/autologin-using-cookie-remember-me-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/autologin-using-cookie-remember-me-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Autologin using Cookie / Remember Me in Dotkernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/avoid-routing-through-bootstrap-of-non-existent-files.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/avoid-routing-through-bootstrap-of-non-existent-files.html.twig
index 5fb27f04..7b78edad 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/avoid-routing-through-bootstrap-of-non-existent-files.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/avoid-routing-through-bootstrap-of-non-existent-files.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/avoid-routing-through-bootstrap-of-non-existent-files.jsonld.twig') }} {% endblock %}
{% block title %}Avoid routing through bootstrap of non existent files{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/caching-in-dotkernel-using-zend-framework.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/caching-in-dotkernel-using-zend-framework.html.twig
index 850b96ca..fdb70bfd 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/caching-in-dotkernel-using-zend-framework.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/caching-in-dotkernel-using-zend-framework.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/caching-in-dotkernel-using-zend-framework.jsonld.twig') }} {% endblock %}
{% block title %}Caching in DotKernel using Zend Framework{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/camelcase-table-names-in-mysql-on-windows.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/camelcase-table-names-in-mysql-on-windows.html.twig
index 5a8f3ce7..52af9467 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/camelcase-table-names-in-mysql-on-windows.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/camelcase-table-names-in-mysql-on-windows.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/camelcase-table-names-in-mysql-on-windows.jsonld.twig') }} {% endblock %}
{% block title %}camelCase Table Names in MySQL on Windows{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/commitment-to-php-new-zend-certified-engineers-zce-in-our-team.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/commitment-to-php-new-zend-certified-engineers-zce-in-our-team.html.twig
index f3408379..db2bab22 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/commitment-to-php-new-zend-certified-engineers-zce-in-our-team.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/commitment-to-php-new-zend-certified-engineers-zce-in-our-team.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/commitment-to-php-new-zend-certified-engineers-zce-in-our-team.jsonld.twig') }} {% endblock %}
{% block title %}Commitment to PHP - new Zend Certified Engineers - ZCE - in our team{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/configuring-the-cache-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/configuring-the-cache-in-dotkernel.html.twig
index d79e3474..d0b4208f 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/configuring-the-cache-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/configuring-the-cache-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/configuring-the-cache-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Configuring the Cache in DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dependency-injection-made-easy-in-laminas-mezzio-applications.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dependency-injection-made-easy-in-laminas-mezzio-applications.html.twig
index 3d36420d..e2fbfbea 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dependency-injection-made-easy-in-laminas-mezzio-applications.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dependency-injection-made-easy-in-laminas-mezzio-applications.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dependency-injection-made-easy-in-laminas-mezzio-applications.jsonld.twig') }} {% endblock %}
{% block title %}Dependency Injection made easy in Laminas/Mezzio applications{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/detecting-mobile-devices-in-dotkernel-1-6-0.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/detecting-mobile-devices-in-dotkernel-1-6-0.html.twig
index f50402d2..334eb14d 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/detecting-mobile-devices-in-dotkernel-1-6-0.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/detecting-mobile-devices-in-dotkernel-1-6-0.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/detecting-mobile-devices-in-dotkernel-1-6-0.jsonld.twig') }} {% endblock %}
{% block title %}Detecting Mobile Devices in DotKernel 1.6.0{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/disable-wurfl-redirect-for-mobile-browsers.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/disable-wurfl-redirect-for-mobile-browsers.html.twig
index 4b991056..ab48f50e 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/disable-wurfl-redirect-for-mobile-browsers.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/disable-wurfl-redirect-for-mobile-browsers.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/disable-wurfl-redirect-for-mobile-browsers.jsonld.twig') }} {% endblock %}
{% block title %}Disable Wurfl redirect for mobile browsers{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/disambiguation-dotkernel-1-and-dotkernel-3.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/disambiguation-dotkernel-1-and-dotkernel-3.html.twig
index 5ef3fbfe..f31c51b8 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/disambiguation-dotkernel-1-and-dotkernel-3.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/disambiguation-dotkernel-1-and-dotkernel-3.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/disambiguation-dotkernel-1-and-dotkernel-3.jsonld.twig') }} {% endblock %}
{% block title %}Disambiguation: DotKernel 1 and DotKernel 3{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/doctrine-cache-using-symfony-cache.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/doctrine-cache-using-symfony-cache.html.twig
index 5d89569e..802349a4 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/doctrine-cache-using-symfony-cache.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/doctrine-cache-using-symfony-cache.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/doctrine-cache-using-symfony-cache.jsonld.twig') }} {% endblock %}
{% block title %}Doctrine cache using symfony/cache{% endblock %}
@@ -14,7 +15,7 @@
@@ -41,7 +42,7 @@
-
+
In this article our focus will be on enabling the dot-cache component and effectively implementing caching in DotKernel Admin .
Installation
Run the following command in your project directory:
composer require dotkernel/dot-cache After installing, add the DotCacheConfigProvider::class class to your configuration aggregate (config/config.php).
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/doctrine-enum-implementation-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/doctrine-enum-implementation-in-dotkernel.html.twig
index d2398e2e..ef5e1d05 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/doctrine-enum-implementation-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/doctrine-enum-implementation-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/doctrine-enum-implementation-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Doctrine enum implementation in Dotkernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch.html.twig
index efe90ebc..c4664dc9 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch.jsonld.twig') }} {% endblock %}
{% block title %}DotBoost Technologies : Products and Services North American Relaunch{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-2-0-release.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-2-0-release.html.twig
index 0939f1cd..ce7d1fdc 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-2-0-release.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-2-0-release.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-1-2-0-release.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel 1.2.0 release{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-2-2-release.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-2-2-release.html.twig
index 70ba25f7..86f07c00 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-2-2-release.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-2-2-release.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-1-2-2-release.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel 1.2.2 release{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-3-0-release.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-3-0-release.html.twig
index 2887cdcc..c3307d63 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-3-0-release.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-3-0-release.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-1-3-0-release.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel 1.3.0 release{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-3-2-release.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-3-2-release.html.twig
index 5780dcac..0cb4a995 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-3-2-release.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-3-2-release.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-1-3-2-release.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel 1.3.2 release{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-5-0-released.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-5-0-released.html.twig
index cfee561e..41e7cadb 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-5-0-released.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-5-0-released.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-1-5-0-released.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel 1.5.0 Released{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-8-0-lts-released.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-8-0-lts-released.html.twig
index 6bd783d8..8db2ab00 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-8-0-lts-released.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-8-0-lts-released.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-1-8-0-lts-released.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel 1.8.0 LTS Released{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-8-1-upgrade-from-1-8-0-released.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-8-1-upgrade-from-1-8-0-released.html.twig
index 4a45f7b7..3c707539 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-8-1-upgrade-from-1-8-0-released.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-1-8-1-upgrade-from-1-8-0-released.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-1-8-1-upgrade-from-1-8-0-released.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel 1.8.1 + Upgrade from 1.8.0 Released{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-coding-standard.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-coding-standard.html.twig
index 0d718aa5..e93c7c62 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-coding-standard.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-coding-standard.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-coding-standard.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel Coding Standard{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-database-naming-conventions-for-mysql.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-database-naming-conventions-for-mysql.html.twig
index b0b4f277..0a058c59 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-database-naming-conventions-for-mysql.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-database-naming-conventions-for-mysql.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-database-naming-conventions-for-mysql.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel Database Naming Conventions for MySQL{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-light-starting-with-mezzio-microframework-and-laminas-components.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-light-starting-with-mezzio-microframework-and-laminas-components.html.twig
index 61fe2ea8..328d2ab5 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-light-starting-with-mezzio-microframework-and-laminas-components.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-light-starting-with-mezzio-microframework-and-laminas-components.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-light-starting-with-mezzio-microframework-and-laminas-components.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel Light - Starting with Mezzio microframework and Laminas components{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-light-the-best-choice-for-your-presentation-site.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-light-the-best-choice-for-your-presentation-site.html.twig
index 7e189d01..70efedff 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-light-the-best-choice-for-your-presentation-site.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-light-the-best-choice-for-your-presentation-site.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-light-the-best-choice-for-your-presentation-site.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel Light: the best choice for your presentation site{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-on-nginx.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-on-nginx.html.twig
index b082ffb8..9c022b08 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-on-nginx.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-on-nginx.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-on-nginx.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel on Nginx{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-reserved-variable-names-for-caching.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-reserved-variable-names-for-caching.html.twig
index a38a51ee..6b66e1e6 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-reserved-variable-names-for-caching.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-reserved-variable-names-for-caching.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-reserved-variable-names-for-caching.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel Reserved Variable Names for Caching{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-template-engine.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-template-engine.html.twig
index 9f003152..09ff94a4 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-template-engine.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-template-engine.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-template-engine.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel Template Engine{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-version-1-0-in-action.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-version-1-0-in-action.html.twig
index 58aba777..92e14851 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-version-1-0-in-action.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/dotkernel-version-1-0-in-action.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/dotkernel-version-1-0-in-action.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel version 1.0 in action{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/forcing-utf8-connections-and-character-set-in-mysql.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/forcing-utf8-connections-and-character-set-in-mysql.html.twig
index 90f4a816..6e1abf7d 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/forcing-utf8-connections-and-character-set-in-mysql.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/forcing-utf8-connections-and-character-set-in-mysql.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/forcing-utf8-connections-and-character-set-in-mysql.jsonld.twig') }} {% endblock %}
{% block title %}Forcing UTF8 connections and character set in MySQL{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/geoip-city-removed-from-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/geoip-city-removed-from-dotkernel.html.twig
index d9269a39..25581b4b 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/geoip-city-removed-from-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/geoip-city-removed-from-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/geoip-city-removed-from-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}GeoIP City Removed From DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/geoip-ip-address-location-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/geoip-ip-address-location-in-dotkernel.html.twig
index d3c7509a..6b3d71e1 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/geoip-ip-address-location-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/geoip-ip-address-location-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/geoip-ip-address-location-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}GeoIP: Ip Address Location In DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/handling-and-logging-errors-with-dot-errorhandler-and-dot-log.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/handling-and-logging-errors-with-dot-errorhandler-and-dot-log.html.twig
index 6c503a35..6931aceb 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/handling-and-logging-errors-with-dot-errorhandler-and-dot-log.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/handling-and-logging-errors-with-dot-errorhandler-and-dot-log.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/handling-and-logging-errors-with-dot-errorhandler-and-dot-log.jsonld.twig') }} {% endblock %}
{% block title %}Handling and Logging errors with dot-errorhandler and dot-log{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/highcharts-integration-in-dotkernel-1-6-0.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/highcharts-integration-in-dotkernel-1-6-0.html.twig
index d3e71e8e..5c608308 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/highcharts-integration-in-dotkernel-1-6-0.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/highcharts-integration-in-dotkernel-1-6-0.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/highcharts-integration-in-dotkernel-1-6-0.jsonld.twig') }} {% endblock %}
{% block title %}Highcharts Integration in DotKernel 1.6.0{% endblock %}
@@ -14,7 +15,7 @@
@@ -34,7 +35,7 @@ Integrating a new charting library in the latest version of DotKernel (1.6.0) we
Also in admin we made some samples using highcharts. These samples includes an pie chart (with a small custom feature), an column chart and the last one is an line chart.
-
+
You can find highcharts library in the externals directory.
Take a quick view on the code to see how highcharts are working.
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/how-to-group-log-files-by-date-using-dot-log.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/how-to-group-log-files-by-date-using-dot-log.html.twig
index 7a7d0818..5b025889 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/how-to-group-log-files-by-date-using-dot-log.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/how-to-group-log-files-by-date-using-dot-log.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/how-to-group-log-files-by-date-using-dot-log.jsonld.twig') }} {% endblock %}
{% block title %}How to group log files by date using dot-log{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/how-to-set-a-persistent-connection-to-database-with-zend-framework-zend-db-adapter.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/how-to-set-a-persistent-connection-to-database-with-zend-framework-zend-db-adapter.html.twig
index d15d7798..f69e36ad 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/how-to-set-a-persistent-connection-to-database-with-zend-framework-zend-db-adapter.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/how-to-set-a-persistent-connection-to-database-with-zend-framework-zend-db-adapter.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/how-to-set-a-persistent-connection-to-database-with-zend-framework-zend-db-adapter.jsonld.twig') }} {% endblock %}
{% block title %}How to Set a Persistent Connection to Database with Zend Framework Zend_Db adapter{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/how-to-use-alerts-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/how-to-use-alerts-in-dotkernel.html.twig
index 97657811..0586be84 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/how-to-use-alerts-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/how-to-use-alerts-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/how-to-use-alerts-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}How to use Alerts in DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/implementing-the-new-password-hashing-api-from-php-5-5-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/implementing-the-new-password-hashing-api-from-php-5-5-in-dotkernel.html.twig
index 69413ce3..156f0f4b 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/implementing-the-new-password-hashing-api-from-php-5-5-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/implementing-the-new-password-hashing-api-from-php-5-5-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/implementing-the-new-password-hashing-api-from-php-5-5-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Implementing the new Password Hashing API from PHP 5.5 in DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/installing-geoip-extension-in-zend-server-5-6-on-windows.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/installing-geoip-extension-in-zend-server-5-6-on-windows.html.twig
index 81820a06..9982d30f 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/installing-geoip-extension-in-zend-server-5-6-on-windows.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/installing-geoip-extension-in-zend-server-5-6-on-windows.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/installing-geoip-extension-in-zend-server-5-6-on-windows.jsonld.twig') }} {% endblock %}
{% block title %}Installing GeoIP extension in Zend Server 5.6 on Windows{% endblock %}
@@ -14,7 +15,7 @@
@@ -75,7 +76,7 @@ Copy those .dat files in
C:\YOUR_LOCATION\Zend\ZendServer\bin\
And now you can use geoip functions on your Zend Server 5.6
-
+
{{ include('@partial/post-nav.html.twig') }}
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/installing-geoip-extension-in-zend-server-6-on-windows.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/installing-geoip-extension-in-zend-server-6-on-windows.html.twig
index 0459d2c3..78292d3c 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/installing-geoip-extension-in-zend-server-6-on-windows.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/installing-geoip-extension-in-zend-server-6-on-windows.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/installing-geoip-extension-in-zend-server-6-on-windows.jsonld.twig') }} {% endblock %}
{% block title %}Installing GeoIP extension in Zend Server 6 on Windows{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/logging-with-dot-log-in-zend-expressive-and-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/logging-with-dot-log-in-zend-expressive-and-dotkernel.html.twig
index fbc9b9db..cd9de2c0 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/logging-with-dot-log-in-zend-expressive-and-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/logging-with-dot-log-in-zend-expressive-and-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/logging-with-dot-log-in-zend-expressive-and-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Logging with dot-log in Zend Expressive and DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/manual-upgrade-of-wurfl-xml-file-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/manual-upgrade-of-wurfl-xml-file-in-dotkernel.html.twig
index 63d29ad9..9fa248c6 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/manual-upgrade-of-wurfl-xml-file-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/manual-upgrade-of-wurfl-xml-file-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/manual-upgrade-of-wurfl-xml-file-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Manual upgrade of WURFL xml file in DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/migration-of-zend-framework-1-pear-channel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/migration-of-zend-framework-1-pear-channel.html.twig
index a96f018f..5fddd0b6 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/migration-of-zend-framework-1-pear-channel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/migration-of-zend-framework-1-pear-channel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/migration-of-zend-framework-1-pear-channel.jsonld.twig') }} {% endblock %}
{% block title %}Migration of Zend Framework 1 PEAR channel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/new-features-in-zend-framework-1-12.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/new-features-in-zend-framework-1-12.html.twig
index 758e9bf4..ae50bbda 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/new-features-in-zend-framework-1-12.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/new-features-in-zend-framework-1-12.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/new-features-in-zend-framework-1-12.jsonld.twig') }} {% endblock %}
{% block title %}New Features in Zend Framework 1.12{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/php-formatter-and-templates-for-zend-studio-10-1.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/php-formatter-and-templates-for-zend-studio-10-1.html.twig
index c1ab09ea..93dc5664 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/php-formatter-and-templates-for-zend-studio-10-1.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/php-formatter-and-templates-for-zend-studio-10-1.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/php-formatter-and-templates-for-zend-studio-10-1.jsonld.twig') }} {% endblock %}
{% block title %}PHP Formatter and Templates for Zend Studio 10.1{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/protecting-admin-folder-with-htaccess-in-plesk.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/protecting-admin-folder-with-htaccess-in-plesk.html.twig
index a473d870..fdbd6fb9 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/protecting-admin-folder-with-htaccess-in-plesk.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/protecting-admin-folder-with-htaccess-in-plesk.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/protecting-admin-folder-with-htaccess-in-plesk.jsonld.twig') }} {% endblock %}
{% block title %}Protecting admin folder with .htaccess in Plesk{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/replacing-laminas-mail-with-symfony-mailer-in-dot-mail.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/replacing-laminas-mail-with-symfony-mailer-in-dot-mail.html.twig
index 9b9ee88c..2e5f4bb4 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/replacing-laminas-mail-with-symfony-mailer-in-dot-mail.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/replacing-laminas-mail-with-symfony-mailer-in-dot-mail.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/replacing-laminas-mail-with-symfony-mailer-in-dot-mail.jsonld.twig') }} {% endblock %}
{% block title %}Replacing laminas-mail with Symfony mailer in dot-mail{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/scientia-mobile-licensed-its-wurfl-cloud-php-library-to-dotkernel-1-6.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/scientia-mobile-licensed-its-wurfl-cloud-php-library-to-dotkernel-1-6.html.twig
index 7f322e00..d5fce107 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/scientia-mobile-licensed-its-wurfl-cloud-php-library-to-dotkernel-1-6.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/scientia-mobile-licensed-its-wurfl-cloud-php-library-to-dotkernel-1-6.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/scientia-mobile-licensed-its-wurfl-cloud-php-library-to-dotkernel-1-6.jsonld.twig') }} {% endblock %}
{% block title %}Scientia Mobile licensed its Wurfl Cloud PHP library to DotKernel 1.6{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/sending-emails-using-dot-email-component-and-zend-email.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/sending-emails-using-dot-email-component-and-zend-email.html.twig
index 8cec8d77..1813d8dd 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/sending-emails-using-dot-email-component-and-zend-email.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/sending-emails-using-dot-email-component-and-zend-email.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/sending-emails-using-dot-email-component-and-zend-email.jsonld.twig') }} {% endblock %}
{% block title %}Sending emails using Dot_Email component and Zend_Email{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/templating-in-dotkernel3.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/templating-in-dotkernel3.html.twig
index c55a2484..e36741b7 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/templating-in-dotkernel3.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/templating-in-dotkernel3.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/templating-in-dotkernel3.jsonld.twig') }} {% endblock %}
{% block title %}Templating in DotKernel3{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/using-dotkernel-with-composer-dependencies.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/using-dotkernel-with-composer-dependencies.html.twig
index 8ea249e5..f926d208 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/using-dotkernel-with-composer-dependencies.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/using-dotkernel-with-composer-dependencies.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/using-dotkernel-with-composer-dependencies.jsonld.twig') }} {% endblock %}
{% block title %}Using DotKernel with Composer Dependencies{% endblock %}
@@ -14,7 +15,7 @@
@@ -77,7 +78,7 @@ Barcode::factory(
The result
Both the examples will render the following barcode if nothing goes wrong:
- Resulting barcode. Source: bit.ly/1XbZZ81
+ Resulting barcode. Source: bit.ly/1XbZZ81
Tip
In this case the first example will work for both namespaced an non-namespaced dependencies if we add the the following as the first line at the first example:
>use Zend\Barcode\Barcode as Zend_Barcode;
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/using-utf8-charset-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/using-utf8-charset-in-dotkernel.html.twig
index 4587dd02..ce47a0ee 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/using-utf8-charset-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/using-utf8-charset-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/using-utf8-charset-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Using UTF8 charset in DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/wurfl-cloud-integration-in-dotkernel-1-6-0.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/wurfl-cloud-integration-in-dotkernel-1-6-0.html.twig
index dc63835c..8c5889d7 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/wurfl-cloud-integration-in-dotkernel-1-6-0.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/wurfl-cloud-integration-in-dotkernel-1-6-0.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/wurfl-cloud-integration-in-dotkernel-1-6-0.jsonld.twig') }} {% endblock %}
{% block title %}Wurfl Cloud Integration in DotKernel 1.6.0{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/wurfl-php-api-license-incompatible-with-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/wurfl-php-api-license-incompatible-with-dotkernel.html.twig
index 48a8955f..bc90a1ff 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/wurfl-php-api-license-incompatible-with-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/wurfl-php-api-license-incompatible-with-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/wurfl-php-api-license-incompatible-with-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}WURFL PHP API license incompatible with DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/wurfl-zend-framework-integration-into-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/wurfl-zend-framework-integration-into-dotkernel.html.twig
index 2876da90..554f8242 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/wurfl-zend-framework-integration-into-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/wurfl-zend-framework-integration-into-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/wurfl-zend-framework-integration-into-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}WURFL Zend Framework Integration into DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/zend-auth-and-zend-acl-integrated-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/zend-auth-and-zend-acl-integrated-in-dotkernel.html.twig
index d195b5e7..63fe5ca0 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/zend-auth-and-zend-acl-integrated-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/zend-auth-and-zend-acl-integrated-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/zend-auth-and-zend-acl-integrated-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Zend_Auth and Zend_Acl integrated in DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/zend-console-implementation-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/zend-console-implementation-in-dotkernel.html.twig
index a2f741ec..9ab776d0 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/zend-console-implementation-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/zend-console-implementation-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/zend-console-implementation-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Zend_Console implementation in DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/zend-framework-dropped-integration-of-wurfl-adapter.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/zend-framework-dropped-integration-of-wurfl-adapter.html.twig
index 0798fd6c..676fd4d6 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/zend-framework-dropped-integration-of-wurfl-adapter.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/zend-framework-dropped-integration-of-wurfl-adapter.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/zend-framework-dropped-integration-of-wurfl-adapter.jsonld.twig') }} {% endblock %}
{% block title %}Zend Framework dropped integration of WURFL adapter{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/zend-registry-usage-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/zend-registry-usage-in-dotkernel.html.twig
index 73bdaf3b..cd4f0a29 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/zend-registry-usage-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/zend-registry-usage-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/zend-registry-usage-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Zend Registry usage in DotKernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/zend-session-usage-in-dotkernel-refactor-of-dot-session-class.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/zend-session-usage-in-dotkernel-refactor-of-dot-session-class.html.twig
index 1fe375a9..624b6ceb 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/zend-session-usage-in-dotkernel-refactor-of-dot-session-class.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/zend-session-usage-in-dotkernel-refactor-of-dot-session-class.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/zend-session-usage-in-dotkernel-refactor-of-dot-session-class.jsonld.twig') }} {% endblock %}
{% block title %}Zend_Session usage in DotKernel - Refactor of Dot_Session class{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel/zend-studio-php-formatter-file-for-dotkernel-coding-standard.html.twig b/src/Blog/templates/page/blog-resource/dotkernel/zend-studio-php-formatter-file-for-dotkernel-coding-standard.html.twig
index 93a9388e..da762b74 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel/zend-studio-php-formatter-file-for-dotkernel-coding-standard.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel/zend-studio-php-formatter-file-for-dotkernel-coding-standard.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel/zend-studio-php-formatter-file-for-dotkernel-coding-standard.jsonld.twig') }} {% endblock %}
{% block title %}Zend Studio PHP Formatter file for DotKernel coding standard.{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/development-report-december-11-2017.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/development-report-december-11-2017.html.twig
index e7be3870..8e0b8799 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/development-report-december-11-2017.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/development-report-december-11-2017.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/development-report-december-11-2017.jsonld.twig') }} {% endblock %}
{% block title %}Development Report December 11, 2017{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-admin-v4.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-admin-v4.html.twig
index 2bcbc6a1..1cf61946 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-admin-v4.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-admin-v4.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/dotkernel-admin-v4.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel Admin V4{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-admin-version-3-launched.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-admin-version-3-launched.html.twig
index 784b5bcf..deb9061e 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-admin-version-3-launched.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-admin-version-3-launched.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/dotkernel-admin-version-3-launched.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel Admin version 3 launched{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-api-architecture-and-components.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-api-architecture-and-components.html.twig
index de6a6c49..2e8488ea 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-api-architecture-and-components.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-api-architecture-and-components.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/dotkernel-api-architecture-and-components.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel API: architecture and components{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-frontend-version-3-launched.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-frontend-version-3-launched.html.twig
index 174089dc..3cc74b59 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-frontend-version-3-launched.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel-frontend-version-3-launched.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/dotkernel-frontend-version-3-launched.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel Frontend version 3 launched{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel3-stable-release-version-1-0.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel3-stable-release-version-1-0.html.twig
index 2070887a..826ab505 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel3-stable-release-version-1-0.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/dotkernel3-stable-release-version-1-0.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/dotkernel3-stable-release-version-1-0.jsonld.twig') }} {% endblock %}
{% block title %}DotKernel3 - Stable Release version 1.0{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-admin.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-admin.html.twig
index 80e0056f..dc6d6fd3 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-admin.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-admin.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/php-8-3-support-in-dotkernel-admin.jsonld.twig') }} {% endblock %}
{% block title %}PHP 8.3 support in Dotkernel Admin{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-api.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-api.html.twig
index b74a96c3..f4f22ed1 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-api.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-api.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/php-8-3-support-in-dotkernel-api.jsonld.twig') }} {% endblock %}
{% block title %}PHP 8.3 support in Dotkernel API{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-frontend.html.twig b/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-frontend.html.twig
index ca248cba..f1e65d19 100644
--- a/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-frontend.html.twig
+++ b/src/Blog/templates/page/blog-resource/dotkernel3/php-8-3-support-in-dotkernel-frontend.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/dotkernel3/php-8-3-support-in-dotkernel-frontend.jsonld.twig') }} {% endblock %}
{% block title %}PHP 8.3 support in Dotkernel Frontend{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/complementary-admin-in-dotkernel-headless-platform.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/complementary-admin-in-dotkernel-headless-platform.html.twig
index bd443ce8..c05881f6 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/complementary-admin-in-dotkernel-headless-platform.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/complementary-admin-in-dotkernel-headless-platform.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/complementary-admin-in-dotkernel-headless-platform.jsonld.twig') }} {% endblock %}
{% block title %}Complementary Admin in Dotkernel Headless Platform{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-api-v6-the-root-of-dotkernel-headless-platform.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-api-v6-the-root-of-dotkernel-headless-platform.html.twig
index 6392c2d5..da830297 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-api-v6-the-root-of-dotkernel-headless-platform.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-api-v6-the-root-of-dotkernel-headless-platform.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/dotkernel-api-v6-the-root-of-dotkernel-headless-platform.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel API v6: The root of Dotkernel Headless Platform{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-headless-platform-the-whats-hows-and-whys.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-headless-platform-the-whats-hows-and-whys.html.twig
index 29f35074..8973a3c2 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-headless-platform-the-whats-hows-and-whys.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-headless-platform-the-whats-hows-and-whys.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/dotkernel-headless-platform-the-whats-hows-and-whys.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel Headless Platform - The Whats, Hows and Whys{% endblock %}
@@ -14,7 +15,7 @@
@@ -80,7 +81,7 @@
You can configure the file structure to use a Core module. The Core then becomes the common code repository between API and Admin, ensuring that the entities and queries are the same. The entities for your platform, whether they be products, articles or something else are the building blocks of your application. The queries interact with the entities for CRUD purposes. By having these components in a single repository used in both API and Admin, you ensure consistency when interacting with them.
-
+
Implement only the handlers you need
@@ -90,10 +91,10 @@
Another advantage is the fact that the API and Admin share a file structure . When you become familiar with one, you're good to go with the other as well. This means that onboarding is easy and can be maintained by fewer developers , maybe even a single developer, at least in the beginning. Conversely, working with an API+Angular approach means you often need 2 developers working in concert to implement any new feature.
-
+
-
+
@@ -109,7 +110,7 @@
The software components are organized into concentric layers. Code dependencies go from the outer to the inner layers which results in improved testability and independence from components like libraries, user interfaces and databases.
-
+
Domain-Driven Design (DDD)
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-queue-asynchronous-execution-in-dotkernel-headless-platform.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-queue-asynchronous-execution-in-dotkernel-headless-platform.html.twig
index e9c322f1..def2c7f6 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-queue-asynchronous-execution-in-dotkernel-headless-platform.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/dotkernel-queue-asynchronous-execution-in-dotkernel-headless-platform.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/dotkernel-queue-asynchronous-execution-in-dotkernel-headless-platform.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel Queue - Asynchronous Execution in Dotkernel Headless Platform{% endblock %}
@@ -14,7 +15,7 @@
@@ -96,7 +97,7 @@
The queue system has an active daemon that listens for TPC connections on a specific port and stores incoming messages into Redis. This method supports a large number of requests per second without overloading. Operations are then scheduled for execution when resources are available. The order of the execution uses the FIFO (First-In, First-Out) method where the oldest request is processed first, followed by newer requests.
-
+
Main Features
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/dotmaker-generate-common-code-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/dotmaker-generate-common-code-in-dotkernel.html.twig
index 5aa5b32c..b7b15c40 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/dotmaker-generate-common-code-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/dotmaker-generate-common-code-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/dotmaker-generate-common-code-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}DotMaker - Generate common code in Dotkernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/evolution-pattern-versus-api-versioning.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/evolution-pattern-versus-api-versioning.html.twig
index f1abdf36..b0fe899b 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/evolution-pattern-versus-api-versioning.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/evolution-pattern-versus-api-versioning.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/evolution-pattern-versus-api-versioning.jsonld.twig') }} {% endblock %}
{% block title %}Evolution Pattern versus API Versioning{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/implementing-time-based-one-time-password-totp-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/implementing-time-based-one-time-password-totp-in-dotkernel.html.twig
index b7736f9c..f48bcdf6 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/implementing-time-based-one-time-password-totp-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/implementing-time-based-one-time-password-totp-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/implementing-time-based-one-time-password-totp-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Implementing Time-based One-Time Password (TOTP) in Dotkernel{% endblock %}
@@ -14,7 +15,7 @@
@@ -47,7 +48,7 @@
Below is a simplified flow for the 2FA with TOTP mechanism.
-
+
How to Install dot-totp
@@ -109,7 +110,7 @@
Once you have dot-totp implemented, you can activate the feature in your admin accounts. If you navigate to your profile from the top-right image in Dotkernel Admin, you should see this box.
-
+
Simply click on 'Enable TOTP' to begin the activation process.
@@ -119,7 +120,7 @@
You will need to have an Authenticator app installed on your mobile device.
-
+
Follow the instructions on the screen:
@@ -133,7 +134,7 @@
The TOPT activation flow will list several recovery codes you can use if your mobile device isn't available.
-
+
Each recovery code is usable only once.
@@ -145,7 +146,7 @@
Whenever you need to log into the account, you will start by entering your username and password, like before. Since TOTP is activated, you will need to also submit the code from your Authenticator app. Alternatively, you can submit a recovery code.
-
+
That's it! You are now logged in securely.
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/shared-core-submodule-in-dotkernel-headless-platform.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/shared-core-submodule-in-dotkernel-headless-platform.html.twig
index 66ee681f..1134932d 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/shared-core-submodule-in-dotkernel-headless-platform.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/shared-core-submodule-in-dotkernel-headless-platform.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/shared-core-submodule-in-dotkernel-headless-platform.jsonld.twig') }} {% endblock %}
{% block title %}Shared Core Submodule in Dotkernel Headless Platform{% endblock %}
@@ -14,7 +15,7 @@
@@ -98,7 +99,7 @@ git submodule update
Queue + Core
-
+
Each box in the image is a different Git repository.
@@ -134,7 +135,7 @@ git submodule update
As your platform expands, each new application connects to the Dotkernel Headless Platform via the central API which services everything the other applications require. This ensures consistency throughout your platform, while allowing any number of outside connections as requirements arise.
-
+
Additional Resources
diff --git a/src/Blog/templates/page/blog-resource/headless-platform/version-7-adds-postgresql-native-uuid-and-php-8-5.html.twig b/src/Blog/templates/page/blog-resource/headless-platform/version-7-adds-postgresql-native-uuid-and-php-8-5.html.twig
index 3a1b39b8..15f55bee 100644
--- a/src/Blog/templates/page/blog-resource/headless-platform/version-7-adds-postgresql-native-uuid-and-php-8-5.html.twig
+++ b/src/Blog/templates/page/blog-resource/headless-platform/version-7-adds-postgresql-native-uuid-and-php-8-5.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/headless-platform/version-7-adds-postgresql-native-uuid-and-php-8-5.jsonld.twig') }} {% endblock %}
{% block title %}Version 7 adds PostgreSQL, Native UUID and PHP 8.5{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/cors-policy-setup-in-dotkernel-using-mezzio-cors.html.twig b/src/Blog/templates/page/blog-resource/how-to/cors-policy-setup-in-dotkernel-using-mezzio-cors.html.twig
index e3438291..09a17c60 100644
--- a/src/Blog/templates/page/blog-resource/how-to/cors-policy-setup-in-dotkernel-using-mezzio-cors.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/cors-policy-setup-in-dotkernel-using-mezzio-cors.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/cors-policy-setup-in-dotkernel-using-mezzio-cors.jsonld.twig') }} {% endblock %}
{% block title %}CORS policy setup in Dotkernel using mezzio-cors{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/creating-admin-accounts-in-dotkernel-api.html.twig b/src/Blog/templates/page/blog-resource/how-to/creating-admin-accounts-in-dotkernel-api.html.twig
index f5d565dd..f9093191 100644
--- a/src/Blog/templates/page/blog-resource/how-to/creating-admin-accounts-in-dotkernel-api.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/creating-admin-accounts-in-dotkernel-api.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/creating-admin-accounts-in-dotkernel-api.jsonld.twig') }} {% endblock %}
{% block title %}Creating admin accounts in DotKernel API{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/database-migrations-and-how-to-use-them.html.twig b/src/Blog/templates/page/blog-resource/how-to/database-migrations-and-how-to-use-them.html.twig
index cb8e3f31..baac4d0d 100644
--- a/src/Blog/templates/page/blog-resource/how-to/database-migrations-and-how-to-use-them.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/database-migrations-and-how-to-use-them.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/database-migrations-and-how-to-use-them.jsonld.twig') }} {% endblock %}
{% block title %}Database migrations and how to use them{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/doctrine-cache-in-mezzio-and-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/how-to/doctrine-cache-in-mezzio-and-dotkernel.html.twig
index a48ffc88..e1e06379 100644
--- a/src/Blog/templates/page/blog-resource/how-to/doctrine-cache-in-mezzio-and-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/doctrine-cache-in-mezzio-and-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/doctrine-cache-in-mezzio-and-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Doctrine Cache in Mezzio and Dotkernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/generating-a-doctrine-migration-without-dropping-custom-tables.html.twig b/src/Blog/templates/page/blog-resource/how-to/generating-a-doctrine-migration-without-dropping-custom-tables.html.twig
index cf088a5d..e0590594 100644
--- a/src/Blog/templates/page/blog-resource/how-to/generating-a-doctrine-migration-without-dropping-custom-tables.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/generating-a-doctrine-migration-without-dropping-custom-tables.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/generating-a-doctrine-migration-without-dropping-custom-tables.jsonld.twig') }} {% endblock %}
{% block title %}Generating a doctrine migration without dropping custom tables{% endblock %}
@@ -14,7 +15,7 @@
@@ -41,7 +42,11 @@
vendor/bin/doctrine-migrations diff
-If you have mapping modifications, this will create a new migration file under data/doctrine/migrations/ directory. Opening the migration file, you will notice that it contains some queries that will drop your oauth_* tables because they are unmapped (there is no doctrine entity describing them). You should delete your latest migration with the DROP queries in it as we will create another one, without the DROP queries in it. In order to avoid dropping these tables, you need to add a parameter called filter-expression.
+If you have mapping modifications, this will create a new migration file under data/doctrine/migrations/ directory.
+ Opening the migration file, you will notice that it contains some queries that will drop your oauth_* tables because they are unmapped (there is no doctrine entity describing them).
+ You should delete your latest migration with the DROP queries in it as we will create another one, without the DROP queries in it.
+ In order to avoid dropping these tables, you need to add a parameter called filter-expression.
+
The command to be executed without dropping these tables looks like this:
@@ -55,7 +60,9 @@
Filtering multiple unmapped table patterns
-If your database contains multiple unmapped table groups, then the pattern in filter-expression should hold all table prefixes concatenated by pipe character (|). For example, if you need to filter tables prefixed with foo_ and bar_, then the command should look like this:
+If your database contains multiple unmapped table groups, then the pattern in filter-expression should hold all table prefixes concatenated by pipe character (|).
+ For example, if you need to filter tables prefixed with foo_ and bar_, then the command should look like this:
+
On Windows:
diff --git a/src/Blog/templates/page/blog-resource/how-to/implementation-of-seo-friendly-url-in-an-generic-laminas-mezzio-app.html.twig b/src/Blog/templates/page/blog-resource/how-to/implementation-of-seo-friendly-url-in-an-generic-laminas-mezzio-app.html.twig
index ba771c59..8a3ac76f 100644
--- a/src/Blog/templates/page/blog-resource/how-to/implementation-of-seo-friendly-url-in-an-generic-laminas-mezzio-app.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/implementation-of-seo-friendly-url-in-an-generic-laminas-mezzio-app.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/implementation-of-seo-friendly-url-in-an-generic-laminas-mezzio-app.jsonld.twig') }} {% endblock %}
{% block title %}Implementation of SEO friendly URL in an generic Laminas Mezzio app{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/installing-almalinux-10-in-wsl2-php-mariadb-composer-phpmyadmin.html.twig b/src/Blog/templates/page/blog-resource/how-to/installing-almalinux-10-in-wsl2-php-mariadb-composer-phpmyadmin.html.twig
index ef5575a9..b51aff9f 100644
--- a/src/Blog/templates/page/blog-resource/how-to/installing-almalinux-10-in-wsl2-php-mariadb-composer-phpmyadmin.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/installing-almalinux-10-in-wsl2-php-mariadb-composer-phpmyadmin.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/installing-almalinux-10-in-wsl2-php-mariadb-composer-phpmyadmin.jsonld.twig') }} {% endblock %}
{% block title %}Installing AlmaLinux 10 in WSL2: PHP, MariaDB, Composer, PhpMyadmin{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/list-available-endpoints-in-dotkernel-api-using-dot-cli.html.twig b/src/Blog/templates/page/blog-resource/how-to/list-available-endpoints-in-dotkernel-api-using-dot-cli.html.twig
index c274acf0..c7861d79 100644
--- a/src/Blog/templates/page/blog-resource/how-to/list-available-endpoints-in-dotkernel-api-using-dot-cli.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/list-available-endpoints-in-dotkernel-api-using-dot-cli.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/list-available-endpoints-in-dotkernel-api-using-dot-cli.jsonld.twig') }} {% endblock %}
{% block title %}List available endpoints in DotKernel API using dot-cli{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/migrating-dotkernel-3-from-zend-expressive-2-to-zend-expressive-3.html.twig b/src/Blog/templates/page/blog-resource/how-to/migrating-dotkernel-3-from-zend-expressive-2-to-zend-expressive-3.html.twig
index dbd5b35e..d30eaa55 100644
--- a/src/Blog/templates/page/blog-resource/how-to/migrating-dotkernel-3-from-zend-expressive-2-to-zend-expressive-3.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/migrating-dotkernel-3-from-zend-expressive-2-to-zend-expressive-3.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/migrating-dotkernel-3-from-zend-expressive-2-to-zend-expressive-3.jsonld.twig') }} {% endblock %}
{% block title %}Migrating DotKernel 3 from Zend Expressive 2 to Zend Expressive 3{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli.html.twig b/src/Blog/templates/page/blog-resource/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli.html.twig
index 968b4705..b3876ca8 100644
--- a/src/Blog/templates/page/blog-resource/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli.jsonld.twig') }} {% endblock %}
{% block title %}Replacing dot-console with dot-cli based on laminas-cli{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/using-postman-for-documentation-in-dotkernel-api-3.html.twig b/src/Blog/templates/page/blog-resource/how-to/using-postman-for-documentation-in-dotkernel-api-3.html.twig
index b68d5acc..836e5025 100644
--- a/src/Blog/templates/page/blog-resource/how-to/using-postman-for-documentation-in-dotkernel-api-3.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/using-postman-for-documentation-in-dotkernel-api-3.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/using-postman-for-documentation-in-dotkernel-api-3.jsonld.twig') }} {% endblock %}
{% block title %}Using Postman for documentation in DotKernel API 3{% endblock %}
@@ -14,7 +15,7 @@
@@ -59,7 +60,7 @@
open the import modal by clicking File -> Import (or Ctrl + O) inside the modal, make sure you're on the File tab, then click Upload files navigate to documentation directory of your DotKernel API 3 application and select both of the following files:DotKernel_API.postman_collection.json DotKernel_API.postman_environment.json after clicking Open the modal should show the following:
-Select files to import · 2/2 selected
+Select files to import . 2/2 selected
NAME FORMAT IMPORT AS
DotKernel_API Postman Collection v2.1 Collection
DotKernel_API Postman Environment Environment
diff --git a/src/Blog/templates/page/blog-resource/how-to/using-the-urlgenerator-work-in-fastroute.html.twig b/src/Blog/templates/page/blog-resource/how-to/using-the-urlgenerator-work-in-fastroute.html.twig
index 0217d334..ea1bb6f2 100644
--- a/src/Blog/templates/page/blog-resource/how-to/using-the-urlgenerator-work-in-fastroute.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/using-the-urlgenerator-work-in-fastroute.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/using-the-urlgenerator-work-in-fastroute.jsonld.twig') }} {% endblock %}
{% block title %}Using the URLGenerator work in FastRoute{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/what-is-cross-origin-token-redemption.html.twig b/src/Blog/templates/page/blog-resource/how-to/what-is-cross-origin-token-redemption.html.twig
index d65b09c3..2a9e2cd7 100644
--- a/src/Blog/templates/page/blog-resource/how-to/what-is-cross-origin-token-redemption.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/what-is-cross-origin-token-redemption.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/what-is-cross-origin-token-redemption.jsonld.twig') }} {% endblock %}
{% block title %}What is cross origin token redemption?{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/how-to/what-is-psr-7-and-how-to-use-it.html.twig b/src/Blog/templates/page/blog-resource/how-to/what-is-psr-7-and-how-to-use-it.html.twig
index 165a3285..0a0b859b 100644
--- a/src/Blog/templates/page/blog-resource/how-to/what-is-psr-7-and-how-to-use-it.html.twig
+++ b/src/Blog/templates/page/blog-resource/how-to/what-is-psr-7-and-how-to-use-it.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/how-to/what-is-psr-7-and-how-to-use-it.jsonld.twig') }} {% endblock %}
{% block title %}What is PSR-7 and how to use it{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/javascript/codelobster-php-edition-free-php-html-css-javascript-editor-ide.html.twig b/src/Blog/templates/page/blog-resource/javascript/codelobster-php-edition-free-php-html-css-javascript-editor-ide.html.twig
index ba1295e9..58e873ae 100644
--- a/src/Blog/templates/page/blog-resource/javascript/codelobster-php-edition-free-php-html-css-javascript-editor-ide.html.twig
+++ b/src/Blog/templates/page/blog-resource/javascript/codelobster-php-edition-free-php-html-css-javascript-editor-ide.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/javascript/codelobster-php-edition-free-php-html-css-javascript-editor-ide.jsonld.twig') }} {% endblock %}
{% block title %}Codelobster PHP Edition - Free PHP, HTML, CSS, JavaScript editor (IDE){% endblock %}
@@ -14,7 +15,7 @@
@@ -30,11 +31,11 @@
Free PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition
-
-
For valuable work on creation of sites you need a good comfortable editor necessarily. There are many requiring paid products for this purpose, but we would like to select free of charge very functional and at the same time of simple in the use editor - Codelobster PHP Edition .
+
+
For valuable work on creation of sites you need a good comfortable editor necessarily. There are many requiring paid products for this purpose, but we would like to select free of charge very functional and at the same time of simple in the use editor - Codelobster PHP Edition .
-Let us consider some important possibilities and advantages of this program:
+Let us consider some important possibilities and advantages of this program:
diff --git a/src/Blog/templates/page/blog-resource/javascript/intro-to-jquery.html.twig b/src/Blog/templates/page/blog-resource/javascript/intro-to-jquery.html.twig
index df31ff23..407f6ce0 100644
--- a/src/Blog/templates/page/blog-resource/javascript/intro-to-jquery.html.twig
+++ b/src/Blog/templates/page/blog-resource/javascript/intro-to-jquery.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/javascript/intro-to-jquery.jsonld.twig') }} {% endblock %}
{% block title %}Intro to jQuery{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/javascript/javascript-email-validator.html.twig b/src/Blog/templates/page/blog-resource/javascript/javascript-email-validator.html.twig
index d154a86f..65f67c8c 100644
--- a/src/Blog/templates/page/blog-resource/javascript/javascript-email-validator.html.twig
+++ b/src/Blog/templates/page/blog-resource/javascript/javascript-email-validator.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/javascript/javascript-email-validator.jsonld.twig') }} {% endblock %}
{% block title %}Javascript: Email Validator{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/licensing/mit-versus-lgpl-in-practice-dotkernel-case.html.twig b/src/Blog/templates/page/blog-resource/licensing/mit-versus-lgpl-in-practice-dotkernel-case.html.twig
index d5af8ad9..3b4c505d 100644
--- a/src/Blog/templates/page/blog-resource/licensing/mit-versus-lgpl-in-practice-dotkernel-case.html.twig
+++ b/src/Blog/templates/page/blog-resource/licensing/mit-versus-lgpl-in-practice-dotkernel-case.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/licensing/mit-versus-lgpl-in-practice-dotkernel-case.jsonld.twig') }} {% endblock %}
{% block title %}MIT versus LGPL in practice: Dotkernel case{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/middleware/dotkernel-light-improvements-psr-15-handlers-vite-phpstan.html.twig b/src/Blog/templates/page/blog-resource/middleware/dotkernel-light-improvements-psr-15-handlers-vite-phpstan.html.twig
index c2b3abda..71596963 100644
--- a/src/Blog/templates/page/blog-resource/middleware/dotkernel-light-improvements-psr-15-handlers-vite-phpstan.html.twig
+++ b/src/Blog/templates/page/blog-resource/middleware/dotkernel-light-improvements-psr-15-handlers-vite-phpstan.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/middleware/dotkernel-light-improvements-psr-15-handlers-vite-phpstan.jsonld.twig') }} {% endblock %}
{% block title %}Dotkernel Light improvements: PSR-15 Handlers, Vite, PHPStan{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/middleware/handling-dynamic-routing-using-fastroute-in-dotkernel.html.twig b/src/Blog/templates/page/blog-resource/middleware/handling-dynamic-routing-using-fastroute-in-dotkernel.html.twig
index a490c249..eb3013d4 100644
--- a/src/Blog/templates/page/blog-resource/middleware/handling-dynamic-routing-using-fastroute-in-dotkernel.html.twig
+++ b/src/Blog/templates/page/blog-resource/middleware/handling-dynamic-routing-using-fastroute-in-dotkernel.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/middleware/handling-dynamic-routing-using-fastroute-in-dotkernel.jsonld.twig') }} {% endblock %}
{% block title %}Handling dynamic routing using FastRoute in Dotkernel{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/middleware/replacing-controllers-with-psr-15-compliant-handlers-in-dotkernel-light.html.twig b/src/Blog/templates/page/blog-resource/middleware/replacing-controllers-with-psr-15-compliant-handlers-in-dotkernel-light.html.twig
index 705a56cf..3751aac5 100644
--- a/src/Blog/templates/page/blog-resource/middleware/replacing-controllers-with-psr-15-compliant-handlers-in-dotkernel-light.html.twig
+++ b/src/Blog/templates/page/blog-resource/middleware/replacing-controllers-with-psr-15-compliant-handlers-in-dotkernel-light.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/middleware/replacing-controllers-with-psr-15-compliant-handlers-in-dotkernel-light.jsonld.twig') }} {% endblock %}
{% block title %}Replacing controllers with PSR-15 compliant handlers in Dotkernel Light{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/almalinux-9-in-wsl2-install-php-apache-mariadb-composer-phpmyadmin.html.twig b/src/Blog/templates/page/blog-resource/php-development/almalinux-9-in-wsl2-install-php-apache-mariadb-composer-phpmyadmin.html.twig
index a1907b71..eff7081c 100644
--- a/src/Blog/templates/page/blog-resource/php-development/almalinux-9-in-wsl2-install-php-apache-mariadb-composer-phpmyadmin.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/almalinux-9-in-wsl2-install-php-apache-mariadb-composer-phpmyadmin.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/almalinux-9-in-wsl2-install-php-apache-mariadb-composer-phpmyadmin.jsonld.twig') }} {% endblock %}
{% block title %}AlmaLinux 9 in WSL2 : install PHP, Apache, MariaDB, Composer, PhpMyadmin{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/aptana-php-installation-in-aptana-2-x.html.twig b/src/Blog/templates/page/blog-resource/php-development/aptana-php-installation-in-aptana-2-x.html.twig
index 0e237974..59b5fcdb 100644
--- a/src/Blog/templates/page/blog-resource/php-development/aptana-php-installation-in-aptana-2-x.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/aptana-php-installation-in-aptana-2-x.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/aptana-php-installation-in-aptana-2-x.jsonld.twig') }} {% endblock %}
{% block title %}Aptana PHP installation in Aptana 2.x{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/better-unicode-support-in-mysql-5-5-utf8mb4.html.twig b/src/Blog/templates/page/blog-resource/php-development/better-unicode-support-in-mysql-5-5-utf8mb4.html.twig
index d74845c3..e56f0f7a 100644
--- a/src/Blog/templates/page/blog-resource/php-development/better-unicode-support-in-mysql-5-5-utf8mb4.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/better-unicode-support-in-mysql-5-5-utf8mb4.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/better-unicode-support-in-mysql-5-5-utf8mb4.jsonld.twig') }} {% endblock %}
{% block title %}Better Unicode Support in MySQL 5.5 UTF8MB4{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/database-seeding-doctrine-data-fixtures-vs-phinx.html.twig b/src/Blog/templates/page/blog-resource/php-development/database-seeding-doctrine-data-fixtures-vs-phinx.html.twig
index 93b51479..0ab5f734 100644
--- a/src/Blog/templates/page/blog-resource/php-development/database-seeding-doctrine-data-fixtures-vs-phinx.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/database-seeding-doctrine-data-fixtures-vs-phinx.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/database-seeding-doctrine-data-fixtures-vs-phinx.jsonld.twig') }} {% endblock %}
{% block title %}Database seeding: Doctrine data fixtures vs Phinx{% endblock %}
@@ -14,7 +15,7 @@
@@ -108,7 +109,7 @@ ConsoleRunner::run(
It should print out all the doctrine CLI commands available, including our fixtures commands.
-
+
Usage
@@ -116,7 +117,7 @@ ConsoleRunner::run(
php bin/doctrine fixtures:list
-
+
By using this command you can check the execution order of your fixtures before executing them .
@@ -275,7 +276,7 @@ class UserLoader implements FixtureInterface, DependentFixtureInterface
After running all the fixtures using php bin/doctrine fixtures:execute the output should look like this:
-
+
RoleLoader was executed before UserLoader because UserLoader had RoleLoader as a dependency.
diff --git a/src/Blog/templates/page/blog-resource/php-development/end-of-support-for-php-5-2-x-branch.html.twig b/src/Blog/templates/page/blog-resource/php-development/end-of-support-for-php-5-2-x-branch.html.twig
index 02e8ae28..ab4d3481 100644
--- a/src/Blog/templates/page/blog-resource/php-development/end-of-support-for-php-5-2-x-branch.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/end-of-support-for-php-5-2-x-branch.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/end-of-support-for-php-5-2-x-branch.jsonld.twig') }} {% endblock %}
{% block title %}End of Support for PHP 5.2.x Branch{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/floating-point-arithmetic-why-is-int-0-7-0-1-10-7.html.twig b/src/Blog/templates/page/blog-resource/php-development/floating-point-arithmetic-why-is-int-0-7-0-1-10-7.html.twig
index 556f6fbf..c277d74a 100644
--- a/src/Blog/templates/page/blog-resource/php-development/floating-point-arithmetic-why-is-int-0-7-0-1-10-7.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/floating-point-arithmetic-why-is-int-0-7-0-1-10-7.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/floating-point-arithmetic-why-is-int-0-7-0-1-10-7.jsonld.twig') }} {% endblock %}
{% block title %}Floating-Point Arithmetic - Why is (int)((0.7+0.1)*10) = 7 ?{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/how-to-upgrade-wamp-to-php-5-3-4.html.twig b/src/Blog/templates/page/blog-resource/php-development/how-to-upgrade-wamp-to-php-5-3-4.html.twig
index 3a04549b..c77af84c 100644
--- a/src/Blog/templates/page/blog-resource/php-development/how-to-upgrade-wamp-to-php-5-3-4.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/how-to-upgrade-wamp-to-php-5-3-4.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/how-to-upgrade-wamp-to-php-5-3-4.jsonld.twig') }} {% endblock %}
{% block title %}How To Upgrade Wamp to PHP 5.3.4{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/mezzio-app-development-in-wsl2.html.twig b/src/Blog/templates/page/blog-resource/php-development/mezzio-app-development-in-wsl2.html.twig
index e470bd9e..cdef3008 100644
--- a/src/Blog/templates/page/blog-resource/php-development/mezzio-app-development-in-wsl2.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/mezzio-app-development-in-wsl2.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/mezzio-app-development-in-wsl2.jsonld.twig') }} {% endblock %}
{% block title %}Mezzio app development in WSL2{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/php-5-3-6-released-no-upgrade-possible-for-wampserver.html.twig b/src/Blog/templates/page/blog-resource/php-development/php-5-3-6-released-no-upgrade-possible-for-wampserver.html.twig
index 388ad0c1..0237324a 100644
--- a/src/Blog/templates/page/blog-resource/php-development/php-5-3-6-released-no-upgrade-possible-for-wampserver.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/php-5-3-6-released-no-upgrade-possible-for-wampserver.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/php-5-3-6-released-no-upgrade-possible-for-wampserver.jsonld.twig') }} {% endblock %}
{% block title %}PHP 5.3.6 released. No upgrade possible for WampServer.{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/php-environment-development-staging-production.html.twig b/src/Blog/templates/page/blog-resource/php-development/php-environment-development-staging-production.html.twig
index 6b7e9762..d8c0e78d 100644
--- a/src/Blog/templates/page/blog-resource/php-development/php-environment-development-staging-production.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/php-environment-development-staging-production.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/php-environment-development-staging-production.jsonld.twig') }} {% endblock %}
{% block title %}PHP Environment : Development Staging Production{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/php-support-back-in-aptana-3-0.html.twig b/src/Blog/templates/page/blog-resource/php-development/php-support-back-in-aptana-3-0.html.twig
index 17892ef8..3eccf096 100644
--- a/src/Blog/templates/page/blog-resource/php-development/php-support-back-in-aptana-3-0.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/php-support-back-in-aptana-3-0.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/php-support-back-in-aptana-3-0.jsonld.twig') }} {% endblock %}
{% block title %}PHP support back in Aptana 3.0{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/protection-against-sql-injection-using-pdo-and-zend-framework-part-2.html.twig b/src/Blog/templates/page/blog-resource/php-development/protection-against-sql-injection-using-pdo-and-zend-framework-part-2.html.twig
index bb5de9b1..c8381ae8 100644
--- a/src/Blog/templates/page/blog-resource/php-development/protection-against-sql-injection-using-pdo-and-zend-framework-part-2.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/protection-against-sql-injection-using-pdo-and-zend-framework-part-2.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/protection-against-sql-injection-using-pdo-and-zend-framework-part-2.jsonld.twig') }} {% endblock %}
{% block title %}Protection against SQL Injection using PDO and Zend Framework - part 2{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/protection-against-sql-injection-using-pdo-and-zend-framework.html.twig b/src/Blog/templates/page/blog-resource/php-development/protection-against-sql-injection-using-pdo-and-zend-framework.html.twig
index ad9573fe..ff86e86b 100644
--- a/src/Blog/templates/page/blog-resource/php-development/protection-against-sql-injection-using-pdo-and-zend-framework.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/protection-against-sql-injection-using-pdo-and-zend-framework.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/protection-against-sql-injection-using-pdo-and-zend-framework.jsonld.twig') }} {% endblock %}
{% block title %}Protection against SQL Injection using PDO and Zend Framework{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/remote-connections-to-mysql-server-on-plesk-based-servers.html.twig b/src/Blog/templates/page/blog-resource/php-development/remote-connections-to-mysql-server-on-plesk-based-servers.html.twig
index 484336f3..68f1cd57 100644
--- a/src/Blog/templates/page/blog-resource/php-development/remote-connections-to-mysql-server-on-plesk-based-servers.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/remote-connections-to-mysql-server-on-plesk-based-servers.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/remote-connections-to-mysql-server-on-plesk-based-servers.jsonld.twig') }} {% endblock %}
{% block title %}Remote connections to MySQL server on Plesk based servers{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/static-analysis-replacing-psalm-with-phpstan.html.twig b/src/Blog/templates/page/blog-resource/php-development/static-analysis-replacing-psalm-with-phpstan.html.twig
index ff98984f..31799d3f 100644
--- a/src/Blog/templates/page/blog-resource/php-development/static-analysis-replacing-psalm-with-phpstan.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/static-analysis-replacing-psalm-with-phpstan.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/static-analysis-replacing-psalm-with-phpstan.jsonld.twig') }} {% endblock %}
{% block title %}Static Analysis - Replacing Psalm with PHPStan{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/using-aptana-to-connect-to-dotkernel-tracker-mantis.html.twig b/src/Blog/templates/page/blog-resource/php-development/using-aptana-to-connect-to-dotkernel-tracker-mantis.html.twig
index 86d7f776..1bbf2c48 100644
--- a/src/Blog/templates/page/blog-resource/php-development/using-aptana-to-connect-to-dotkernel-tracker-mantis.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/using-aptana-to-connect-to-dotkernel-tracker-mantis.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/using-aptana-to-connect-to-dotkernel-tracker-mantis.jsonld.twig') }} {% endblock %}
{% block title %}Using Aptana to connect to DotKernel tracker (Mantis){% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/using-php-7-express-in-zend-studio-13.html.twig b/src/Blog/templates/page/blog-resource/php-development/using-php-7-express-in-zend-studio-13.html.twig
index d0917079..aca9cf27 100644
--- a/src/Blog/templates/page/blog-resource/php-development/using-php-7-express-in-zend-studio-13.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/using-php-7-express-in-zend-studio-13.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/using-php-7-express-in-zend-studio-13.jsonld.twig') }} {% endblock %}
{% block title %}Using PHP 7 Express in Zend Studio 13{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/version-control-ignore-patterns-in-zend-studio.html.twig b/src/Blog/templates/page/blog-resource/php-development/version-control-ignore-patterns-in-zend-studio.html.twig
index b9a40306..5d9dfe1a 100644
--- a/src/Blog/templates/page/blog-resource/php-development/version-control-ignore-patterns-in-zend-studio.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/version-control-ignore-patterns-in-zend-studio.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/version-control-ignore-patterns-in-zend-studio.jsonld.twig') }} {% endblock %}
{% block title %}Version Control Ignore Patterns in Zend Studio{% endblock %}
@@ -14,7 +15,7 @@
@@ -43,7 +44,7 @@ Also, on each project, you can use either global ignored patterns, or use spec
-
+
{{ include('@partial/post-nav.html.twig') }}
diff --git a/src/Blog/templates/page/blog-resource/php-development/welcome-to-the-10th-zend-certified-engineer-in-dotboost-team.html.twig b/src/Blog/templates/page/blog-resource/php-development/welcome-to-the-10th-zend-certified-engineer-in-dotboost-team.html.twig
index b106bd9c..2c077e20 100644
--- a/src/Blog/templates/page/blog-resource/php-development/welcome-to-the-10th-zend-certified-engineer-in-dotboost-team.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/welcome-to-the-10th-zend-certified-engineer-in-dotboost-team.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/welcome-to-the-10th-zend-certified-engineer-in-dotboost-team.jsonld.twig') }} {% endblock %}
{% block title %}Welcome to the 10th Zend Certified Engineer in Dotboost Team{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-development/zend-server-5-5-quick-setup-on-windows.html.twig b/src/Blog/templates/page/blog-resource/php-development/zend-server-5-5-quick-setup-on-windows.html.twig
index 3f8dd107..c1a84368 100644
--- a/src/Blog/templates/page/blog-resource/php-development/zend-server-5-5-quick-setup-on-windows.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-development/zend-server-5-5-quick-setup-on-windows.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-development/zend-server-5-5-quick-setup-on-windows.jsonld.twig') }} {% endblock %}
{% block title %}Zend Server 5.5 Quick Setup on Windows{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-troubleshooting/fix-installing-pear-packages-with-php-7-2.html.twig b/src/Blog/templates/page/blog-resource/php-troubleshooting/fix-installing-pear-packages-with-php-7-2.html.twig
index cb4a8af0..30992e4a 100644
--- a/src/Blog/templates/page/blog-resource/php-troubleshooting/fix-installing-pear-packages-with-php-7-2.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-troubleshooting/fix-installing-pear-packages-with-php-7-2.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-troubleshooting/fix-installing-pear-packages-with-php-7-2.jsonld.twig') }} {% endblock %}
{% block title %}[FIX] Installing PEAR packages with PHP 7.2{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/php-troubleshooting/where-is-the-intl-php-extension-problem-solved.html.twig b/src/Blog/templates/page/blog-resource/php-troubleshooting/where-is-the-intl-php-extension-problem-solved.html.twig
index a70abf82..e78c85a2 100644
--- a/src/Blog/templates/page/blog-resource/php-troubleshooting/where-is-the-intl-php-extension-problem-solved.html.twig
+++ b/src/Blog/templates/page/blog-resource/php-troubleshooting/where-is-the-intl-php-extension-problem-solved.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/php-troubleshooting/where-is-the-intl-php-extension-problem-solved.jsonld.twig') }} {% endblock %}
{% block title %}Where is the intl PHP extension? Problem solved!{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/phpstorm/code-quality-how-to-setup-phpcs-in-phpstorm.html.twig b/src/Blog/templates/page/blog-resource/phpstorm/code-quality-how-to-setup-phpcs-in-phpstorm.html.twig
index 3ade0220..a2e9a693 100644
--- a/src/Blog/templates/page/blog-resource/phpstorm/code-quality-how-to-setup-phpcs-in-phpstorm.html.twig
+++ b/src/Blog/templates/page/blog-resource/phpstorm/code-quality-how-to-setup-phpcs-in-phpstorm.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/phpstorm/code-quality-how-to-setup-phpcs-in-phpstorm.jsonld.twig') }} {% endblock %}
{% block title %}Code Quality: How to setup phpcs in PHPStorm{% endblock %}
@@ -14,7 +15,7 @@
@@ -31,7 +32,7 @@
PHP_CodeSniffer or phpcs is a tool that helps developers maintain a specific standard in the way they write code. In order to be able to provide relevant information, phpcs needs to be configured correctly in PHPStorm (see image).
-
+
@@ -88,19 +89,19 @@
After you have the above configurations, you should start seeing information in the top-right corner of the editor.
-
+
Once the PHPStorm has finished analyzing the opened file, you should see either a green tick (meaning no errors)
-
+
or a count of all the errors, warnings, typos:
-
+
Clicking on them will open a section where you get detailed information on each item, their location and recommendations on how to fix them:
-
+
{{ include('@partial/post-nav.html.twig') }}
diff --git a/src/Blog/templates/page/blog-resource/zend-framework/scienta-zf-debug-bar-a-very-helpfull-zf-debug-tool.html.twig b/src/Blog/templates/page/blog-resource/zend-framework/scienta-zf-debug-bar-a-very-helpfull-zf-debug-tool.html.twig
index aac3b2b2..d5e0000d 100644
--- a/src/Blog/templates/page/blog-resource/zend-framework/scienta-zf-debug-bar-a-very-helpfull-zf-debug-tool.html.twig
+++ b/src/Blog/templates/page/blog-resource/zend-framework/scienta-zf-debug-bar-a-very-helpfull-zf-debug-tool.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/zend-framework/scienta-zf-debug-bar-a-very-helpfull-zf-debug-tool.jsonld.twig') }} {% endblock %}
{% block title %}Scienta ZF Debug Bar: A very helpfull ZF debug tool{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/zend-framework/sunsetting-pear-channel-for-zend-framework-1.html.twig b/src/Blog/templates/page/blog-resource/zend-framework/sunsetting-pear-channel-for-zend-framework-1.html.twig
index ad72cc76..c1c79bd4 100644
--- a/src/Blog/templates/page/blog-resource/zend-framework/sunsetting-pear-channel-for-zend-framework-1.html.twig
+++ b/src/Blog/templates/page/blog-resource/zend-framework/sunsetting-pear-channel-for-zend-framework-1.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/zend-framework/sunsetting-pear-channel-for-zend-framework-1.jsonld.twig') }} {% endblock %}
{% block title %}Sunsetting PEAR Channel for Zend Framework 1{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/zend-framework/wurfl-php-api-libraries-gpl-versions.html.twig b/src/Blog/templates/page/blog-resource/zend-framework/wurfl-php-api-libraries-gpl-versions.html.twig
index 09bf948e..e14e0f41 100644
--- a/src/Blog/templates/page/blog-resource/zend-framework/wurfl-php-api-libraries-gpl-versions.html.twig
+++ b/src/Blog/templates/page/blog-resource/zend-framework/wurfl-php-api-libraries-gpl-versions.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/zend-framework/wurfl-php-api-libraries-gpl-versions.jsonld.twig') }} {% endblock %}
{% block title %}WURFL PHP API libraries , GPL versions{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-12-4-released-with-security-fixes.html.twig b/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-12-4-released-with-security-fixes.html.twig
index 2a912dae..9e6efde1 100644
--- a/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-12-4-released-with-security-fixes.html.twig
+++ b/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-12-4-released-with-security-fixes.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/zend-framework/zend-framework-1-12-4-released-with-security-fixes.jsonld.twig') }} {% endblock %}
{% block title %}Zend Framework 1.12.4 Released with Security Fixes{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-7-0-released.html.twig b/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-7-0-released.html.twig
index 53a9c550..3600917b 100644
--- a/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-7-0-released.html.twig
+++ b/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-7-0-released.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/zend-framework/zend-framework-1-7-0-released.jsonld.twig') }} {% endblock %}
{% block title %}Zend Framework 1.7.0 Released{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-end-of-life.html.twig b/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-end-of-life.html.twig
index 93af313b..250093a8 100644
--- a/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-end-of-life.html.twig
+++ b/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-1-end-of-life.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/zend-framework/zend-framework-1-end-of-life.jsonld.twig') }} {% endblock %}
{% block title %}Zend Framework 1 End-of-Life{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-as-pear-accessible-repository-on-plesk-server.html.twig b/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-as-pear-accessible-repository-on-plesk-server.html.twig
index e0a15cbd..b6caae68 100644
--- a/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-as-pear-accessible-repository-on-plesk-server.html.twig
+++ b/src/Blog/templates/page/blog-resource/zend-framework/zend-framework-as-pear-accessible-repository-on-plesk-server.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/zend-framework/zend-framework-as-pear-accessible-repository-on-plesk-server.jsonld.twig') }} {% endblock %}
{% block title %}Zend Framework as PEAR accessible repository on Plesk server{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog-resource/zend-framework/zend-mail-and-zend-http-security-fixes-in-zend-framework-1-12-12.html.twig b/src/Blog/templates/page/blog-resource/zend-framework/zend-mail-and-zend-http-security-fixes-in-zend-framework-1-12-12.html.twig
index 947f8fb2..4b37f7bf 100644
--- a/src/Blog/templates/page/blog-resource/zend-framework/zend-mail-and-zend-http-security-fixes-in-zend-framework-1-12-12.html.twig
+++ b/src/Blog/templates/page/blog-resource/zend-framework/zend-mail-and-zend-http-security-fixes-in-zend-framework-1-12-12.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/zend-framework/zend-mail-and-zend-http-security-fixes-in-zend-framework-1-12-12.jsonld.twig') }} {% endblock %}
{% block title %}Zend_Mail and Zend_Http Security Fixes in Zend Framework 1.12.12{% endblock %}
@@ -14,7 +15,7 @@
diff --git a/src/Blog/templates/page/blog.html.twig b/src/Blog/templates/page/blog.html.twig
index 20021bed..7abe7bed 100644
--- a/src/Blog/templates/page/blog.html.twig
+++ b/src/Blog/templates/page/blog.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/blog.jsonld.twig') }} {% endblock %}
{% block title %}Posts{% endblock %}
@@ -18,36 +19,21 @@
{{ include('@partial/left-menu.html.twig') }}
-
+
{% endblock %}
diff --git a/src/Blog/templates/page/contact.html.twig b/src/Blog/templates/page/contact.html.twig
index f59dbddd..39736d34 100644
--- a/src/Blog/templates/page/contact.html.twig
+++ b/src/Blog/templates/page/contact.html.twig
@@ -1,4 +1,5 @@
{% extends '@layout/default.html.twig' %}
+{% block json_ld %} {{ include('@jsonld/contact.jsonld.twig') }} {% endblock %}
{% block title %}Contact{% endblock %}
@@ -14,61 +15,95 @@
{% block content %}
-
{{ include('@partial/left-menu.html.twig') }}
-
-