Schnelles Konvertieren der HTML-Vorlage in das ERB / ​​Sass-Layout von Rails Asset

9

Ich mache ständig dasselbe, benutze Designer, um nette ui's zu erstellen, konvertiere dann HTML / CSS, um die Asset-Pipeline zu teilen und Pfade und css + js-Tags zu finden und zu ersetzen; Alles aktualisieren, um den Asset-Pfad zu verwenden. Gibt es etwas, das dies automatisch macht?

    
Michael K Madison 12.12.2012, 02:58
quelle

2 Antworten

5

Für mich ruft diese Situation nur laut nach sed . Wenn Sie mit Linux, Mac OS X oder einem anderen * nix arbeiten, lesen Sie weiter. (Wenn es sich bei Ihrer Entwicklungsumgebung um Windows handelt, die Sie jedoch auf dem * nix-Server bereitstellen, auf dem Sie Post-Deployment-Skripts einrichten können, funktioniert dieser Ansatz auch dort.)

So hat Ihr Designer Zugriff auf Ihre Assets in lokalen Verzeichnissen und generiert Tags wie <img src="images/logo.png"> . In der Bereitstellung möchten Sie diese Pfade jedoch entweder durch ERB-Aufrufe wie <img src="<%= asset_path 'logo.png' %>"> ersetzen oder sie so ändern, dass sie auf ein externes CDN mit einem Tag wie <img src="http://assets.mysite.com/logo.png"> verweisen, richtig?

Nun, in beiden Fällen ist sed dein Freund! Sed kann (unter anderem) eine Datei durchgehen und ihnen Regex-Substitutionen zuweisen. In der ERB-Aufruf-Situation (vorausgesetzt, Sie haben Ihre Datei bereits umbenannt, um eine Erweiterung von erb zu haben), würden Sie diesen Befehl ausführen:

%Vor%

Nach dem Ausführen dieses Befehls verwendet somefile.html.erb asset_path anstelle manuell angegebener Bildpfade.

Der zweite Fall, in dem Sie Bilder auf einem anderen Server oder nur aus einem anderen Pfad bereitstellen, ist ähnlich:

%Vor%

Und Bob ist dein Onkel!

Eine Sache, die an diesen Befehlen nervt, ist, dass Sie sie für jede einzelne Datei ausführen müssen. Nun, Zeit für ein anderes UNIX-Dienstprogramm, um zur Rettung zu kommen: finden. Dieses Dienstprogramm kann ein Skript für eine Reihe von Dateien in einer Verzeichnisstruktur ausführen:

%Vor%

Wenn Ihnen nun vieles von oben wie altes Latein erscheint (und Sie nicht fließend altmanisch sind), sollten Sie mehr über reguläre Ausdrücke lernen, damit Sie die obigen Befehle optimieren können die verschiedenen Arten von Transformationen, die Sie wollen. Dies ist ein ziemlich guter Leitfaden für die Verwendung von sed und regulären Ausdrücken, der nicht viel Vorwissen voraussetzt .

Sobald Sie eine Reihe von Befehlen haben, die das Richtige tun, speichern Sie sie in einer Shell-Skriptdatei. Führen Sie diese Datei dann einfach aus, wann immer Sie sie brauchen, und sie wird all die lästige Arbeit für Sie erledigen! Das ist es, was das Lernen all dieser stumpfen Befehle wert ist; Sie arbeiten mehr im Voraus als eine nette GUI finden & amp; Ersetzen Sie den Dialog, aber die Flexibilität dessen, was sie tun, und die Fähigkeit, sie in Skripte zu bündeln, erspart Ihnen auf lange Sicht Zeit und Ärger.

    
DSimon 02.02.2013, 18:13
quelle
0

Haben Sie versucht, Asset-Pipeline außerhalb von Schienen zu verwenden >?

    
Lucas 31.01.2013 19:50
quelle