Haml - Come forzo tag attributi di utilizzare solo le virgolette E come faccio a ordinare tag attributi come voglio?

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

  •  12-09-2019
  •  | 
  •  

Domanda

Io uso staticmatic per i modelli che uso più tardi con PHP. C'è una strana situazione in cui alcuni attributi dei tag hanno virgolette singole, mentre alcuni hanno virgolette doppie. Vorrei tutti loro di avere doppi apici esclusivamente (non che sia importante credo, ma li voglio così!)

Per esempio, il codice Haml:

!!! 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

produce seguente:

<?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>

Si noti che non importa se uso le virgolette singole o doppie virgolette nel codice Haml, ricevo sempre la stessa uscita!

Inoltre, sembra che haml-> HTML sorta di uscita tag attributi in ordine alfabetico, non il modo in cui li ho ordinati in Haml. Ho il sospetto che questo ha qualcosa a che fare con gli array rubino, ma non sono sicuro dato che non / non posso usare di Ruby a parte Haml in staticmatic. Come potrei averli ordinato lo stesso che li ho ordinati in ordine di Ruby in codice Haml?

È stato utile?

Soluzione

Provare quanto segue:

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

Altri suggerimenti

Haml effettivamente ordine attributi in ordine alfabetico, e questo è davvero una conseguenza del parser di Ruby. In futuro, gli attributi possono essere ordinati in ordine del documento il più possibile, ma non è probabile che accada fino Haml 2.2 o successiva.

Citazione di: http://haml.info/docs/yardoc/file .REFERENCE.html opzioni #

  

Haml capisce varie opzioni di configurazione che influiscono sulla sua   le prestazioni e l'uscita.

     

In Rails, le opzioni possono essere impostate impostando il Haml::Template.options   hash in un inizializzatore:

     

# config/initializers/haml.rb

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

Al di fuori Rails, è possibile impostare configurando loro a livello globale in Haml::Options.defaults:

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

Infine, è anche possibile impostare passando un hash opzioni per [ Haml :: Engine # inizializzazione ] [1]. Per   la lista completa delle opzioni disponibili, vedere [ Haml :: Opzioni ] [2].

     

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

     

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top