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

151 lines
4.5 KiB
YAML

###############################################################
# 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" }
# 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
# Desktop
- type: table
mediaQuery: "(min-width:600px)"
columns:
- source: path
twig: "{{path}}"
- source: locale
type: flag
imageFilter:
xs:
- fit: true
height: 90
width: 90
resampling: "lancos"
quality: 60
s:
- fit: true
height: 300
width: 300
resampling: "lancos"
quality: 60
m:
- fit: true
height: 600
width: 600
resampling: "lancos"
quality: 60
l:
- fit: true
height: 1200
width: 1200
resampling: "lancos"
quality: 60
xl:
- fit: true
height: 2000
width: 2000
resampling: "lancos"
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:
- !include fields/_locale.yml
- name: tags
type: string[]
meta:
helperText:
de: "Entsprechende Seiten in einer anderen Sprache, die mit den selben zugewiesenen Stichworten gekennzeichnet sind, können bei Umschaltung der Seitensprache gefunden werden."
en: "Corresponding pages in another language, marked with the same assigned keywords, can be found when switching the page language."
widget: chipArray
label:
de: Verknüpfungs-Stichworte
en: Linking Tags
defaultValue: []
choices:
endpoint: "tags"
mapping:
id: "id"
name: "name"
params:
sort: "name"
- name: path
type: string
index: [single, unique]
meta:
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 (/)."
- name: priority
type: number
meta:
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