[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