Übersicht

Diese Seite wurde mit dem "Flat Content Management System GRAV" erstellt. Hier werde ich einige interessante Sachen posten, die damit zu tun haben:

Grav Github

Image Lightbox:

![](imagename?lightbox=1024&cropResize=400,400) oder ?lightbox=1024&cropResize=400,400

Youtube Video einbinden:

<div class="video-container-wrapper iloader"><div class='video-container'><iframe src='https://www.youtube.com/embed/LINK'  frameborder='0' allowfullscreen></iframe></div></div>
> Das Video wurde von <i class="fa fa-link myRed"></i> [AUTOR](CHANNEL) erstellt. Vielen Dank!

Custom Icons

Diese Symbole werden verwendet, um ein einheitliches Design zu gewährleisten und den Schülern die Navigation zu erleichtern:

Ergebnis Code
Link <i class="fa fa-link myRed"></i> [Link](./)
Video: <i class="fa fa-play fa-2x myRed"> Video:</i>
Aufgaben: <i class="fa fa-tasks fa-2x myRed"> Aufgaben:</i>
<svg class="icon-cmebis"><use xlink:href="/images/cmebis.svg#icon-cmebis"></use></svg>
Lösung: <i class="fa fa-check-circle fa-2x myRed">Lösung:</i>
privater Bereich: (Du benötigst ein Passwort, um die folgenden Seiten zu öffnen!) <i class="fa fa-lock fa-2x myRed"> privater Bereich:</i> (Du benötigst ein Passwort, um die folgenden Seiten zu öffnen!)
zusammengetragen / erstellt von: Username <i class="fa fa-edit myRed"> zusammengetragen / erstellt von:</i> Username

Grav Forum

official Grav Forums

Fetch failed -> Update Probleme mit dem Admin Plugin

Wenn man im Admin-Bereich der Website ist und Grav oder eines der Plugins aktualisieren möchte kann ein "Fetch failed" Fehler erscheinen. Der sagt, dass die Website keine Verbindung zum Grav Server aufbauen kann. Das Problem wurde gelöst, indem man unter: "Configuration -> System -> Advanced -> Remote Fecht Method" auf "fopen" stellt.

User Permission

Hier findet man eine Übersicht über die verschiedenen Rollen und Rechte der Nutzer: Profile

Die einzelnen Rechte kann man auch über den FTP-Server in der jeweiligen Nutzer.yaml Datei verändern. Folgende Einstellungen würden einem Nutzer nur die Berechtigung geben, neue Seiten und Beiträge zu verfassen:

access:
  admin:
    login: 'true'
    pages: 'true'
    super: 'false'
    cache: 'false'
    configuration: 'false'
    configuration_system: 'false'
    configuration_site: 'false'
    configuration_media: 'false'
    configuration_info: 'false'
    settings: 'false'
    maintenance: 'false'
    statistics: 'false'
    plugins: 'false'
    themes: 'false'
    tools: 'false'
    users: 'false'
  site:
    login: 'true'

Markdown Infos

Die seiten werden mit der Markdown Sprache verfasst. Hier findet man Grav typische Befehle: Markdown Info

Git Integration

Die Seite nutzt das Theme "Learn 2 with Git Sync". Damit kann man den Inhalt der Website mit Hilfe eines Git Repositories verwalten. Dies funktioniert in zwei Richtungen.

  1. vom Git Repository zur Website: Wenn sich das Repository ändert, wird auch die Seite verändert.
  2. von der Website zum Git Repository: Wenn man im Admin Bereich der Website etwas ändert, wird auch das Repository verändert.

Style ändern

Das hier genutzte Theme ist "Learn2" mit "Learn 2 with Git Sync".

Wenn man nun diese Themes anpassen will, muss man im eigenen Theme z.B.: "myTheme" Anpassungen vornehmen. Um das Aussehen zu verändern ändert man die "custom.css" Datei in folgendem Order auf dem Server: /user/themes/mytheme/css/custom.css

Diese CSS Datei überschreibt alle in den Themes vorhandenen Einstellungen.

Teile der Website ändern

Um Teile der Seite zu ändern nutzt man auch die Dateien im Ordner: /user/themes/mytheme/.

Die Suche der Seite wird mit einem Platzhalter ausgefüllt, der "Search Documentation" anzeigt. Hier sollte aber besser "Suchen..." stehen. Dies kann man bewerkstelligen, indem man in /user/themes/mytheme/templates/partials/ die Datei search.html.twig einfügt. Die Vorlage der Datei bekommt man aus dem "Learn2" Theme /user/themes/learn2/templates/partials.

Grav Login Plugin

Dieses Plugin ermöglicht das Einloggen auf der Website. Man kann dann z.B. eine Seite nur für registrierte Nutzer einsehbar machen. Dazu muss man im "Frontmatter" folgenden Code eingeben:

access:
    site.login: true
    admin.login: true
Create Plugin - new Editor Buttons

Example

flex-objects - eigene Form anlegen
  • Die Vorlage von /user/plugins/flex-objects/blueprints/flex-objects/contacts.yaml nach /user/blueprints/flex-objects/contacts.yaml kopieren und entsprechend anpassen. Zum Beispiel habe ich den Namen in "news.yaml" geändert.
  • Hier ist eine Beispielvorlage für ein neues flex-object "news.yaml"
  • Neben dieser Datei benötigt man noch zwei weitere "default.html.twig" Dateien, eine für die Anzeige eines einzelnen Objekts (= /object/default.html.twig) und eine für die Anzeige einer Sammlung von Objekten (= /collection/default.html.twig):
    • /user/plugins/flex-objects/templates/flex/contacts/collection/ und /user/plugins/flex-objects/templates/flex/contacts/object/
    • diese beiden Ordner mit Inhalt (default.html.twig) nach: /user/themes/myschule/templates/flex/ kopieren und anpassen
  • Mögliche Felder für den Editor / .yaml Datei
Grav CMS Installation - file, folder permissions (Beispiel Webhost manitu):

Grav benötigt Schreibrechte für Dateien und Ordner, da es jede einzelne Seite direkt ins Dateisystem des Servers schreibt und nicht in eine Datenbank wie andere CMS. Um die richtigen Rechte zu vergeben, ohne alle Dateien nach außen zu öffnen, geht man am Beispiel des Webhosters manitu, in die Einstellungen und dann auf Berechtigungen und nimmt folgende Veränderungen vor: