[Kiev-pm] Как реализовать данный код с помощью Text::Haml

vti viacheslav.t at gmail.com
Tue Jun 11 05:36:09 PDT 2013


Fixed 
https://github.com/vti/text-haml/commit/67cde2d07e859fbb2cd758d71aac50a7e32d83e0

On 06/06/2013 01:19 PM, TheAthlete wrote:
> Хорошо
>
> vti <viacheslav.t ÎÁ gmail.com> писал(а) в своём письме Thu, 06 Jun 2013 
> 12:47:25 +0300:
>
>> Это баг интерполяции в фильтре. Постараюсь починить.
>>
>> On 06/06/2013 12:14 PM, TheAthlete wrote:
>>> Нет..., добавил, но все равно не интерполируется, вот тестовый пример:
>>>
>>> #================ test_haml.pl
>>>
>>> #!/usr/bin/perl -w
>>> use Modern::Perl;
>>> use utf8::all;
>>>
>>> use Text::Haml;
>>>
>>> my $haml = Text::Haml->new;
>>>
>>> my $html = $haml->render_file('tmpl/index.haml',
>>>   title => 'Hello from Haml',
>>>   content => [qw/test1 test2/],
>>>   test_hash => {
>>>     sky => 'blue',
>>>     grass => 'green',
>>>   },
>>>   settings => {
>>>     charset => 'utf-8',
>>>   },
>>>   request => {
>>>     uri_base => '/home/theathelete',
>>>   },
>>> );
>>>
>>> say $html;
>>>
>>> #============== tmpl/index.haml
>>>
>>> !!! 5
>>> %html
>>>   %head
>>>     %meta(charset = $settings->{charset})
>>>     %title= $title
>>>     :javascript
>>>       !window.jQuery && document.write('<script 
>>> type="text/javascript" 
>>> src=#{$request->{uri_base}}."/javascripts/jquery.js"><\/script>')
>>>   %body
>>>     #content
>>>       %strong= $content->[1]
>>>     %p= $test_hash->{grass}
>>>
>>> #================ Вывод:
>>>
>>> <!DOCTYPE html>
>>> <html>
>>> <head>
>>> <meta charset='utf-8' />
>>> <title>Hello from Haml</title>
>>> <script type='text/javascript'>
>>>   //<![CDATA[
>>>     !window.jQuery && document.write('<script type="text/javascript" 
>>> src=}."/javascripts/jquery.js"></script>')
>>>   //]]>
>>> </script>
>>> </head>
>>> <body>
>>> <div id='content'>
>>> <strong>test2</strong>
>>> </div>
>>> <p>green</p>
>>> </body>
>>> </html>
>>>
>>>
>>> vti <viacheslav.t ÎÁ gmail.com> писал(а) в своём письме Thu, 06 Jun 
>>> 2013 11:56:13 +0300:
>>>
>>>> Так а сама переменная есть?
>>>>
>>>> On 06/06/2013 11:55 AM, TheAthlete wrote:
>>>>> Use of uninitialized value in substitution iterator at 
>>>>> /usr/local/share/perl5/Text/Haml.pm line 942.
>>>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
>>>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>>>>> <html>
>>>>> <head>
>>>>> <meta charset='utf-8' />
>>>>> <title>Hello from Haml</title>
>>>>> <script type='text/javascript'>
>>>>>   //<![CDATA[
>>>>>     !window.jQuery && document.write('<script 
>>>>> type="text/javascript" src=}."/javascripts/jquery.js"></script>')
>>>>>   //]]>
>>>>> </script>
>>>>> </head>
>>>>> <body>
>>>>> <div id='content'>
>>>>> <strong>test2</strong>
>>>>> </div>
>>>>> <p>green</p>
>>>>> </body>
>>>>> </html>
>>>>>
>>>>> Это если использовать интерполяцию с помощью #{}
>>>>> :javascript
>>>>>   !window.jQuery && document.write('<script type="text/javascript" 
>>>>> src=#{$request->{uri_base}}."/javascripts/jquery.js"><\/script>')
>>>>>
>>>>>
>>>>> vti <viacheslav.t ÎÁ gmail.com> писал(а) в своём письме Thu, 06 Jun 
>>>>> 2013 11:46:40 +0300:
>>>>>
>>>>>> Насколько я помню правильный способ второй, используя 
>>>>>> интерполяцию #{}. А что именно не работает? Какая ошибка?
>>>>>>
>>>>>> On 06/06/2013 11:40 AM, TheAthlete wrote:
>>>>>>> Здравствуйте!
>>>>>>> Подскажите пожайлуста, как с помощью Haml для Text::Haml 
>>>>>>> реализовать следующий код:
>>>>>>>
>>>>>>> <script type="text/javascript">/* <![CDATA[ */
>>>>>>>       !window.jQuery && document.write('<script 
>>>>>>> type="text/javascript" src="<% request.uri_base 
>>>>>>> %>/javascripts/jquery.js"><\/script>')
>>>>>>>   /* ]]> */</script>
>>>>>>>
>>>>>>> Пробую слеюующим образом:
>>>>>>>
>>>>>>> :javascript
>>>>>>>   !window.jQuery && document.write('<script 
>>>>>>> type="text/javascript" 
>>>>>>> src=$request->{uri_base}."/javascripts/jquery.js"><\/script>')
>>>>>>>
>>>>>>> но не работает - не получается интерполировать $request->{uri_base}
>>>>>>> #{$request->{uri_base}} тоже не работает
>>>>>>> _______________________________________________
>>>>>>> Kiev-pm mailing list
>>>>>>> Kiev-pm ÎÁ pm.org
>>>>>>> http://mail.pm.org/mailman/listinfo/kiev-pm
>>>>>>
>>>>>> _______________________________________________
>>>>>> Kiev-pm mailing list
>>>>>> Kiev-pm ÎÁ pm.org
>>>>>> http://mail.pm.org/mailman/listinfo/kiev-pm
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Kiev-pm mailing list
>>>> Kiev-pm ÎÁ pm.org
>>>> http://mail.pm.org/mailman/listinfo/kiev-pm
>>>
>>>
>>
>> _______________________________________________
>> Kiev-pm mailing list
>> Kiev-pm ÎÁ pm.org
>> http://mail.pm.org/mailman/listinfo/kiev-pm
>
>



More information about the Kiev-pm mailing list