my-notes-viewer/api/collections/content.yml

242 lines
9.7 KiB
YAML
Raw Permalink Normal View History

2021-03-22 15:59:05 +01:00
###############################################################
# Content Blöcke
###############################################################
# Name/URL-Anteil der Kollektion
name: content
uploadPath: ../media/content
# Metaangaben zur Kollektion welche in der Admin-UI verwendet werden können
meta:
# Navigationseintrag in der Admin-UI
label: { de: "Seiten", en: "Pages" }
2021-03-22 15:59:05 +01:00
# Icon (Material UI) für den Navigationseintrag
muiIcon: web
# Identifizierung eines Eintrags für z.B. Select-Boxen in der Admin-UI
rowIdentTpl: { twig: "{{ path }}" }
# Standardsortierung der Liste
defaultSort: { field: "path", order: "ASC" }
# Admin-Backend Ansichten
defaultImageFilter: s
views:
# Mobile Darstellung
- type: simpleList
mediaQuery: "(max-width:599px)"
primaryText: path
columns:
- source: path
twig: "{{path}}"
- source: locale
type: flag
2021-03-22 15:59:05 +01:00
# Desktop
- type: table
mediaQuery: "(min-width:600px)"
columns:
- source: path
twig: "{{path}}"
- source: locale
type: flag
2021-03-22 15:59:05 +01:00
tablist:
meta:
expand: general
tabs:
- name: general
meta:
label: { de: "Allgemein", en: "General" }
subFields:
- source: path
- source: locale
- source: tags
- source: priority
- name: meta
meta:
label: { de: "Meta", en: "Meta" }
source: meta
subFields:
- source: meta
- name: assignments
meta:
label: { de: "Verknüpfungen", en: "Assignments" }
source: meta
subFields:
- source: pages
2021-03-22 15:59:05 +01:00
imageFilter:
xs:
- fit: true
height: 90
width: 90
resampling: "lancos"
2021-03-22 15:59:05 +01:00
quality: 60
s:
- fit: true
height: 300
width: 300
resampling: "lancos"
2021-03-22 15:59:05 +01:00
quality: 60
m:
- fit: true
height: 600
width: 600
resampling: "lancos"
2021-03-22 15:59:05 +01:00
quality: 60
l:
- fit: true
height: 1200
width: 1200
resampling: "lancos"
2021-03-22 15:59:05 +01:00
quality: 60
xl:
- fit: true
height: 2000
width: 2000
resampling: "lancos"
2021-03-22 15:59:05 +01:00
quality: 60
# Zugriff auf diese Kollektion
permissions:
# öffentlicher Zugriff
public:
methods:
# Liste und Einzeleinträge lesen
get: true
# neuen Eintrag anlegen
post: false
# Eintrag editieren
put: false
# Eintrag löschen
delete: false
# zum Projekt zugeordneter Benutzer ohne Zusatzberechtigungen
user:
methods:
get: true
post: true
put: true
delete: true
hooks:
post:
return:
type: javascript
file: hooks/content/post_return.js
put:
return:
type: javascript
file: hooks/content/put_return.js
delete:
return:
type: javascript
file: hooks/content/delete_return.js
# Feldliste der Kollektion
fields:
- name: path
type: string
index: [single, unique]
meta:
hideInRoot: true
label: { de: "Pfad", en: "Path" }
helperText:
de: "Der Pfad muss eindeutig sein und ohne ein Slash (/) beginnen und enden."
en: "The path must be unique and must start and end without a slash (/)."
- !include fields/_locale.yml
- name: pages
type: string[]
meta:
hideInRoot: true
helperText:
de: "Verknüpft Seiten mit beliebigen anderen Seiten."
en: "Links the page to any other page."
widget: chipArray
label:
de: Verknüpfung zu Seiten
en: Assignment to pages
defaultValue: []
choices:
endpoint: "content"
mapping:
id: "id"
name: "path"
params:
sort: "path"
- name: tags
type: string[]
meta:
hideInRoot: true
helperText:
de: "Über die Zuweisung von Schlagworten, können Seiten noch einmal genauer kategorisiert werden."
en: "Pages can be categorized more precisely by assigning keywords."
widget: chipArray
label:
de: Schlagwort / Tag / Label
en: Kayword / Tag / Label
addAllowed: true
choices:
endpoint: "tags"
mapping:
id: "name"
name: "name"
params:
sort: "name"
- name: priority
type: number
meta:
hideInRoot: true
defaultValue: [0]
label: { de: "Priorität", en: "Priority" }
helperText:
de: "Sind mehr als ein Stichwort mit einer Seite verknüpft, führt die Priorität (z.B.: eine Zahl von 0..10..x) der gefundenen Seiten zu einer automatischen Vorauswahl aus den gefundenen Seiten."
en: "If more than one keyword is linked to a page, the priority (e.g. a number 0..10..x) of the pages found leads to an automatic preselection from the pages found."
# - name: blocks
# type: object[]
# meta:
# label: { de: "Artikel dieser Seite", en: "Page Articles" }
# collapse: { titleFieldName: "article.content.title" }
# subFields:
# - !include fields/_article.yml
- name: meta
type: object
meta:
hideInRoot: true
subFields:
- name: metaTitle
type: string
meta:
label: { de: "Titel der Webseite", en: "Page Title" }
- name: metaDescription
type: string
meta:
label: { de: "Beschreibung der Webseite", en: "Page Description" }
- name: metaTagRobots
type: string[]
meta:
widget: chipArray
label:
de: Robots
en: Robots
defaultValue: []
autocomplete: true
choices:
- { id: "noindex", name: "noindex" }
- { id: "index", name: "index" }
- { id: "follow", name: "follow" }
- { id: "nofollow", name: "nofollow" }
- { id: "noimageindex", name: "noimageindex" }
- { id: "none", name: "none" }
- { id: "noarchive", name: "noarchive" }
- { id: "nocache", name: "nocache" }
- { id: "nosnippet", name: "nosnippet" }
- { id: "nnavailable_after", name: "nnavailable_after" }
helperText:
de: "<strong>Noindex</strong>: Weist eine Suchmaschine an, eine Seite nicht zu indizieren.<br/><strong>index</strong>: Weist eine Suchmaschine an, eine Seite zu indizieren. Beachten Sie, dass Sie dieses Meta-Tag nicht hinzufügen müssen; es ist die Voreinstellung.<br/><strong>follow</strong>: Auch wenn die Seite nicht indexiert ist, sollte der Crawler allen Links auf einer Seite folgen und Eigenkapital an die verlinkten Seiten weitergeben.<br/><strong>nofollow</strong>: Weist einen Crawler an, keinen Links auf einer Seite zu folgen oder Link-Equity weiterzugeben.<br/><strong>noimageindex</strong>: Weist einen Crawler an, keine Bilder auf einer Seite zu indizieren.<br/><strong>none</strong>: Entspricht der gleichzeitigen Verwendung der noindex- und nofollow-Tags.<br/><strong>noarchive</strong>: Suchmaschinen sollten keinen zwischengespeicherten Link zu dieser Seite auf einem SERP anzeigen.<br/><strong>nocache</strong>: Wie noarchive, aber nur von Internet Explorer und Firefox verwendet.<br/><strong>nosnippet</strong>: Weist eine Suchmaschine an, kein Snippet dieser Seite (d. h. Meta-Beschreibung) dieser Seite auf einem SERP anzuzeigen.<br/><strong>nnavailable_after</strong>: Suchmaschinen sollen diese Seite nach einem bestimmten Datum nicht mehr indexieren.<br/>"
en: "<strong>Noindex</strong>: Tells a search engine not to index a page.<br/><strong>index</strong>: Tells a search engine to index a page. Note that you dont need to add this meta tag; its the default.<br/><strong>follow</strong>: Even if the page isnt indexed, the crawler should follow all the links on a page and pass equity to the linked pages.<br/><strong>nofollow</strong>: Tells a crawler not to follow any links on a page or pass along any link equity.<br/><strong>noimageindex</strong>: Tells a crawler not to index any images on a page.<br/><strong>none</strong>: Equivalent to using both the noindex and nofollow tags simultaneously.<br/><strong>noarchive</strong>: Search engines should not show a cached link to this page on a SERP.<br/><strong>nocache</strong>: Same as noarchive, but only used by Internet Explorer and Firefox.<br/><strong>nosnippet</strong>: Tells a search engine not to show a snippet of this page (i.e. meta description) of this page on a SERP.<br/><strong>nnavailable_after</strong>: Search engines should no longer index this page after a particular date.<br/>"
- name: metaKeywords
type: string
meta:
label: { de: "SEO / Schlüsselwörter", en: "SEO / Keywords" }
helperText:
de: "Beispiel: Stichwort1, Stichwort2, Stichwort3"
en: "Example: keyword1, keyword2, keyword3"