Haml - wie erzwinge ich Tag-Attribute nur doppelte Anführungszeichen zu verwenden und wie bestelle ich Tag den Weg Attribute ich will?

StackOverflow https://stackoverflow.com/questions/967039

  •  12-09-2019
  •  | 
  •  

Frage

Ich verwende staticmatic für Vorlagen ich später mit PHP verwenden. Es ist eine seltsame Situation, in der einige Tagattribute einfache Anführungszeichen haben, während einige doppelte Anführungszeichen haben. Ich würde sie alle gerne ausschließlich doppelte Anführungszeichen haben (nicht, dass es darauf ankommt, ich denke, aber ich möchte, dass sie so!)

Zum Beispiel haml Code:

!!! XML
%html{html_attrs('hr-HR')}
  %head
    %title Some title
    %meta{'http-equiv' => 'Content-Type', :content => 'text/html; charset=utf-8'}/
    %meta{'name' => "description", :content => 'Some title - YO!'}/
    = stylesheets
    = javascripts('test', :other)
  %body
    = yield

erzeugt folgende:

<?xml version='1.0' encoding='utf-8' ?>
<html lang='hr-HR' xml:lang='hr-HR' xmlns='http://www.w3.org/1999/xhtml'>
  <head>
    <title>Some title</title>
    <meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
    <meta content='Some title - YO!' name='description' />
    <link href="stylesheets/application.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/grid.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/text.css" media="all" rel="stylesheet" type="text/css"/>
    <script language="javascript" src="javascripts/test.js" type="text/javascript"></script><script language="javascript" src="javascripts/other.js" type="text/javascript"></script>

  </head>
  <body>
    <h1>some body stuff!</h1>
    utf test šđčćž ŠĐČĆŽ
  </body>
</html>

Beachten Sie, dass es keine Rolle, ob ich einzelne oder doppelte Anführungszeichen in haml Code verwenden, habe ich immer die gleiche Leistung!

Auch scheint es, dass haml-> HTML-Ausgabe Art Tag-Attribute in alphabetischer Reihenfolge, nicht so, wie ich sie in haml bestellt habe. Ich vermute, dass dies etwas mit Ruby-Arrays zu tun hat, aber ich bin nicht sicher, da ich nicht / nicht Rubin abgesehen von haml in staticmatic verwenden kann. Wie kann ich sie das gleiche bestellt, wie ich sie in Ruby Array in haml Code bestellt habe?

War es hilfreich?

Lösung

Versuchen Sie Folgendes:

Haml::Template.options[:attr_wrapper] = '"'

Andere Tipps

Haml tut in der Tat um alphabetisch Attribute, und dies ist in der Tat eine Folge von Ruby-Parser. In Zukunft Attribute können so viel wie möglich in dem Dokument zu bestellen, aber das ist nicht wahrscheinlich, bis Haml 2.2 oder später passieren.

Zitat von: http://haml.info/docs/yardoc/file .REFERENCE.html # Optionen

  

Haml versteht Optionen verschiedene Konfiguration, die Auswirkungen auf ihre   Leistung und Ausgang.

     

In Rails können Optionen eingestellt werden, indem die Einstellung Haml::Template.options   Hash in einem Initialisierer:

     

# config/initializers/haml.rb

Haml::Template.options[:format] = :html5
     

Außen Rails, Sie können sie festlegen, indem sie global in Haml::Options.defaults konfigurieren:

Haml::Options.defaults[:format] = :html5
     

Schließlich können sie auch festlegen, indem ein Options Hash passing [ Haml :: Motor # initialize ] [1]. Zum   die vollständige Liste der verfügbaren Optionen finden Sie unter [ Haml :: Optionen ] [2].

     

[1]:    http://haml.info/docs/yardoc/Haml/Engine.html # initialisieren-instance_method

     

[2]: http://haml.info/docs/yardoc/Haml/ options.html

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