Haml - como faço para forçar os atributos tag para usar apenas aspas duplas e como faço para pedir atributos tag da maneira que desejo?

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

  •  12-09-2019
  •  | 
  •  

Pergunta

Eu uso staticmatic para modelos eu uso mais tarde com PHP. Não é uma situação estranha onde alguns atributos de marca tem aspas simples, enquanto alguns têm aspas duplas. Eu gostaria que todos eles tenham aspas exclusivamente (não que isso realmente importa, eu acho, mas eu quero que eles assim!)

Por exemplo, o código 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

produz seguinte:

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

Note que não importa se eu usar aspas simples ou duplas no código haml, eu sempre chegar ao mesmo resultado!

Além disso, parece que os atributos haml-> HTML tipos de saída de tag em ordem alfabética, não do jeito que eu tenha encomendado-los em haml. Eu suspeito que isso tem algo a ver com matrizes Ruby, mas eu não tenho certeza porque eu não / não pode usar Ruby além de haml em staticmatic. Como eu poderia tê-los ordenado o mesmo que eu tenha encomendado-los em ordem de rubi em código haml?

Foi útil?

Solução

Tente o seguinte:

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

Outras dicas

Haml faz de fato atributos ordem em ordem alfabética, e este é certamente uma consequência do analisador de Ruby. No futuro, os atributos podem ser ordenados na ordem do documento, tanto quanto possível, mas isso não é provável que isso aconteça até Haml 2.2 ou posterior.

Citação de: http://haml.info/docs/yardoc/file .REFERENCE.html opções #

Haml compreende várias opções de configuração que afetam a sua desempenho e de saída.

Em Rails, opções podem ser definidas, definindo o Haml::Template.options hash em um inicializador:

# config/initializers/haml.rb

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

Rails de fora, você pode configurá-los, configurando-las globalmente em Haml::Options.defaults:

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

Finalmente, você também pode configurá-los pela passagem de um hash de opções para [ Haml :: motor # initialize ] [1]. Para a lista completa de opções disponíveis, consulte [ Haml :: Opções ] [2].

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

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top