Frage

I Haml von der Befehlszeile bin mit einer grundlegenden Transformation von einer .haml zu tun, Datei .html, wie folgt aus:

> haml input.haml output.html

Das Ding ist, erzeugt dies Apostrophe Attribute um in der resultierenden HTML. So, wie ich gehe in der :attr_wrapper => '"' Option aus der Befehlszeile?

Als Alternative kann ich nur global gesetzt :attr_wrapper auf ein doppeltes Anführungszeichen?

War es hilfreich?

Lösung 2

Was ich tun am Ende fügt folgendes haml / exec.rb bei ~ Linie 302

    opts.on('-q', '--double-quote-attribs',
            'Set attribute wrapper to double-quotes (default is single).') do
      @options[:for_engine][:attr_wrapper] = '"'
    end

Das fügt eine spezielle Option zu tun, was ich brauche.

Ich bin mir nicht ganz sicher, was die Begründung von Standard Apostrophe für die Verwendung ist; doppelte Anführungszeichen würde einen vernünftigen Standard macht, würde ich gedacht. Having said that, sie sind völlig in Ordnung.

Ich legte dieses Update als Patch und es wird in der Version enthalten sein 2.4

Andere Tipps

Ich weiß nicht, von einer Art und Weise als Argument zu übergeben, aber HAML ist einfach programmatisch zu verwenden:

require 'haml'

template = ARGV.length > 0 ? File.read(ARGV.shift) : STDIN.read
haml_engine = Haml::Engine.new(template, :attr_wrapper => '"')
file = ARGV.length > 0 ? File.open(ARGV.shift, 'w') : STDOUT
file.write(haml_engine.render)
file.close

Im Moment recht, aber es wird das erste Argument öffnen gegeben (oder STDIN, wenn keine Argumente angegeben werden) und gerenderte Ausgabe mit dem zweiten Argumente übergeben (oder STDOUT nicht angegeben).

Ich weiß nicht, einen Weg, um diese Option des Standardbefehlszeilen-Client angeben. Sie können global die Standard-Patch von haml / engine.rb Linie 73 (in Haml 2.2.2) Wechsel zu lesen

:attr_wrapper => '"',

Das ist für Haml 2.2.2. Es ist anders in früheren Versionen. Wenn Sie immer noch einen von denen verwenden, können Sie nur auf eine Textsuche nach. „: Attr_wrapper =>“, und es wird die richtige Linie finden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top