将 `title` 与 ScalaTags 一起使用

Using `title` with ScalaTags

标题标签未按预期与 ScalaTags 库一起使用。

import scalatags.Text.all._

title("My Awesome Website")

我怎样才能让它工作?

Help docs/tutorials are conveniently missing the ubiquitous title tag. I hope the dev fixes this..

https://github.com/lihaoyi/scalatags

未按预期工作:

如果您查看 linkscriptheadhtml 等标签的使用方式,title 标签的工作原理应该相同。

出于某种原因,开发人员选择制作此标签 ConcreteHtmlTag[Nothing] 而不是之前标签的类型 ConcreteHtmlTag[String]。同样奇怪的是这个标签在Tags2包里而不是Tags,毕竟一个常用的标签

这个似乎有效:

scala> scalatags.Text.tags2.title("test")
res7: scalatags.Text.TypedTag[Nothing] = <title>test</title>

scalatags.Text.all 中的 title 似乎是标签属性 (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(

  )
)

更多示例在文档的 Managing Imports 部分。

或者

import scalatags.Text.all.{title=>titleAttr,_}
import scalatags.Text.tags2.title

如果你正在使用 scalatra,你也会想要保护 head

import scalatags.Text.all.{head=>headTag, title=>titleAttr,_}
import scalatags.Text.tags2.title