changing links from-wroclaw or wroclaw- /wroclaw
Jenkins Trigger / trigger_jenkins (push) Waiting to run Details

This commit is contained in:
Artur Kuś 2025-09-05 21:14:31 +02:00
parent 7e008cd844
commit de36547ead
17 changed files with 71 additions and 69 deletions

View File

@ -19,7 +19,7 @@
"<h2>Contact</h2>",
"<p>If you have any questions or concerns, please contact me via email at: ",
"<a class=\"dropdown-item active\" href=\"mailto:kusartur@gmail.com\">",
"<img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"res/bootstrap-icons/envelope.svg\" />",
"<img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"/res/bootstrap-icons/envelope.svg\" />",
"<b> kusartur@gmail.com </b></a> </p>",
"<p><a href=\"https://{{domain}}/welcome\"> Back to the homepage </a> </p>"
]

View File

@ -20,7 +20,7 @@
"<h2>Kontakt</h2>",
"<p>W przypadku pytań lub wątpliwości proszę o kontakt mailowy na adres: ",
"<a class=\"dropdown-item active\" href=\"mailto:kusartur@gmail.com\">",
"<img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"res/bootstrap-icons/envelope.svg\" />",
"<img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"/res/bootstrap-icons/envelope.svg\" />",
"<b> kusartur@gmail.com </b></a> </p>",
"<p><a href=\"https://{{domain}}\"> Powrót do strony głównej </a> </p>"
]

View File

@ -82,8 +82,8 @@
{
"short": "Could your website be here?",
"href": "mailto:kusartur@gmail.com",
"micro": "res/bootstrap-icons/envelope.svg",
"description": "Send an email with your proposal <img width='30' height='20' src='res/bootstrap-icons/envelope.svg' >",
"micro": "/res/bootstrap-icons/envelope.svg",
"description": "Send an email with your proposal <img width='30' height='20' src='/res/bootstrap-icons/envelope.svg' >",
"title": "Could your website be here",
"alt": ""
}

View File

@ -97,8 +97,8 @@
{
"short": "Tu może być Twój serwis ?",
"href": "mailto:kusartur@gmail.com",
"micro": "res/bootstrap-icons/envelope.svg",
"description": "Wyślij mail-a z propozycją <img width='30' height='20' src='res/bootstrap-icons/envelope.svg' >",
"micro": "/res/bootstrap-icons/envelope.svg",
"description": "Wyślij mail-a z propozycją <img width='30' height='20' src='/res/bootstrap-icons/envelope.svg' >",
"title": "Tu może być Twój serwis",
"alt": ""
}

View File

@ -11,13 +11,13 @@
<meta name="author" content="Artur Kuś" />
<!-- Preload krytycznych plików CSS -->
<link rel="preload" href="bootstrap/css/bootstrap.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'" />
<noscript><link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" /></noscript>
<link rel="preload" href="/bootstrap/css/bootstrap.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'" />
<noscript><link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css" /></noscript>
<link rel="preload" href="res/css/style.css" as="style" onload="this.onload=null;this.rel='stylesheet'" />
<noscript><link rel="stylesheet" href="res/css/style.css" /></noscript>
<link rel="preload" href="/res/css/style.css" as="style" onload="this.onload=null;this.rel='stylesheet'" />
<noscript><link rel="stylesheet" href="/res/css/style.css" /></noscript>
<script src="bootstrap/js/bootstrap.bundle.min.js" defer importance="low"></script>
<script src="/bootstrap/js/bootstrap.bundle.min.js" defer importance="low"></script>
<title><%= webPage.get('metaTitle', language) %></title>
<meta name="title" content="<%= webPage.get('metaTitle', language) %>" />

View File

@ -9,7 +9,7 @@
<div class="col-auto">
<a href="mailto:kusartur@gmail.com">
<img width="30" height="20"
src="res/bootstrap-icons/envelope.svg" /> kusartur@gmail.com
src="/res/bootstrap-icons/envelope.svg" /> kusartur@gmail.com
</a>
</div>
</div>
@ -17,7 +17,7 @@
<div class="row justify-content-center">
<div class="col-auto">
<a href="https://www.linkedin.com/in/artur-ku%C5%9B-99a7b02/" rel="nofollow noopener noreferrer" target="_blank"> <img
width="30" height="20" src="res/bootstrap-icons/linkedin.svg" />Linkedin
width="30" height="20" src="/res/bootstrap-icons/linkedin.svg" />Linkedin
</a>
</div>
</div>

View File

@ -10,14 +10,14 @@
<h5 class="card-title">Wrocław</h5>
<div class="col-auto">
<a href="mailto:kusartur@gmail.com">
<img width="30" height="20" src="res/bootstrap-icons/envelope.svg" alt="envelope" >
<img width="30" height="20" src="/res/bootstrap-icons/envelope.svg" alt="envelope" >
kusartur&#64;gmail.com
</a>
</div>
<div class="col-auto">
<a href="https://www.linkedin.com/in/artur-ku%C5%9B-99a7b02/" rel="nofollow noopener noreferrer" target="_blank" > <img
width="30" height="20" src="res/bootstrap-icons/linkedin.svg" alt="linkedin" >Linkedin
width="30" height="20" src="/res/bootstrap-icons/linkedin.svg" alt="linkedin" >Linkedin
</a>
</div>
</div>

View File

@ -81,7 +81,7 @@
"<ul><li>Number of visits to individual pages.</li>",
"<li>This data is processed without the use of cookies and does not allow the identification of users. </li></ul>",
"<h2>Contact</h2>",
"<p>If you have any questions, please email <a class=\"dropdown-item active\" href=\"mailto:zaklina.malolepsza@gmail.com\"> <img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"res/bootstrap-icons/envelope.svg\" /><b> zaklina.malolepsza@gmail.com </b></a> </p>",
"<p>If you have any questions, please email <a class=\"dropdown-item active\" href=\"mailto:zaklina.malolepsza@gmail.com\"> <img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"/res/bootstrap-icons/envelope.svg\" /><b> zaklina.malolepsza@gmail.com </b></a> </p>",
"<p><a href=\"https://bodypainter.eu/home-Wroclaw\"> Back to home page </a> </p>"
]
},

View File

@ -86,7 +86,7 @@
"<ul><li>Liczbę odwiedzin poszczególnych stron.</li>",
"<li>Dane te są przetwarzane bez użycia plików cookies i nie pozwalają na identyfikację użytkowników.</li></ul>",
"<h2>Kontakt</h2>",
"<p>W razie pytań prosimy o mail do <a class=\"dropdown-item active\" href=\"mailto:zaklina.malolepsza@gmail.com\"> <img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"res/bootstrap-icons/envelope.svg\" /><b> zaklina.malolepsza@gmail.com </b></a> </p>",
"<p>W razie pytań prosimy o mail do <a class=\"dropdown-item active\" href=\"mailto:zaklina.malolepsza@gmail.com\"> <img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"/res/bootstrap-icons/envelope.svg\" /><b> zaklina.malolepsza@gmail.com </b></a> </p>",
"<p><a href=\"https://bodypainter.eu\"> Powrót do strony głównej </a> </p>"
]
},

View File

@ -5,7 +5,6 @@ import { Paths } from './../../../packages/paths/Paths.js';
import { WebSite } from './../../../packages/websites/WebSite.js';
import { swietliki } from './artifacts/SwietlikiBusiness.js';
import { zaklinaOffers } from './artifacts/ZaklinaOffers.js';
import { EnumChangefreq, SitemapItemLoose } from 'sitemap';
import { zaklinaBodyPainter } from './artifacts/activities.js';
@ -25,6 +24,7 @@ import { PicturesFileComponent } from './../../../packages/utils/PictureFileComp
import { Language } from './../../../packages/utils/Tools.js';
import { WebPage } from './../../../packages/websites/WebPage.js';
import { Faq } from '@packages/schema-org/Faq.js';
import { zaklinaOffers } from './artifacts/ZaklinaOffers.js';
enum PageId {
HOME = 'home',
@ -43,32 +43,32 @@ enum PageId {
enum PageRoutePolish {
HOME = '/',
WELCOME = '/witam-na-stronie-malowanie-twarzy-i-ciala-Wroclaw',
PRIVACY_POLICY = '/polityka-prywatnosci-Wroclaw',
GALLERY = '/galeria-Zaklina-Malolepsza-Wroclaw',
ABOUT_ME = '/o-mnie-Zaklina-Malolepsza-Wroclaw',
FACE_PAINTING_COURSE = '/kurs-malowania-twarzy-Zaklina-Malolepsza-Wroclaw',
BODY_PAINTING = '/malowanie-ciala-Zaklina-Malolepsza-Wroclaw',
BELLY_PAINTING = '/malowanie-brzuchow-i-brzuszkow-Zaklina-Malolepsza-Wroclaw',
FACE_PAINTING = '/malowanie-twarzy-Zaklina-Malolepsza-Wroclaw',
ARTISTIC_MAKEUP = '/makijaz-artystyczny-Zaklina-Malolepsza-Wroclaw',
PRICE_LIST = '/cennik-Zaklina-Malolepsza-Wroclaw',
FAQ = '/faq-malowanie-twarzy-bodypainting-wroclaw',
WELCOME = '/wroclaw/witam-na-stronie-malowanie-twarzy-i-ciala',
PRIVACY_POLICY = '/polityka-prywatnosci',
GALLERY = '/wroclaw/galeria-zaklina-malolepsza',
ABOUT_ME = '/wroclaw/o-mnie-zaklina-malolepsza',
FACE_PAINTING_COURSE = '/wroclaw/kurs-malowania-twarzy-zaklina-malolepsza',
BODY_PAINTING = '/wroclaw/malowanie-ciala-zaklina-malolepsza',
BELLY_PAINTING = '/wroclaw/malowanie-brzuchow-i-brzuszkow-zaklina-malolepsza',
FACE_PAINTING = '/wroclaw/malowanie-twarzy-zaklina-malolepsza',
ARTISTIC_MAKEUP = '/wroclaw/makijaz-artystyczny-zaklina-malolepsza',
PRICE_LIST = '/wroclaw/cennik-zaklina-malolepsza',
FAQ = '/wroclaw/faq-malowanie-twarzy-bodypainting',
}
enum PageRouteEnglish {
HOME = '/home-Wroclaw',
WELCOME = '/bodypainter-zaklina-welcome',
PRIVACY_POLICY = '/privacy-policy-Wroclaw',
GALLERY = '/gallery-Zaklina-Malolepsza-Wroclaw',
ABOUT_ME = '/about-me-Zaklina-Malolpsza-Wroclaw',
FACE_PAINTING_COURSE = '/face-painting-course-Wroclaw',
BODY_PAINTING = '/body-painting-Wroclaw',
BELLY_PAINTING = '/belly-painting-Wroclaw',
FACE_PAINTING = '/face-painting-Wroclaw',
ARTISTIC_MAKEUP = '/artistic-makeup-Wroclaw',
PRICE_LIST = '/price-list-Zaklina-Malolepsza-Wroclaw',
FAQ = '/faq-facepainting-bodypainting-wroclaw',
HOME = '/wroclaw/home',
WELCOME = '/wroclaw/bodypainter-zaklina-welcome',
PRIVACY_POLICY = '/wroclaw/privacy-policy',
GALLERY = '/wroclaw/gallery-zaklina-malolepsza',
ABOUT_ME = '/wroclaw/about-me-zaklina-Malolpsza',
FACE_PAINTING_COURSE = '/wroclaw/face-painting-course',
BODY_PAINTING = '/wroclaw/body-painting',
BELLY_PAINTING = '/wroclaw/belly-painting',
FACE_PAINTING = '/wroclaw/face-painting',
ARTISTIC_MAKEUP = '/wroclaw/artistic-makeup',
PRICE_LIST = '/wroclaw/price-list-zaklina-malolepsza',
FAQ = '/wroclaw/faq-facepainting-bodypainting',
}
export class BodyPainterWebSite extends WebSite {

View File

@ -55,25 +55,25 @@
<ul aria-labelledby="contact_id" class="dropdown-menu dropdown-menu-end" >
<li>
<a class="dropdown-item" href="mailto:zaklina.malolepsza@gmail.com">
<img width="20" height="20" alt="envelope" src="res/bootstrap-icons/envelope.svg" class="me-2" />
<img width="20" height="20" alt="envelope" src="/res/bootstrap-icons/envelope.svg" class="me-2" />
zaklina.malolepsza@gmail.com
</a>
</li>
<li>
<a class="dropdown-item" href="https://www.facebook.com/makeupbodyart" target="_blank" rel="nofollow noopener noreferrer">
<img width="20" height="20" alt="facebook" src="res/bootstrap-icons/facebook.svg" class="me-2" />
<img width="20" height="20" alt="facebook" src="/res/bootstrap-icons/facebook.svg" class="me-2" />
Facebook
</a>
</li>
<li>
<a class="dropdown-item" href="https://www.linkedin.com/in/%C5%BCaklina-ma%C5%82olepsza-0682b584/" target="_blank" rel="nofollow noopener noreferrer">
<img width="20" height="20" alt="linkedin" src="res/bootstrap-icons/linkedin.svg" class="me-2" />
<img width="20" height="20" alt="linkedin" src="/res/bootstrap-icons/linkedin.svg" class="me-2" />
LinkedIn
</a>
</li>
<li>
<a class="dropdown-item" href="tel:+48512558222">
<img width="20" height="20" alt="telephone" src="res/bootstrap-icons/telephone.svg" class="me-2" />
<img width="20" height="20" alt="telephone" src="/res/bootstrap-icons/telephone.svg" class="me-2" />
+48 512 558 222
</a>
</li>

View File

@ -1,6 +1,6 @@
import { Statistic } from '@packages/utils/Statistic.js';
import { KopamaComPlfWebSite } from './KopamaWebSite.js';
import { KopamaWebSite } from './KopamaWebSite.js';
import { PicturesFileComponent } from '@packages/utils/PictureFileComponent.js';
@ -52,7 +52,7 @@ async function startApp() {
const pictures = new PicturesFileComponent(pc);
// Inicjalizacja serwisu
const kopamaComPlSite = new KopamaComPlfWebSite(pictures, paths);
const kopamaComPlSite = new KopamaWebSite(pictures, paths);
// Inicjalizacja statystyk
const statistic = new Statistic(kopamaComPlSite);
@ -100,7 +100,7 @@ async function startApp() {
};
// Inicjalizacja aplikacji
const kopamaComPlApp = new App(
const kopamaApp = new App(
kopamaComPlSite,
paths,
statistic,
@ -108,10 +108,10 @@ async function startApp() {
);
await statistic.load();
await kopamaComPlApp.initApp(pfc);
await kopamaApp.initApp(pfc);
// Uruchomienie serwera
kopamaComPlApp.start(APP_PORT);
kopamaApp.start(APP_PORT);
} catch (err) {
console.error('Failed to start the app:', err);
}

View File

@ -30,23 +30,23 @@ enum PageId {
enum PageRoutePolish {
HOME = '/',
PRIVACY_POLICY = '/wroclaw-polityka-prywatnosci',
CURRENT_EVENT = '/wroclaw-kopaMa-kurs-prawa-jazdy-od-9-wrzesnia',
OFFER = '/wroclaw-oferta-kursow-prawa-jazdy',
FAQ = '/wroclaw-czesto-zadawane-pytania',
INSTRUCTORS = '/wroclaw-kopaMa-instruktorzy',
PRIVACY_POLICY = '/polityka-prywatnosci',
CURRENT_EVENT = '/wroclaw/kopaMa-kurs-prawa-jazdy-od-9-wrzesnia',
OFFER = '/wroclaw/oferta-kursow-prawa-jazdy',
FAQ = '/wroclaw/czesto-zadawane-pytania',
INSTRUCTORS = '/wroclaw/kopaMa-instruktorzy',
}
enum PageRouteEnglish {
HOME = '/home',
PRIVACY_POLICY = '/wroclaw-privacy-policy',
CURRENT_EVENT = '/wroclaw-kopaMa-driving-license-course-from-9-september',
OFFER = '/wroclaw-kopaMa-offer',
FAQ = '/wroclaw-kopaMa-faq',
INSTRUCTORS = '/wroclaw-kopaMa-instructors',
PRIVACY_POLICY = '/privacy-policy',
CURRENT_EVENT = '/wroclaw/kopaMa-driving-license-course-from-9-september',
OFFER = '/wroclaw/kopaMa-offer',
FAQ = '/wroclaw/kopaMa-faq',
INSTRUCTORS = '/wroclaw/kopaMa-instructors',
}
export class KopamaComPlfWebSite extends WebSite {
export class KopamaWebSite extends WebSite {
HOME: WebPage;
constructor(pictures: PicturesFileComponent, paths: Paths) {

View File

@ -59,7 +59,7 @@
"<ul><li>Number of visits to individual pages.</li>",
"<li>This data is processed without the use of cookies and does not allow the identification of users. </li></ul>",
"<h2>Contact</h2>",
"<p>If you have any questions, please email <a class=\"dropdown-item active\" href=\"mailto:zaklina.malolepsza@gmail.com\"> <img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"res/bootstrap-icons/envelope.svg\" /><b> zaklina.malolepsza@gmail.com </b></a> </p>",
"<p>If you have any questions, please email <a class=\"dropdown-item active\" href=\"mailto:zaklina.malolepsza@gmail.com\"> <img loading=\"lazy\" width=\"30\" height=\"20\" alt=\"envelope\" src=\"/res/bootstrap-icons/envelope.svg\" /><b> zaklina.malolepsza@gmail.com </b></a> </p>",
"<p><a href=\"https://massage.themself.eu\"> Return to home page </a> </p>"
]
},

View File

@ -2,7 +2,7 @@ import { format } from 'date-fns';
import dotenv from 'dotenv';
import * as dotenvExpand from 'dotenv-expand';
export const SERVICE_WORKER_VERSION = 'v0.0.28';
export const SERVICE_WORKER_VERSION = 'v0.0.29';
export const isProduction = process.env.NODE_ENV === 'production';
export const enableJson = true;
// Wybór pliku na podstawie NODE_ENV

View File

@ -170,9 +170,11 @@ export class Picture {
entry.pages.add(webId);
entry.count++;
console.warn(
`[Brak ${entry.count}x] W json dla obrazka ${pictureId} brak lokalizowanego wpisu dla strony ${webId}`,
);
if (false) {
console.warn(
`[Brak ${entry.count}x] W json dla obrazka ${pictureId} brak lokalizowanego wpisu dla strony ${webId}`,
);
}
console.warn(
` Dotychczas brakuje na stronach: ${Array.from(entry.pages).join(', ')}`,
);

View File

@ -63,7 +63,7 @@ export class Redirector {
return res.redirect(301, uri);
}
// 3. Sprawdź, czy to trasa Google lub inna statyczna (którą chcemy obsługiwać)
// 2. Sprawdź, czy to trasa Google lub inna statyczna (którą chcemy obsługiwać)
const isGoogleRoute = Routes.isGoogleRoute(uri);
if (
isGoogleRoute ||
@ -76,14 +76,14 @@ export class Redirector {
return next();
}
// 4. Obsłuż normalne strony (te, które nie są przekierowaniami)
// 3. Obsłuż normalne strony (te, które nie są przekierowaniami)
const webPage = this.webSite.getByRoute(uri);
if (webPage) {
this.statistic.visitRoute(req);
return next();
}
// 5. Domyślne przekierowanie
// 4. Domyślne przekierowanie
console.warn(`[${Date.now()}] Redirected to home: ${uri}!`);
return res.redirect(301, '/');
}