Closed maxhbr closed 9 years ago
Sieht cool aus! Zwei Anmerkungen:
runhaskell CSS.hs
verwenden und nicht etwa mit import CSS
ein Neukompilieren von site.hs
notwendig machen.In hakyll lässt sich das recht einfach integrieren durch
match "css/*.hs" $ do
route $ setExtension "css"
compile $ getResourceString
>>= withItemBody (unixFilter "cabal" ["exec", "runghc"])
dann kann man im 'css/' Ordner einfach 'NAME.hs' Dateien erstellen, welche dann zu 'NAME.css' compiliert werden. Da habe ich nur im Moment Probleme, dass er das Clay in den Sandbox nicht finden.
Alternativ fügt man in die *.cabal ein weiteres executable hinzu. Muss mann halt jedes mal zum updaten ausführen.
EDIT:
Man könnte auch das cabal run css
von hakyll aus aufrufen.
Führ mal cabal exec --help
aus. Die letzte Zeile sieht so aus, als wäre sie genau die Lösung für das Sandbox-Problem.
habe es mal eingebaut, zu starten mittels cabal run css
erzeugt dann eine datei css/style.css welche das gleiche enthält wie css/default.css
EDIT:
zu der cabal exec runghc ...
Lösung. Das Code-Schnipsel für hakyll ruft die Clay Datei bereits so auf und das hat bei mir nicht geklappt.
Wenn niemand explizit etwas gegen die Clay variante hat, würde ich die default.css durch Clay erzeugen und überschreiben lassen. OK? Vor allem geht die Frage an @lukasepple, da du dich ja um das Styling kümmern möchtest.
Ich bin nicht richtig überzeugt, ehrlich gesagt…
Erzähl mal, warum wäre das besser? :)
fügeMeineSchattenUndRahmenHinzu
)und es macht, mir zumindest, deutlich mehr Spaß
Dann fühle dich frei :)
die "deploy.sh" ruft jetzt cabal run css
auf und überschreibt damit die css/default.css.
jetzt müsste man die neuen Abhängigkeiten noch NIX beibringen, könnte das jemand machen?
Das sollte nicht in der deploy.sh
stehen. Die beiden Aufgaben "baue die statischen Dateien aus den Sources" und "aktualisiere den Inhalt der Webseite" sollten getrennt sein. Für erstes sollte site.hs
zuständig sein, für letzteres deploy.sh
(wobei deploy.sh
natürlich site.hs
benutzt, um alles neu zu erzeugen). Es sollte insbesondere möglich sein, die gesamte Webseite neu zu erzeugen, ohne sie gleich hochzuladen. Des Weiteren kann man, wenn man die CSS-Dateien aus den Haskell-Sources in site.hs
erzeugt, die praktischen Features von Hakyll verwenden: z.B. bemerkt ./site --watch
Änderungen an Quell-Dateien und baut sie automatisch neu. So hat muss man das CSS nicht ständig von Hand neu erzeugen.
Was @timjb sagt
Hi,
ich würde gerne das CSS durch Clay ersetzen. Das finde ich angenehmer zum schreiben als CSS und passt natürlich super ins Thema.
Für meine Seite nutze ich bereits Clay, das ganze sieht dann so aus.
Würde mich auch bereit erklären, Interessenten kurze Einführungen in Clay zu geben (gerne beim ersten treffen) bzw. auch CSS schnipsel übersetzen.
EDIT: die Datei css/default.css würde dann dem hier exakt entsprechen.