2013-05-02 10 views
12

Wenn Sie Javascript oder CSS in HAML einschließlich würden Sie normalerweise müssen die folgenden Möglichkeiten CSS enthalten:Kurzer Weg CSS und JavaScript-Tags mit HAML enthalten

%link{:type => "text/css", :rel => "stylesheet", :href => "/css/mycss.css"} 

Und für javascript:

%script{:type => "text/javascript", :src => "/js/myscript.js"} 

Ich frage mich, ob HAML keine kurze Möglichkeit hat, diese Tags einzuschließen (um Inhalte von einer Quelle zu bekommen, natürlich nicht inline), was die type und rel Attribute auslässt, da diese sowieso invariabel sind.

Beachten Sie, dass Ruby on Rails diese Funktion über eine Funktion bietet, aber ich verwende keine Schienen.

Antwort

21

Sie haben nicht die type Attribut Skript benötigen, und Sie können die HTML-Syntax verwenden

%script(src="/js/myscript.js") 

man konnte immer erstellen „Helfer“ zu generieren, wenn Sie Lust haben

+1

Ich sehe nicht, wie etwas kürzer werden kann. – Ven

1

Ich denke, was Ven sprach über so etwas wie ...

# For CSS files... 
def styletag(:sheet_name) 
    "<link rel='stylesheet' href='/styles/#{:sheet_name}.css'>" 
end 

# For js files... 
def jstag(:script_name) 
    "<script src='/js/#{:script_name}.js'></script>" 
end 

Dann in Ihrer Vorlage sein könnte, können Sie sie so etwas wie folgt verwenden:

- styletag "mystyles" 
- jstag "myscript"