Opened 5 years ago

Closed 5 years ago

#641 closed Programmieren (gelöst)

LESS serverseitig umwandeln

Reported by: sven Owned by: sven
Priority: langfristig Milestone: PhysikOnline 3.0 zum WS 13/14
Component: ILIAS Severity: unklar
Keywords: Cc:
Blockiert von: Blockiert:
Erinnerungsdatum: Sensitive: no

Description (last modified by sven)

Eleganter als den Ansatz, den Philip in https://po3.elearning.physik.uni-frankfurt.de/Customizing/global/skin/po-v3.0/po-v3.0_README.txt vorschlägt, ist die serverseitige Generation von CSS, und zwar dynamisch, d.h. sobald man die less-Files ändert, wird das CSS neugeneriert.

Dafür braucht man nur einen LESS-Compiler in PHP, etwa http://leafo.net/lessphp/ und ein kleines php-Script, welches (obacht!) als CSS eingebunden wird, sodass

<link rel="stylesheet" href="/Customizing/.../po3.css.php">

dann immer das neuste erzeugte (aber gecachte) CSS-File ausgibt.

Change History (8)

comment:1 Changed 5 years ago by sven

  • Cc philip added
  • Description modified (diff)
  • Owner set to sven
  • Status changed from new to accepted

Kann mich drum kümmern

comment:2 Changed 5 years ago by sven

  • Cc philip removed

Ist quasi fertig, aber die Imports werden noch nicht aufgelöst.

Abrufbar unter

https://po3.elearning.physik.uni-frankfurt.de/Customizing/global/skin/po-v3.0/physik.css.php

Per htaccess kann noch dafür gesorgt werden, dass beliebige andere ...css-Dinger auch darauf gehen. Falls nötig.

comment:3 Changed 5 years ago by sven

Okay, liegt daran, weil lessc nur less-Files importet, keine css-Files.

Das könnte man ihm vielleicht noch beibringen, sinnvoller ist aber gar keine Files so einzubinden. Muss ich nochmal schauen.

comment:4 Changed 5 years ago by philip

Ein klasse Ansatz. Gefällt mir gut!

Finde auch der sollte nur das Hauptfile kompilieren!
Dort habe ich bisher alle nötigen css-Files importiert und dort kann man auch weitere less-Files importieren…
Nicht immer will man vielleicht alle Dateien drin haben ;)

Machst du noch ne htaccess-Datei?

comment:5 Changed 5 years ago by sven

  • Resolution set to gelöst
  • Status changed from accepted to closed

So ist es auch programmiert, die Einstiegsfile ist po-v3.0.less, aber zum Checken auf Änderungen werden alle Dateien in den less und css-Dirs überwacht. Hab den Sourcecode jetzt mal kommentiert.

Hab die lessc.inc.php verändert. Jetzt ist alles hübsch in einer File (resultiert in kürzeren Ladezeiten!)

Eine htaccess kann ich machen, sinnvoller scheint mir aber diese po-v3.0.css gar nicht erst in den Templates einzubinden.

comment:6 Changed 5 years ago by sven

Wow, die Htaccess hast du ja schon gemacht! Super!

(N.B.: Scheinst recht zu haben, ILIAS geht standardmäßig davon aus, dass es ein dem Template gleichlautendes CSS-File gibt)

comment:7 Changed 5 years ago by sven

  • Resolution gelöst deleted
  • Status changed from closed to reopened

@Sven: es fehlen noch die HTTP-Header ("Cache valid, not changed, usw.")

comment:8 Changed 5 years ago by sven

  • Resolution set to gelöst
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.