Skip to content

Commit e283f6d

Browse files
committed
[ADD] Sitemap.
1 parent 06cc92b commit e283f6d

File tree

8 files changed

+60
-25
lines changed

8 files changed

+60
-25
lines changed

config/sSeoSitemapTemplate.blade.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
2+
@php($escapePages = []) {{-- The ID of the pages to exclude from the result --}}
3+
@php($escapePageChilds = []) {{-- The ID of the parent pages whose child resources should be excluded from the result --}}
4+
@php($pages = EvolutionCMS\Models\SiteContent::wherePublished(1)->whereDeleted(0)->whereSearchable(1)->whereNotIn('id', $escapePages)->whereNotIn('parent', $escapePageChilds)->get())
5+
@php($articles = Seiger\sArticles\Models\sArticle::active()->get())
6+
@foreach(sLang::langFront() as $lang)
7+
@if ($lang != sLang::langDefault())@php(evo()->setConfig('virtual_dir', $lang.'/'))@endif
8+
@foreach($pages as $page)
9+
<url><loc>{{url($page->id, '', '', 'full')}}</loc><lastmod>{{Carbon\Carbon::parse($page->editedon)->toDateTimeString()}}</lastmod><changefreq>always</changefreq><priority>0.7</priority></url>
10+
@endforeach
11+
@foreach($articles as $article)
12+
<url><loc>{{$article->link}}</loc><lastmod>{{Carbon\Carbon::parse($article->updated_at)->toDateTimeString()}}</lastmod><changefreq>weekly</changefreq><priority>1</priority></url>
13+
@endforeach
14+
@foreach($books as $book)
15+
<url><loc>{{$book->link}}</loc><lastmod>{{Carbon\Carbon::parse($book->updated_at)->toDateTimeString()}}</lastmod><changefreq>weekly</changefreq><priority>1</priority></url>
16+
@endforeach
17+
@endforeach
18+
</urlset>

docs/_includes/head.html

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<head>
2-
<meta charset=utf-8>
3-
<meta http-equiv=X-UA-Compatible content="IE=edge">
4-
<meta name=keywords content="Seiger {{ site.keywords }}">
5-
<meta name="ROBOTS" CONTENT="INDEX, FOLLOW">
2+
<meta charset="utf-8">
3+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
4+
<meta name="keywords" content="Seiger {{ site.keywords }}">
5+
<meta name="robots" CONTENT="INDEX, FOLLOW">
66
<link rel="shortcut icon" href="{{ site.baseurl }}/assets/favicons/favicon.ico" >
77
<link rel="apple-touch-icon" href="{{ site.baseurl }}/assets/favicons/apple-touch-icon.png" sizes="180x180">
88
<link rel="icon" type="image/png" href="{{ site.baseurl }}/assets/favicons/favicon-16x16.png" sizes="16x16">
@@ -21,25 +21,25 @@
2121
<meta name="twitter:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}"/>
2222
<meta name="twitter:description" content="{% if page.description %}{{ page.description | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}"/>
2323
{% if site.logo %}<meta name="twitter:image" content="{{ site.baseurl }}{{ site.logo }}">{% endif %}
24-
<meta name=referrer content=origin>
25-
<meta name=HandheldFriendly content=True>
26-
<meta name=viewport content="width=device-width, initial-scale=1.0">
27-
<meta name=msapplication-TileColor content="#2b5797">
28-
<meta name=theme-color content="#2b5797">
29-
<meta property="og:locale" content=en_US>
30-
<meta property="og:type" content=article>
24+
<meta name="referrer" content="origin">
25+
<meta name="HandheldFriendly" content="True">
26+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
27+
<meta name="msapplication-TileColor" content="#2b5797">
28+
<meta name="theme-color" content="#2b5797">
29+
<meta property="og:locale" content="en">
30+
<meta property="og:type" content="article">
3131
{% if site.logo %}<meta property="og:image" content="{{ site.baseurl }}{{ site.logo }}">{% endif %}
3232
<style>@font-face{font-family:'Inter';src:url({{ site.baseurl }}/assets/fonts/inter-light.woff2)format('woff2');font-weight:300;font-style:normal;}@font-face{font-family:'Inter';src:url({{ site.baseurl }}/assets/fonts/inter-regular.woff2)format('woff2');font-weight:400;font-style:normal;}@font-face{font-family:'Inter';src:url({{ site.baseurl }}/assets/fonts/inter-medium.woff2)format('woff2');font-weight:500;font-style:normal;}@font-face{font-family:'Inter';src:url({{ site.baseurl }}/assets/fonts/inter-semibold.woff2)format('woff2');font-weight:600;font-style:normal;}@font-face{font-family:'Inter';src:url({{ site.baseurl }}/assets/fonts/inter-bold.woff2)format('woff2');font-weight:700;font-style:normal;}@font-face{font-family:'Mackinac';src:url({{ site.baseurl }}/assets/fonts/mackinac-bold.woff2)format('woff2');font-weight:700;font-style:normal;}@font-face{font-family:'Native';src:url({{ site.baseurl }}/assets/fonts/native-regular.woff2)format('woff2');font-weight:400;font-style:normal;}@font-face{font-family:'Native';src:url({{ site.baseurl }}/assets/fonts/native-bold.woff2)format('woff2');font-weight:700;font-style:normal;}</style>
3333
<script>var fontsInServiceWorker=sessionStorage.foutFontsStage1Loaded&&sessionStorage.foutFontsStage2Loaded||"serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state;if(!fontsInServiceWorker&&"fonts"in document){function fetchFonts(o){return Promise.all(o.map(function(o){return document.fonts.load(o)}))}sessionStorage.foutFontsStage2Loaded?document.documentElement.className+=" wf-loaded-stage2":sessionStorage.foutFontsStage1Loaded=!0}if("fonts"in document){let o=new FontFace("Inter","url({{ site.baseurl }}/assets/fonts/inter-light.woff2) format('woff2')",{weight:"300"}),e=new FontFace("Inter","url({{ site.baseurl }}/assets/fonts/inter-regular.woff2) format('woff2')",{weight:"400"}),t=new FontFace("Inter","url({{ site.baseurl }}/assets/fonts/inter-medium.woff2) format('woff2')",{weight:"500"}),n=new FontFace("Inter","url({{ site.baseurl }}/assets/fonts/inter-semibold.woff2) format('woff2')",{weight:"600"}),a=new FontFace("Inter","url({{ site.baseurl }}/assets/fonts/inter-bold.woff2) format('woff2')",{weight:"700"}),r=new FontFace("Mackinac","url({{ site.baseurl }}/assets/fonts/mackinac-bold.woff2) format('woff2')",{weight:"700"}),f=new FontFace("Native","url({{ site.baseurl }}/assets/fonts/native-regular.woff2) format('woff2')",{weight:"400"}),i=new FontFace("Native","url({{ site.baseurl }}/assets/fonts/native-bold.woff2) format('woff2')",{weight:"700"});Promise.all([o.load(),e.load(),t.load(),n.load(),a.load(),r.load(),f.load(),i.load()]).then(o=>{o.forEach(o=>document.fonts.add(o)),document.documentElement.classList.add("wf-loaded-stage2"),sessionStorage.foutFontsStage2Loaded=!0}).catch(o=>{throw new Error(`Error caught: ${o}`)})}(sessionStorage.foutFontsStage1Loaded&&sessionStorage.foutFontsStage2Loaded||"serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state)&&document.documentElement.classList.add("wf-loaded-stage2");</script>
34-
<link rel=preload href="{{ site.baseurl }}/assets/fonts/inter-light.woff2" as=font type="font/woff2" crossorigin>
35-
<link rel=preload href="{{ site.baseurl }}/assets/fonts/inter-regular.woff2" as=font type="font/woff2" crossorigin>
36-
<link rel=preload href="{{ site.baseurl }}/assets/fonts/inter-medium.woff2" as=font type="font/woff2" crossorigin>
37-
<link rel=preload href="{{ site.baseurl }}/assets/fonts/inter-semibold.woff2" as=font type="font/woff2" crossorigin>
38-
<link rel=preload href="{{ site.baseurl }}/assets/fonts/inter-bold.woff2" as=font type="font/woff2" crossorigin>
39-
<link rel=preload href="{{ site.baseurl }}/assets/fonts/mackinac-bold.woff2" as=font type="font/woff2" crossorigin>
40-
<link rel=preload href="{{ site.baseurl }}/assets/fonts/native-regular.woff2" as=font type="font/woff2" crossorigin>
41-
<link rel=preload href="{{ site.baseurl }}/assets/fonts/native-bold.woff2" as=font type="font/woff2" crossorigin>
42-
<link rel=stylesheet href="{{ site.baseurl }}/assets/css/tailwind.css" media=all>
43-
<link rel=stylesheet href="{{ site.baseurl }}/assets/css/main.css" media=all>
44-
<link rel=stylesheet href="{{ site.baseurl }}/assets/css/docsearch.css" media=all>
34+
<link rel="preload" href="{{ site.baseurl }}/assets/fonts/inter-light.woff2" as="font" type="font/woff2" crossorigin>
35+
<link rel="preload" href="{{ site.baseurl }}/assets/fonts/inter-regular.woff2" as="font" type="font/woff2" crossorigin>
36+
<link rel="preload" href="{{ site.baseurl }}/assets/fonts/inter-medium.woff2" as="font" type="font/woff2" crossorigin>
37+
<link rel="preload" href="{{ site.baseurl }}/assets/fonts/inter-semibold.woff2" as="font" type="font/woff2" crossorigin>
38+
<link rel="preload" href="{{ site.baseurl }}/assets/fonts/inter-bold.woff2" as="font" type="font/woff2" crossorigin>
39+
<link rel="preload" href="{{ site.baseurl }}/assets/fonts/mackinac-bold.woff2" as="font" type="font/woff2" crossorigin>
40+
<link rel="preload" href="{{ site.baseurl }}/assets/fonts/native-regular.woff2" as="font" type="font/woff2" crossorigin>
41+
<link rel="preload" href="{{ site.baseurl }}/assets/fonts/native-bold.woff2" as="font" type="font/woff2" crossorigin>
42+
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/tailwind2.css" media="all">
43+
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css" media="all">
44+
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/docsearch.css" media="all">
4545
</head>

docs/_layouts/default.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
</div>
4343
<div class="hidden xl:block w-60 h-full flex-shrink-0"></div>
4444
<div class="hidden xl:block fixed top-0 pt-36 pb-16 pl-0.5 w-60 h-full md:text-[13px] text-navy leading-5 docs-right-sidebar">
45-
<a href="#" class="flex items-center text-sm font-semibold hover:text-sky-600 transition-colors pb-1 -ml-0.5 mb-1">On this page</a>
45+
<!-- <a href="#" class="flex items-center text-sm font-semibold hover:text-sky-600 transition-colors pb-1 -ml-0.5 mb-1">On this page</a>-->
4646
<nav class="flex flex-col relative" id=toc>
4747
<ul class="outline-list" id="TOCL">
4848
<!-- TOC will be appened here -->

docs/_layouts/post.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
---
22
layout: page
33
---
4-
<!-- Copyright 2019-2021 Vanessa Sochat-->
54
<h1 style="margin-bottom:0px">{{ page.title }}</h1>{% if page.badges %}{% for badge in page.badges %}<span style="font-size:12px;{% if badge.color %}background-color:{{ badge.color }}{% endif %}" class="inline-flex items-center justify-center px-2 py-1 mr-2 text-xs font-bold leading-none text-sky-100 bg-sky-600 rounded{% if site.badge_rounded %}-full{% endif %}"><a style="cursor:pointer; color:white" href="{% if site.tag_search_endpoint %}{{ site.tag_search_endpoint }}{{ tag }}{% else %}{{ site.url }}{{ site.baseurl }}/tags#{{ tag }} {% endif %}">{{ badge.name }}</a></span>{% endfor %}{% endif %}
65
<span class="post-date" style="font-style: italic;">{{ page.date | date: "%B %d, %Y" }}</span>
76
{{ content }}
File renamed without changes.

docs/pages/getting-started.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,8 @@ Check if the `OnHeadWebDocumentRender` event is registered in the `<head></head>
3737
@endif
3838
...
3939
</head>
40-
```
40+
```
41+
42+
## Configure sitemap template
43+
44+
Configure the output template for `sitemap.xml` by path `assets/plugins/sseo/sitemapTemplate.blade.php`

plugins/sSeoPlugin.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@
2727
if (str_starts_with($domen, 'www.')) {
2828
if (config('seiger.settings.sSeo.manage_www', 0) == 1) {
2929
$domen = ltrim($domen, 'www.');
30+
$redirect = true;
3031
}
3132
} else {
3233
if (config('seiger.settings.sSeo.manage_www', 0) == 2) {
3334
$domen = 'www.' . $domen;
35+
$redirect = true;
3436
}
3537
}
3638
}
@@ -44,6 +46,16 @@
4446
$requestUriArr = explode('/', $requestUri);
4547
$requestUriArr = array_diff($requestUriArr, ['']);
4648
$requestUri = implode('/', $requestUriArr);
49+
if (strpos($requestUri,"/")) {
50+
$requestUri = '/'.$requestUri;
51+
}
52+
$redirect = true;
53+
}
54+
55+
// Check request uppercase latters
56+
if (preg_match_all("/[A-Z]/", $requestUri)) {
57+
$requestUri = Str::lower($requestUri);
58+
$redirect = true;
4759
}
4860

4961
// Check request end
@@ -52,6 +64,7 @@
5264
if (!str_ends_with($requestUriArr[0], evo()->getConfig('friendly_url_suffix', ''))) {
5365
$requestUriArr[0] = $requestUriArr[0] . evo()->getConfig('friendly_url_suffix', '');
5466
$requestUri = implode('?', $requestUriArr);
67+
$redirect = true;
5568
}
5669
}
5770

src/sSeoServiceProvider.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public function boot()
2424
dirname(__DIR__) . '/config/sSeoAlias.php' => config_path('app/aliases/sSeo.php', true),
2525
dirname(__DIR__) . '/config/sSeoSettings.php' => config_path('seiger/settings/sSeo.php', true),
2626
dirname(__DIR__) . '/images/seigerit-yellow.svg' => public_path('assets/site/seigerit-yellow.svg'),
27+
dirname(__DIR__) . '/config/sSeoSitemapTemplate.blade.php' => public_path('assets/plugins/sseo/sitemapTemplate.blade.php'),
2728
]);
2829
}
2930

0 commit comments

Comments
 (0)