3 Stimmen

Wie man ein gekauftes "Thema", bestehend aus verwandten Javascript, CSS und Bild-Dateien in eine Rails 3.1-App organisieren?

So migrieren eine Schienen app zu 3.1 und mit allen Arten von Kopfschmerzen im Zusammenhang mit den neuen Assets Pipeline-Funktionalität. Das größte Problem hat mit richtig organisieren ein Thema gekauft von themeforest.net in die Anwendung zu tun, so dass die Dinge in der Entwicklung, Test und Produktion arbeiten.

Das Thema enthält, wie die meisten, die ich annehme, miteinander verbundenes Javascript, CSS und Bilder. In meiner Rails 3.0 App war es wie folgt strukturiert:

public
    my_theme
        css
        images
        javascript

Wie lässt sich das Thema in 3.1 angesichts der neuen Asset-Pipeline am besten organisieren?

Da die Dateien in den einzelnen Verzeichnissen (css, images, javascript) aufeinander verweisen, hoffe ich, dass es eine Möglichkeit gibt, sie in eine 3.1-App zu portieren, ohne den eigentlichen Inhalt dieser Themadateien großartig ändern zu müssen, wenn überhaupt.

Gracias

3voto

Dan Mazzini Punkte 986

So habe ich es gemacht:

  • ein Verzeichnis vendor/my_theme erstellen
  • Kopieren Sie die Themenverzeichnisse (css, js, images, themes) nach vendor/my_theme
  • eine Datei config/initializers/my_theme.rb erstellt, mit Inhalt:
HashtagifyPro::Application.configure do
  config.assets.paths << Rails.root.join("vendor", "my_theme")
end
  • Ändern Sie die css- und js-Links in der html-Datei wie folgt: von ./css/all.css zu /assets/css/all.css und von ./js/my.js zu /assets/js/my.js

Und das war's!

Übrigens, wenn Sie Ihre Theme-Assets nicht mit Sprockets vorverarbeiten wollen, ist es völlig legitim, Ihr Theme im Verzeichnis public/ zu belassen

2voto

Amala Punkte 1738

Grundsätzlich funktioniert die Pipeline so, dass sie Assets aus den 3 in der Dokumentation genannten Verzeichnissen kompiliert: http://guides.rubyonrails.org/asset_pipeline.html ( lib/assets , app/assets , vendor/assets ), (Ihr gekauftes Thema könnte in vendor/assets ).

Es nimmt dann jedes Sudirectory in diesen Verzeichnissen und legt es in public/assets ab, wo es verfügbar wird.

Sie sind also nicht beschränkt auf vendor/assets/javascripts usw. Das ist nur ein Vorschlag.

Ich würde vorschlagen, sie hier unterzubringen: vendor/assets/theme_name_javascripts , vendor/assets/theme_name_images usw.

Wenn Ihre Bilder durch referenziert werden: images/sprite.png dann müssen Sie es einbauen: vendor/assets/theme_name_images/images/sprite.png

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X