Compare commits

...

2 commits

Author SHA1 Message Date
87e3053fab added seo 2025-01-05 18:31:40 +01:00
00ccbf8752 add consitent values to lists 2025-01-05 16:56:49 +01:00
11 changed files with 3118 additions and 2191 deletions

14
package-lock.json generated
View file

@ -8,7 +8,7 @@
"name": "webpage-cms",
"version": "1.0.0",
"dependencies": {
"@offset-dev/strapi-calendar": "^1.0.0-beta.1",
"@offset-dev/strapi-calendar": "^1.0.0",
"@strapi/plugin-color-picker": "^5.1.1",
"@strapi/plugin-documentation": "^5.1.1",
"@strapi/plugin-graphql": "^5.1.1",
@ -1668,9 +1668,9 @@
}
},
"node_modules/@offset-dev/strapi-calendar": {
"version": "1.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@offset-dev/strapi-calendar/-/strapi-calendar-1.0.0-beta.1.tgz",
"integrity": "sha512-ipMPvE7D94FV8UaBElagdWO/pIyGEZXi880jjcE+mQZtavDwOD6ZyJKelRENTeMKxjN0zDT1Q13oAAJuJMG/iQ==",
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@offset-dev/strapi-calendar/-/strapi-calendar-1.0.0.tgz",
"integrity": "sha512-ZsMLnJKRXprFScTVIP1psAppoOeWnHNv3BpuJXiIxTnY16tLIG2PHPiWDWtA/aGh/yfqhUg1W5YMMlcLqmDOlA==",
"license": "MIT",
"dependencies": {
"@fullcalendar/core": "^6.1.15",
@ -22415,9 +22415,9 @@
}
},
"@offset-dev/strapi-calendar": {
"version": "1.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@offset-dev/strapi-calendar/-/strapi-calendar-1.0.0-beta.1.tgz",
"integrity": "sha512-ipMPvE7D94FV8UaBElagdWO/pIyGEZXi880jjcE+mQZtavDwOD6ZyJKelRENTeMKxjN0zDT1Q13oAAJuJMG/iQ==",
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@offset-dev/strapi-calendar/-/strapi-calendar-1.0.0.tgz",
"integrity": "sha512-ZsMLnJKRXprFScTVIP1psAppoOeWnHNv3BpuJXiIxTnY16tLIG2PHPiWDWtA/aGh/yfqhUg1W5YMMlcLqmDOlA==",
"requires": {
"@fullcalendar/core": "^6.1.15",
"@fullcalendar/daygrid": "^6.1.15",

View file

@ -11,7 +11,7 @@
"strapi": "strapi"
},
"dependencies": {
"@offset-dev/strapi-calendar": "^1.0.0-beta.1",
"@offset-dev/strapi-calendar": "^1.0.0",
"@strapi/plugin-color-picker": "^5.1.1",
"@strapi/plugin-documentation": "^5.1.1",
"@strapi/plugin-graphql": "^5.1.1",

View file

@ -35,25 +35,19 @@
"image": {
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": [
"images"
],
"allowedTypes": ["images"],
"pluginOptions": {}
},
"attachment": {
"type": "media",
"multiple": true,
"required": false,
"allowedTypes": [
"images"
],
"allowedTypes": ["images"],
"pluginOptions": {}
},
"date": {
"pluginOptions": {},
"type": "date",
"required": true
"type": "date"
}
}
}

View file

@ -28,10 +28,26 @@
"targetField": "title",
"required": true
},
"content": {
"pluginOptions": {},
"type": "blocks"
},
"image": {
"type": "media",
"multiple": false,
"allowedTypes": ["images"],
"pluginOptions": {}
},
"attachment": {
"type": "media",
"multiple": true,
"required": false,
"allowedTypes": ["images"],
"pluginOptions": {}
},
"date": {
"pluginOptions": {},
"type": "datetime",
"required": true
"type": "date"
}
}
}

View file

@ -24,6 +24,11 @@
"repeatable": false,
"pluginOptions": {},
"component": "global.footer"
},
"SEO": {
"type": "component",
"repeatable": false,
"component": "shared.seo"
}
}
}

View file

@ -28,22 +28,26 @@
"targetField": "title",
"required": true
},
"content": {
"pluginOptions": {},
"type": "blocks"
},
"image": {
"type": "media",
"multiple": false,
"allowedTypes": ["images"],
"pluginOptions": {}
},
"attachment": {
"type": "media",
"multiple": true,
"required": false,
"allowedTypes": [
"images"
],
"allowedTypes": ["images"],
"pluginOptions": {}
},
"date": {
"pluginOptions": {},
"type": "datetime",
"required": true
},
"content": {
"type": "blocks"
"type": "date"
}
}
}

View file

@ -34,20 +34,19 @@
"image": {
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": [
"images"
],
"allowedTypes": ["images"],
"pluginOptions": {}
},
"attachment": {
"type": "media",
"multiple": true,
"required": false,
"allowedTypes": [
"images"
],
"allowedTypes": ["images"],
"pluginOptions": {}
},
"date": {
"pluginOptions": {},
"type": "date"
}
}
}

View file

@ -0,0 +1,25 @@
{
"collectionName": "components_shared_seos",
"info": {
"displayName": "seo",
"icon": "search",
"description": ""
},
"options": {},
"attributes": {
"metaTitle": {
"required": true,
"type": "string",
"maxLength": 60
},
"metaDescription": {
"type": "string",
"required": true,
"minLength": 50
},
"keywords": {
"type": "text",
"regex": "[^,]+"
}
}
}

View file

@ -1,26 +1,24 @@
import type { Schema, Struct } from '@strapi/strapi';
import type { Schema, Struct } from "@strapi/strapi";
export interface DynamicZoneColumnImageText extends Struct.ComponentSchema {
collectionName: 'components_dynamic_zone_column_image_texts';
collectionName: "components_dynamic_zone_column_image_texts";
info: {
description: '';
displayName: 'Text-Bild-Spalte';
icon: 'bulletList';
description: "";
displayName: "Text-Bild-Spalte";
icon: "bulletList";
};
attributes: {
image: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
image_left: Schema.Attribute.Boolean &
Schema.Attribute.Required &
Schema.Attribute.DefaultTo<true>;
image: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
image_left: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<true>;
text: Schema.Attribute.Blocks & Schema.Attribute.Required;
};
}
export interface DynamicZoneDualColumnText extends Struct.ComponentSchema {
collectionName: 'components_dynamic_zone_dual_column_texts';
collectionName: "components_dynamic_zone_dual_column_texts";
info: {
displayName: 'Text-Text-Spalte';
icon: 'stack';
displayName: "Text-Text-Spalte";
icon: "stack";
};
attributes: {
left_side: Schema.Attribute.Blocks & Schema.Attribute.Required;
@ -29,40 +27,38 @@ export interface DynamicZoneDualColumnText extends Struct.ComponentSchema {
}
export interface DynamicZoneEmphasiseArticle extends Struct.ComponentSchema {
collectionName: 'components_dynamic_zone_emphasise_articles';
collectionName: "components_dynamic_zone_emphasise_articles";
info: {
description: '';
displayName: 'Artikel hervorheben';
icon: 'dashboard';
description: "";
displayName: "Artikel hervorheben";
icon: "dashboard";
};
attributes: {
articles: Schema.Attribute.Relation<'oneToMany', 'api::article.article'>;
base_url: Schema.Attribute.String &
Schema.Attribute.Required &
Schema.Attribute.DefaultTo<'/artikel'>;
articles: Schema.Attribute.Relation<"oneToMany", "api::article.article">;
base_url: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.DefaultTo<"/artikel">;
description: Schema.Attribute.Text;
titel: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface DynamicZoneFullImage extends Struct.ComponentSchema {
collectionName: 'components_dynamic_zone_full_images';
collectionName: "components_dynamic_zone_full_images";
info: {
description: '';
displayName: 'Voll-Bild';
icon: 'dashboard';
description: "";
displayName: "Voll-Bild";
icon: "dashboard";
};
attributes: {
image: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
image: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
};
}
export interface DynamicZoneFullText extends Struct.ComponentSchema {
collectionName: 'components_dynamic_zone_full_texts';
collectionName: "components_dynamic_zone_full_texts";
info: {
description: '';
displayName: 'Voll-Text';
icon: 'dashboard';
description: "";
displayName: "Voll-Text";
icon: "dashboard";
};
attributes: {
text: Schema.Attribute.Blocks & Schema.Attribute.Required;
@ -70,142 +66,155 @@ export interface DynamicZoneFullText extends Struct.ComponentSchema {
}
export interface DynamicZoneGallery extends Struct.ComponentSchema {
collectionName: 'components_dynamic_zone_galleries';
collectionName: "components_dynamic_zone_galleries";
info: {
description: '';
displayName: 'Galerie';
icon: 'apps';
description: "";
displayName: "Galerie";
icon: "apps";
};
attributes: {
images: Schema.Attribute.Media<'images', true> & Schema.Attribute.Required;
images: Schema.Attribute.Media<"images", true> & Schema.Attribute.Required;
};
}
export interface GlobalFooter extends Struct.ComponentSchema {
collectionName: 'components_global_footers';
collectionName: "components_global_footers";
info: {
description: '';
displayName: 'Fu\u00DFzeile';
icon: 'apps';
description: "";
displayName: "Fu\u00DFzeile";
icon: "apps";
};
attributes: {
copyright: Schema.Attribute.String;
designed_developed_by: Schema.Attribute.String;
links: Schema.Attribute.Component<'shared.link', true>;
links: Schema.Attribute.Component<"shared.link", true>;
};
}
export interface GlobalNavbar extends Struct.ComponentSchema {
collectionName: 'components_global_navbars';
collectionName: "components_global_navbars";
info: {
description: '';
displayName: 'Navigationsleiste';
icon: 'bold';
description: "";
displayName: "Navigationsleiste";
icon: "bold";
};
attributes: {
logo: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
navbar_items: Schema.Attribute.Component<'items.navbar-items', true>;
logo: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
navbar_items: Schema.Attribute.Component<"items.navbar-items", true>;
};
}
export interface ItemsNavbarItems extends Struct.ComponentSchema {
collectionName: 'components_items_left_navbar_items';
collectionName: "components_items_left_navbar_items";
info: {
description: '';
displayName: 'Navigations-\u00DCberpunkt';
icon: 'bulletList';
description: "";
displayName: "Navigations-\u00DCberpunkt";
icon: "bulletList";
};
attributes: {
default_active_child: Schema.Attribute.String;
name: Schema.Attribute.String;
navbar_sub_items: Schema.Attribute.Component<
'items.navbar-sub-items',
true
>;
page: Schema.Attribute.Relation<'oneToOne', 'api::page.page'>;
navbar_sub_items: Schema.Attribute.Component<"items.navbar-sub-items", true>;
page: Schema.Attribute.Relation<"oneToOne", "api::page.page">;
URL: Schema.Attribute.String;
};
}
export interface ItemsNavbarSubItems extends Struct.ComponentSchema {
collectionName: 'components_items_navbar_sub_items';
collectionName: "components_items_navbar_sub_items";
info: {
description: '';
displayName: 'Navigations-Unterpunkt';
icon: 'bulletList';
description: "";
displayName: "Navigations-Unterpunkt";
icon: "bulletList";
};
attributes: {
name: Schema.Attribute.String & Schema.Attribute.Required;
page: Schema.Attribute.Relation<'oneToOne', 'api::page.page'>;
page: Schema.Attribute.Relation<"oneToOne", "api::page.page">;
URL: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface SharedHero extends Struct.ComponentSchema {
collectionName: 'components_shared_heroes';
collectionName: "components_shared_heroes";
info: {
description: '';
displayName: 'hero';
icon: 'rocket';
description: "";
displayName: "hero";
icon: "rocket";
};
attributes: {
banner: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
banner: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
title: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface SharedLink extends Struct.ComponentSchema {
collectionName: 'components_shared_links';
collectionName: "components_shared_links";
info: {
description: '';
displayName: 'Link';
icon: 'link';
description: "";
displayName: "Link";
icon: "link";
};
attributes: {
target: Schema.Attribute.Enumeration<
['_blank', '_self', '_parent', '_top']
> &
target: Schema.Attribute.Enumeration<["_blank", "_self", "_parent", "_top"]> &
Schema.Attribute.Required &
Schema.Attribute.DefaultTo<'_self'>;
Schema.Attribute.DefaultTo<"_self">;
text: Schema.Attribute.String & Schema.Attribute.Required;
URL: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface SharedList extends Struct.ComponentSchema {
collectionName: 'components_shared_lists';
collectionName: "components_shared_lists";
info: {
description: '';
displayName: 'Inhaltsauswahl';
icon: 'apps';
description: "";
displayName: "Inhaltsauswahl";
icon: "apps";
};
attributes: {
enable_detail: Schema.Attribute.Boolean &
Schema.Attribute.Required &
Schema.Attribute.DefaultTo<false>;
lookup: Schema.Attribute.Relation<
'oneToOne',
'api::collection-lookup.collection-lookup'
>;
enable_detail: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
lookup: Schema.Attribute.Relation<"oneToOne", "api::collection-lookup.collection-lookup">;
};
}
declare module '@strapi/strapi' {
export interface SharedSeo extends Struct.ComponentSchema {
collectionName: "components_shared_seos";
info: {
description: "";
displayName: "seo";
icon: "search";
};
attributes: {
keywords: Schema.Attribute.Text;
metaDescription: Schema.Attribute.String &
Schema.Attribute.Required &
Schema.Attribute.SetMinMaxLength<{
minLength: 50;
}>;
metaTitle: Schema.Attribute.String &
Schema.Attribute.Required &
Schema.Attribute.SetMinMaxLength<{
maxLength: 60;
}>;
};
}
declare module "@strapi/strapi" {
export module Public {
export interface ComponentSchemas {
'dynamic-zone.column-image-text': DynamicZoneColumnImageText;
'dynamic-zone.dual-column-text': DynamicZoneDualColumnText;
'dynamic-zone.emphasise-article': DynamicZoneEmphasiseArticle;
'dynamic-zone.full-image': DynamicZoneFullImage;
'dynamic-zone.full-text': DynamicZoneFullText;
'dynamic-zone.gallery': DynamicZoneGallery;
'global.footer': GlobalFooter;
'global.navbar': GlobalNavbar;
'items.navbar-items': ItemsNavbarItems;
'items.navbar-sub-items': ItemsNavbarSubItems;
'shared.hero': SharedHero;
'shared.link': SharedLink;
'shared.list': SharedList;
"dynamic-zone.column-image-text": DynamicZoneColumnImageText;
"dynamic-zone.dual-column-text": DynamicZoneDualColumnText;
"dynamic-zone.emphasise-article": DynamicZoneEmphasiseArticle;
"dynamic-zone.full-image": DynamicZoneFullImage;
"dynamic-zone.full-text": DynamicZoneFullText;
"dynamic-zone.gallery": DynamicZoneGallery;
"global.footer": GlobalFooter;
"global.navbar": GlobalNavbar;
"items.navbar-items": ItemsNavbarItems;
"items.navbar-sub-items": ItemsNavbarSubItems;
"shared.hero": SharedHero;
"shared.link": SharedLink;
"shared.list": SharedList;
"shared.seo": SharedSeo;
}
}
}

File diff suppressed because it is too large Load diff