This commit is contained in:
f4ilji
2024-11-08 14:36:13 +05:00
parent fbea6ecd48
commit 992464e2e1
24 changed files with 130 additions and 98 deletions
+18
View File
@@ -14,6 +14,7 @@ use App\Models\Faculty;
use App\Models\LibraryNews;
use App\Models\Page;
use App\Models\Post;
use App\Models\User;
use App\Models\VirtualExhibition;
use Illuminate\Console\Command;
use Spatie\Sitemap\Sitemap;
@@ -227,6 +228,23 @@ class GenerateSitemap extends Command
});
}
protected function generatePersons(Sitemap $sitemap)
{
$posts = User::query()
->whereHas('userDetail')
->with('userDetail')
->get();
$this->addUrlsToSitemap($sitemap, $posts, function($user) {
return [
'path' => route('client.person.show', $user->slug, false),
'lastModificationDate' => $user->userDetail->updated_at,
'priority' => 0.5,
];
});
}
protected function addUrlsToSitemap(Sitemap $sitemap, $items, callable $callback)
+5 -7
View File
@@ -2,18 +2,16 @@
import { Head } from '@inertiajs/vue3'
defineProps({
title: String,
description: String,
image: String,
seo: Object,
})
</script>
<template>
<Head :title="title ? `${title} - Нижнетагильский государственый-педагогический институт` : 'Нижнетагильский государственый-педагогический институт'">
<meta name="description" :content="description">
<Head :title="seo?.title ? `${seo.title} - Нижнетагильский государственый-педагогический институт` : 'Нижнетагильский государственый-педагогический институт'">
<meta name="description" :content="seo?.description ? `${seo.description} - Нижнетагильский государственый-педагогический институт` : 'Нижнетагильский государственый-педагогический институт'">
<meta name="robots" content="index, follow">
<meta property="og:title" :content="title ? `${title} - Нижнетагильский государственый-педагогический институт` : 'Нижнетагильский государственый-педагогический институт'">
<meta property="og:description" :content="description">
<meta property="og:title" :content="seo?.title ? `${seo.title} - Нижнетагильский государственый-педагогический институт` : 'Нижнетагильский государственый-педагогический институт'">
<meta property="og:description" :content="seo?.description ? `${seo.description} - Нижнетагильский государственый-педагогический институт` : 'Нижнетагильский государственый-педагогический институт'">
<meta property="og:image" content="/img/thumbnail-1.png">
</Head>
</template>
@@ -11,10 +11,12 @@ import ClientPostFilter from '@/Components/ClientPostFilter.vue';
import ClientPost from '@/Components/ClientPost.vue';
import ClientPostSearch from '@/Components/ClientPostSearch.vue';
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
MainPageNavBar,
AdminIndexHeaderTitle, AdminIndexHeader,
AdminIndexFilter, AdminIndexSearch,
@@ -36,6 +38,9 @@ export default {
journals: {
type: Array,
},
seo: {
type: Object,
}
},
methods: {
@@ -47,10 +52,9 @@ export default {
</script>
<template>
<Head>
<title>Научные периодические издания НТГСПИ</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
<main class="flex-grow">
@@ -14,10 +14,12 @@ import ClientImageSlider from "@/Components/ClientImageSlider.vue";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import AcademicJournalsBuilder from "@/Components/BuilderUi/AcademicJournals/AcademicJournalsBuilder.vue";
import AcademicJournalsTitle from "@/Components/BuilderUi/AcademicJournals/AcademicJournalsTitle.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Show",
components: {
AppHead,
AcademicJournalsTitle,
AcademicJournalsBuilder,
MainPageNavBar,
@@ -48,6 +50,9 @@ export default {
years: {
type: Object
},
seo: {
type: Object,
}
},
methods: {
textLimit(text, symbols) {
@@ -66,10 +71,8 @@ export default {
</script>
<template>
<Head>
<title>Журнал</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
@@ -19,10 +19,12 @@ import PostBadge from "@/Components/BuilderUi/Events/EventBadgeBuilder.vue";
import ProgramBadge from "@/Components/BuilderUi/AdditionalEducationPrograms/ProgramBadge.vue";
import AdditionalEducationProgramListBreadcrumbs
from "@/Components/BuilderUi/AdditionalEducationPrograms/AdditionalEducationProgramListBreadcrumbs.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
AdditionalEducationProgramListBreadcrumbs,
ProgramBadge,
PostBadge,
@@ -64,6 +66,9 @@ export default {
},
breadcrumbs: {
type: Object
},
seo: {
type: Object,
}
},
methods: {
@@ -93,10 +98,9 @@ export default {
</script>
<template>
<Head>
<title>Дополнительное образование</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
@@ -70,10 +70,8 @@ export default {
</script>
<template>
<AppHead
:title="seo.title"
:description="seo.description"
/>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
@@ -1,8 +1,6 @@
<template>
<AppHead
:title="seo.title"
:description="seo.description"
/>
<AppHead :seo="seo" />
<div class="flex flex-col h-screen justify-between">
@@ -1,9 +1,7 @@
<template>
<AppHead
:title="seo.title"
:description="seo.description"
/>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation" />
@@ -13,10 +13,12 @@ import ClientPost from '@/Components/ClientPost.vue';
import ClientPostSearch from '@/Components/ClientPostSearch.vue';
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import DivisionListBreadcrumbs from "@/Components/BuilderUi/Divisions/DivisionListBreadcrumbs.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
DivisionListBreadcrumbs,
MainPageNavBar,
AdminIndexHeaderTitle, AdminIndexHeader,
@@ -39,6 +41,9 @@ export default {
divisions: {
type: Array,
},
seo: {
type: Object,
}
},
methods: {
@@ -50,10 +55,8 @@ export default {
</script>
<template>
<Head>
<title>Подразделения института</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
+1 -4
View File
@@ -1,8 +1,5 @@
<template>
<AppHead
:title="seo.title"
:description="seo.description"
/>
<AppHead :seo="seo" />
<div class="flex flex-col h-screen">
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
+7 -4
View File
@@ -15,10 +15,12 @@ import ClientEventSelectDate from "@/Components/ClientEventSelectDate.vue";
import ClientEventFilter from "@/Components/ClientEventFilter.vue";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import EventListBreadcrumbs from "@/Components/BuilderUi/Events/EventListBreadcrumbs.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
EventListBreadcrumbs,
MainPageNavBar,
ClientEventFilter,
@@ -56,6 +58,9 @@ export default {
},
breadcrumbs: {
type: Object
},
seo: {
type: Object,
}
},
methods: {},
@@ -63,10 +68,8 @@ export default {
</script>
<template>
<Head>
<title>Мероприятия</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
<main class="flex-grow">
+2 -4
View File
@@ -62,10 +62,8 @@ export default {
</script>
<template>
<AppHead
:title="seo.title"
:description="seo.description"
/>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
@@ -13,10 +13,12 @@ import ClientPost from '@/Components/ClientPost.vue';
import ClientPostSearch from '@/Components/ClientPostSearch.vue';
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import FacultyListBreadcrumbs from "@/Components/BuilderUi/Faculties/FacultyListBreadcrumbs.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
FacultyListBreadcrumbs,
MainPageNavBar,
AdminIndexHeaderTitle, AdminIndexHeader,
@@ -40,6 +42,9 @@ export default {
faculties: {
type: Array,
},
seo: {
type: Object,
}
},
methods: {
@@ -51,10 +56,8 @@ export default {
</script>
<template>
<Head>
<title>Факультеты</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
+2 -4
View File
@@ -1,8 +1,6 @@
<template>
<AppHead
:title="seo.title"
:description="seo.description"
/>
<AppHead :seo="seo" />
<div class="flex flex-col h-screen justify-between">
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
@@ -10,10 +10,12 @@ import AdminIndexHeader from "@/Components/AdminIndexHeader.vue";
import AdminIndexHeaderTitle from "@/Components/AdminIndexHeaderTitle.vue";
import ClientEventSelectDate from "@/Components/ClientEventSelectDate.vue";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
MainPageNavBar,
ClientEventSelectDate,
AdminIndexHeaderTitle, AdminIndexHeader,
@@ -30,6 +32,9 @@ export default {
exhibitions: {
type: Array,
},
seo: {
type: Object,
}
},
methods: {},
@@ -39,10 +44,8 @@ export default {
</script>
<template>
<Head>
<title>Виртуальные выставки</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
<main class="flex-grow">
@@ -9,11 +9,13 @@ import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import BaseTitle from "@/Components/BaseComponents/BaseBuilderUi/BaseTitle.vue";
import BaseBuilder from "@/Components/BaseComponents/BaseBuilderUi/BaseBuilder.vue";
import BaseBackButton from "@/Components/BaseComponents/BaseBuilderUi/BaseBackButton.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Show",
components: {
AppHead,
BaseBackButton,
BaseBuilder,
BaseTitle,
@@ -30,6 +32,9 @@ export default {
exhibition: {
type: Array,
},
seo: {
type: Object,
}
},
methods: {
textLimit(text, symbols) {
@@ -47,10 +52,8 @@ export default {
</script>
<template>
<Head>
<title>{{ exhibition.data.title }}</title>
<meta name="description" content="Your page description">
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10">
<div class="max-w-4xl px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto">
@@ -13,10 +13,12 @@ import ClientPost from '@/Components/ClientPost.vue';
import ClientPostSearch from '@/Components/ClientPostSearch.vue';
import ClientEventSelectDate from "@/Components/ClientEventSelectDate.vue";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
MainPageNavBar,
ClientEventSelectDate,
AdminIndexHeaderTitle, AdminIndexHeader,
@@ -35,6 +37,9 @@ export default {
posts: {
type: Array,
},
seo: {
type: Object,
}
},
methods: {},
@@ -44,10 +49,8 @@ export default {
</script>
<template>
<Head>
<title>Мероприятия</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
<main class="flex-grow">
@@ -9,11 +9,13 @@ import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import BaseBackButton from "@/Components/BaseComponents/BaseBuilderUi/BaseBackButton.vue";
import BaseTitle from "@/Components/BaseComponents/BaseBuilderUi/BaseTitle.vue";
import BaseBuilder from "@/Components/BaseComponents/BaseBuilderUi/BaseBuilder.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Show",
components: {
AppHead,
BaseBuilder,
BaseTitle, BaseBackButton,
MainPageNavBar,
@@ -29,6 +31,9 @@ export default {
post: {
type: Array,
},
seo: {
type: Object,
}
},
methods: {
textLimit(text, symbols) {
@@ -46,10 +51,8 @@ export default {
</script>
<template>
<Head>
<title>{{ post.data.title }}</title>
<meta name="description" content="Your page description">
</Head>
<AppHead :seo="seo" />
<ClientScrollTimeline/>
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
+5 -4
View File
@@ -1,8 +1,6 @@
<template>
<AppHead
:title="seo?.title"
:description="seo?.description"
/>
<AppHead :seo="seo" />
<div class="flex flex-col h-screen">
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
@@ -353,6 +351,9 @@ export default {
person: {
type: Object,
},
seo: {
type: Object,
}
},
components: {
+7 -4
View File
@@ -14,10 +14,12 @@ import ClientPostSearch from '@/Components/ClientPostSearch.vue';
import PostBadge from "@/Components/BuilderUi/Events/EventBadgeBuilder.vue";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import NewsBreadcrumbs from "@/Components/BuilderUi/Posts/NewsBreadcrumbs.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
NewsBreadcrumbs,
MainPageNavBar,
PostBadge,
@@ -56,6 +58,9 @@ export default {
},
breadcrumbs: {
type: Object,
},
seo: {
type: Object,
}
},
methods: {
@@ -68,10 +73,8 @@ export default {
</script>
<template>
<Head>
<title>Новости</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
<main class="flex-grow">
+1 -4
View File
@@ -71,10 +71,7 @@ export default {
</script>
<template>
<AppHead
:title="seo.title"
:description="seo.description"
/>
<AppHead :seo="seo" />
<ClientScrollTimeline/>
+6 -5
View File
@@ -26,10 +26,12 @@ import ClientAdditionalProgramFilter
import ProgramBadge from "@/Components/BuilderUi/AdditionalEducationPrograms/ProgramBadge.vue";
import AdditionalEducationProgramListBreadcrumbs
from "@/Components/BuilderUi/AdditionalEducationPrograms/AdditionalEducationProgramListBreadcrumbs.vue";
import AppHead from "@/Components/AppHead.vue";
export default {
name: "Index",
components: {
AppHead,
AdditionalEducationProgramListBreadcrumbs, ProgramBadge, ClientAdditionalProgramFilter,
ProgramListBreadcrumbs,
MainPageNavBar,
@@ -75,6 +77,9 @@ export default {
direction_studies: {
type: Array,
},
seo: {
type: Object,
}
},
methods: {
transformToColumns(originalArray) {
@@ -102,11 +107,7 @@ export default {
</script>
<template>
<Head>
<title>Приемная компания</title>
<meta name="description" content="Your page description"/>
</Head>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
+2 -5
View File
@@ -78,12 +78,9 @@ export default {
</script>
<template>
<AppHead
:title="seo?.title"
:description="seo?.description"
/>
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<AppHead :seo="seo" />
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
<div class="flex flex-col h-screen">
<main class="flex-grow">
+2 -4
View File
@@ -1,8 +1,6 @@
<template>
<AppHead
:title="seo?.title"
:description="seo?.description"
/>
<AppHead :seo="seo" />
<MainPageNavBar :sections="$page.props.navigation" :slider-ref="sliderRef" />
<ClientMainSlider @slider-mounted="setSliderRef" :slidersCarousel="sliders" />
<section class="max-w-screen-xl w-full mx-auto px-4 py-3 pb-10">