Использование `title` с ScalaTags
Тег заголовка не работает должным образом с библиотекой ScalaTags.
import scalatags.Text.all._
title("My Awesome Website")
Как я могу заставить это работать?
В справочных документах / руководствах обычно отсутствует вездесущий тег заголовка. Я надеюсь, что разработчик исправит это..
Не работает, как ожидалось:
Если вы посмотрите, как такие теги, как link
, script
, head
, html
используются title
тег должен работать так же.
По какой-то причине разработчик решил сделать этот тег ConcreteHtmlTag[Nothing]
а не тип бывшего тега ConcreteHtmlTag[String]
, Также странно, что этот тег находится в Tags2
пакет, а не Tags
это обычно используемый тег в конце концов.
3 ответа
Кажется, этот работает:
scala> scalatags.Text.tags2.title("test")
res7: scalatags.Text.TypedTag[Nothing] = <title>test</title>
Кажется, что title
в scalatags.Text.all
является атрибутом тега (scalatags.generic.Attr
) а не TypedTag
, Является ли это неуместным или нет (или должно быть TypedTag[String]
), Я не знаю. Возможно, это просто столкновение символов в вашем коде.
Явный import scalatags.Text.tags2.title
должен помочь.
Вместо импорта all
Есть альтернативный импорт, который вы можете использовать.
import scalatags.Text.short._
import scalatags.Text.tags2._
html(
head(
title("Your Title Here")
),
body(
)
)
Дополнительные примеры приведены в разделе " Управление импортом " в документации.
Альтернативно
import scalatags.Text.all.{title=>titleAttr,_}
import scalatags.Text.tags2.title
Если вы используете скальатру, вам также захочется защитить голову.
import scalatags.Text.all.{head=>headTag, title=>titleAttr,_}
import scalatags.Text.tags2.title