2012-04-24 7 views
6

Gibt es einen Parser/Bibliothek für "css stylus" für PHP verfügbar?PHP-Präprozessor-Skript/Bibliothek für Stylus?

Wenn nicht bitte etwas Ähnliches vorschlagen, wenn nicht besser. Möglicherweise eine leichte Bibliothek, die Ihr Leben css codieren, leichter in PHP macht.

Stylus-Syntax entfernt alle Doppelpunkte, Semikolons, Klammern und die meisten Klammern aus regulären CSS-Skript. Die schlichte Einfachheit und Eleganz erinnert mich an Lisp. Was noch erstaunlicher ist, ist, dass Stylus auch reguläre CSS-Syntax in der gleichen Datei akzeptiert, wodurch mögliche Reibung zwischen mehreren Teilnehmern reduziert wird.

+0

Ich mag besonders [LESS] (http://lesscss.org/), aber wieder ist es nur eine andere Art, CSS zu schreiben, ich verstehe nicht, wie diese Helfer in die Kategorie "php parser" passen. Willst du sie in eine PHP-Datei schreiben (damit sie dynamisch gerendert wird)? Dann müssen Sie es nicht "parsen", sondern es einfach so generieren, wie Sie es möchten (normales CSS, reduziertes CSS oder was auch immer) –

+0

Und anstatt "extra nutzlose Beschreibung" zu kopieren (die übrigens SPAM ähnelt)), Sie könnten zusätzliche nützliche Informationen hinzugefügt haben, dh was Sie wirklich brauchen, was Sie suchen, was muss der Parser tun (parse einen bereits gemachten css Stylus Blatt?), etc. –

+0

Ich habe klar gesagt, was ich wirklich brauche Bitte lesen Sie die Frage sorgfältig durch und antworten Sie dann. – Amanpreet

Antwort

2

Nein. Aber es gibt viele Alternativen, in denen Sie aussehen könnten, wie LESS, Sass, HSS. Vielleicht gibt es einen PHP-Parser für einen von diesen.

+2

Sass ist eine nette Alternative danke, aber ich denke, nicht so gut wie Stift Ich denke, krank muss einen Parser von Grund auf neu zu schreiben, danke wieder – Amanpreet

3

Bump. Es scheint, dass es immer noch keine einfach zu verwendende Methode gibt, Stylus in PHP zu integrieren. Hier ist meine Problemumgehung (nur Linux, nur lokale Entwicklung). Es ist inspiriert von meiner anderen jüngsten question about FAM.

incron und Stift installieren, unter ubuntu würde dies

sein
sudo apt-get install incron 
sudo npm install stylus -g 

Zugang incron Beobachtungstabelle

incrontab -e 

und fügen Sie den folgenden mit geeigneten Modifikationen:

/var/www/css/my.styl IN_MODIFY /usr/local/bin/stylus /var/www/css/my.styl 

was im Grunde bedeutet Kompilieren Sie my.styl bei Änderung der Datei in my.css.

Add resultierende CSS HTML-Header

<link href="path/tom/my.css" rel="stylesheet" type="text/css" /> 

Wenn Sie die .styl Datei zu speichern, Ihre .css wird im Hintergrund neu kompiliert werden. Überspringen Sie die styus-Datei in der Bereitstellung, verwenden Sie die neu kompilierte Datei.

+0

Dies funktioniert, solange die Datei statisch ist, sagen jetzt, dass die CSS versionsspezifisch und generiert ist über PHP haben wir ein Problem dann ... auch "incron" wird Dateisystem-Ereignisse handhaben, aber mit dem dynamischen Inhalt von PHP bin ich nicht so sicher, ob es funktionieren würde. Danke für den Tipp, war/ist es wert, sich zu informieren. – Amanpreet

+2

Warum nicht einfach 'Stylus --watch path/to/stylus/file.styl'? Stylus hat eine integrierte Uhrfunktion. – Roshambo

8

Ich suchte auch nach einem Stylus parser for PHP. Nachdem ich keine gefunden hatte, erstellte ich eine grundlegende und legte sie auf GitHub, damit andere sie nutzen/verbessern können.

Aktuelle Features 2013.03.20:

  • auslassen Zahnspange
  • auslassen Doppelpunkte
  • auslassen Semikolons
  • Benutzerdefinierte Funktionen
  • Importieren von anderen Dateien
  • '& 'Elternreferenz
  • Mixins
  • Interpolation
  • Variablen
2

Warum nicht einfach die ursprüngliche Node.js Implementierung verwenden?

exec wird gut funktionieren, aber Sie sollten es nur in einer Entwicklungsumgebung verwenden.

<?php exec('/path/to/stylus stylesheet.styl'); ?> 

In der Produktion sollten Sie Ihren Stylus aus Gründen der Leistung und Sicherheit vorkompilieren.

Verwandte Themen