Spaces. Smartes Cloud Hosting für anspruchsvolle Webprojekte. Loslegen und Spaces testen. Von Mittwald.
  • CMS
Dieter Petereit 2. Juli 2013

Pico: Freies, dateibasiertes Content Management System für PHP-Entwickler

Pico ist der Name eines recht neu­en CMS, wel­ches kom­plett ohne Datenbank daher­kommt. Der Entwickler Gilbert Pellegrom bezeich­net es zwar als “stu­pidly simp­le”. Das gilt aber nur für die Zielgruppe der Entwickler. Wer also mit PHP kei­ne Probleme hat und sei­ne Texte gern mit Markdown schreibt, der soll­te sich Pico in jedem Fall mal anse­hen.

filebased-folder

Pico: keine Datenbank, Seiten als einzelne Dateien

Pico ist ein CMS, das wie kaum ein ande­res für Personen geeig­net ist, für die hier­ar­chi­sche Ordnerstrukturen die bes­te Ordnungsform dar­stel­len, sich mit PHP gut aus­ken­nen und Markdown für die bes­te Form der Textauszeichnung über­haupt hal­ten. Alle ande­ren, ins­be­son­de­re der durch­schnitt­li­che Kleinseitenbetreiber, soll­te eher auf eine der eta­blier­te­ren Plattformen, allen vor­an WordPress set­zen.

pico-website

Dabei ist Pico kei­ne schlech­te Idee; nicht, dass das so rüber­kommt. Pico setzt PHP 5.2.4 und einen Apache-Server mit mod_rewrite vor­aus. Das Anlegen einer Website mit Pico ist in der Tat sehr sim­pel. Installiert wer­den muss gar nichts. Lediglich der Download des CMS mit nach­fol­gen­dem Entpacken und Uploaden der ent­stan­de­nen Ordnerstrukturen auf den eige­nen Webserver ist erfor­der­lich. Das System ist bereit.

Die eige­nen Inhalte wer­den nun als Markdown-Dateien mit der Endung .md in den dafür vor­ge­se­he­nen Ordner namens content abge­legt. Eine Datei mit der Bezeichnung index.md funk­tio­niert wie das ent­spre­chen­de HTML-Pendant und bie­tet den Standardeinsprungpunkt, wenn die Website mit dem Browser auf­ge­ru­fen wird. Ebenso las­sen sich Unterordner mit ent­spre­chen­den Index-Dateien aus­stat­ten, um die URL, etwa www.testseite.de/content/unterordner/index.md als www.testseite.de/unterordner/ auf­ru­fen zu kön­nen.

Wie in Markdown üblich, kön­nen die ent­spre­chen­den Dateien auch HTML-Befehle ent­hal­ten. Diese wer­den beim Parsing so über­nom­men und ent­spre­chend als sol­che ange­zeigt. Eine klei­ne Besonderheit ist die als Option emp­foh­le­ne, aber im Grunde zwin­gend sinn­vol­le Erweiterung des Kopfes einer jeden Markdown-Datei um Meta-Informationen, die man spä­ter im Theme wie­der aus­le­sen kann. Das sieht bei­spiels­wei­se so aus:

/*
Title: Welcome
Description: This description will go in the meta description tag
Author: Joe Bloggs
Date: 2013/01/01
Robots: noindex,nofollow
*/

Hat man sei­ne Website nun aus ein­zel­nen MD-Dateien und even­tu­el­len Unterverzeichnissen per FTP-Upload ver­füg­bar gemacht, ste­hen sämt­li­che Seiten per Einzelaufruf der ent­spre­chen­den URL zur Ansicht bereit. Vernetzungen unter­ein­an­der oder gar eine Navigation beinhal­ten sie indes nur, wenn man das in jeder ein­zel­nen Datei manu­ell so vor­ge­se­hen hat. An die­ser Stelle kommt Picos Theming ins Spiel.

Pico: Themes auf Basis der Twig-Engine

Theming-Engines für PHP gibt es etli­che. Der Pico-Entwickler ent­schied sich für den recht fri­schen Ansatz aus der Feder von Fabien Potencier, sei­nes Zeichens Entwickler des Symfony-Frameworks, mit dem inter­es­san­ten Namen Twig. Symfony setzt seit Version 2 eben­falls auf Twig.

twig

Twig wird in ähn­li­cher Weise an den Start gebracht wie Pico selbst: Download, Entpacken, Upload. Im Falle von Twig kommt noch die Einbindung hin­zu. Themes auf Twig-Basis kön­nen in Dateien mit HTML-Endung geschrie­ben wer­den, auch XML ist gut. Grundsätzlich ist ein Twig-Template eine rei­ne Textdatei.

WordPress-Theme-Anpassern wird Twig nicht völ­lig unbe­kannt vor­kom­men. Ähnlich wie in Automattics Marktführer wer­den auch in Twig inner­halb des eigent­li­chen HTML-Codes Funktionslogik unter­ge­bracht. Twig kennt Variablen, Expressions und Tags. Ein mini­ma­ler Ansatz für ein Twig-Theme wäre fol­gen­der:



        My Webpage
    
    
        

        

My Webpage

{{ a_variable }}%MINIFYHTMLd9c9d8041e5cd4da2b2082e9fafc4a1211%

Verschiedene belieb­te IDEs, etwa Sublime Text, Notepad++, Coda, Eclipse und etli­che mehr unter­stüt­zen das Syntax-Highlighting und die Autovervollständigung der Twig-Syntax. Theming mit Twig wird PHP-Kenner nicht vor Probleme stel­len, ist aber für Otto Durchschnittsseitenbetreiber kei­ne schmerz­freie Alternative.

Sowohl Pico, wie auch Twig sind kos­ten­frei ver­wend­bar. Pico steht unter MIT-, Twig unter BSD-Lizenz

Fazit: Ist das Templating erle­digt, kann Pico auch von weni­ger erfah­re­nen Usern ver­wen­det wer­den, sofern die­se Markdown schrei­ben und einen FTP-Client bedie­nen kön­nen. Das wird aller­dings eher eine Minderheit anspre­chen. Richtig gut geeig­net ist Pico für die Dokumentation von Projekten. Überall da, wo ohne­hin mit Markdown gear­bei­tet wird, ist Pico eine vali­de Option, die­se Dateien struk­tu­riert per Web zugäng­lich zu machen. Insofern wür­de ich den Einsatzzweck eher von die­ser Seite her betrach­ten. Haben Sie einen Sack voll Markdown, den Sie per Website prä­sen­tie­ren wol­len, dann schau­en Sie Pico näher an. Ansonsten müss­te man schon expli­zi­ter Fan sein…

Übrigens: Pico ist nicht zu ver­wech­seln mit picoCMS.

Links zum Beitrag

  • Pico | Projekt-Website
  • Pico | Github Repository
  • The fle­xi­ble, fast, and secu­re tem­pla­te engi­ne for PHP | Twig
Dieter Petereit

Dieter Petereit

ist seit 1994 im Netz unterwegs, aber bereits seit über 30 Jahren in der IT daheim. Seit Anfang des neuen Jahrtausends schreibt er für diverse Medien, hauptsächlich zu den Themenfeldern Technik und Design.

Ein Kommentar

  1. > Übrigens: Pico ist nicht zu ver­wech­seln mit picoCMS.

    Anscheinend schon: die Links für pico und picoCMS füh­ren zur sel­ben Seite.

Schreibe einen Kommentar zu André Wessel Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.