HAML использование ссылок в тексте без новой строки
в настоящее время я разрабатываю небольшое приложение Sinatra Ruby. Для слоя презентации я использую HAML, который работает довольно хорошо.
однако у меня есть страница FAQ, которая имеет более длинные текстовые абзацы, что не является проблемой. Но в некоторых отрывках я хотел бы включить ссылки. С чистым HTML это очень легко достичь и по-прежнему читается.
<p>
I'm talking about <a href="http://ruby-lang.org">Ruby</a> in this text.
</p>
С HAML я застрял с этими новыми абзацами, которые затем выглядят так:
%p
I'm talking about
%a {:href => 'http://ruby-lang.org'}>Ruby
in this text.
Я думаю, что действительно это прерывает рабочий процесс.
есть ли способ в HAML просто вставить ссылку без использования новой строки?
5 ответов
Я предполагаю, что вы спрашиваете о добавлении ссылок без новых строк в источник Haml. Здесь невозможно делать то, что ты хочешь. От Haml на часто задаваемые вопросы:
выражение структуры документа и выражение встроенного форматирования-две очень разные проблемы. Haml в основном предназначен для структуры, поэтому лучший способ справиться с форматированием-оставить его на других языках, которые предназначены для он.
Haml использует пробелы и отступы, чтобы определить, что делать, и без каких-либо новых строк нет никакого отступа, и поэтому haml не может определить, какие элементы добавить на страницу.
если вы просто хотите блоки статического текста, вы можете использовать фильтр уценки как FAQ предлагает следующее:
:markdown
I'm talking about [Ruby](http://ruby-lang.org) in this text.
как я уже отмечал, Если вы хотите удалить строку с сгенерированный HTML затем вы можете посмотреть в использовании операторы удаления пробельных символов, но обратите внимание, что они удалят все пробельных, так что, например,
I'm talking about
%a{:href => 'http://ruby-lang.org'}>Ruby
in this text.
использует >
для удаления внешних пробелов будет производить:
I'm talking about<a href='http://ruby-lang.org'>Ruby</a>in this text.
и это будет выглядеть как
Я говорю оРубинв этом тексте.
т. е. без пробелов вокруг "Рубина", который, вероятно, не то, что вы хотите.
Это проще, чем вы думаете. Просто прочитайте эту ссылку: http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#whitespace_removal__and_
таким образом, использование просто, просто добавьте меньше-знак "
%p<
I'm talking about
%a {:href => 'http://ruby-lang.org'}>Ruby
in this text.
и он будет генерировать именно то, что вы хотите сделать.
не знаком с Синатрой, но в Rails вы можете просто сделать это:
%p
I'm talking about #{ link_to 'Ruby', 'http://ruby-lang.org'} in this text.
вы также можете использовать встроенный HTML в HAML.
%p I'm talking about <a href="http://ruby-lang.org">Ruby</a> in this text.