Краткие полужирные / курсивные слова в абзаце ScalaTags
Я пытаюсь найти наиболее краткий способ использовать курсив и полужирные шрифтовые стили на преимущественно английской прозе.
Единственная зависимость:
import scalatags.Text.all._
Это была 1-я версия:
p(id:="with-italics-verbose")("""
Earlier sentence in paragraph.
This is a sentence with
""",
i("very"),
"""
important words, so
""",
b("pay attention."),
"""
Later sentence in same paragraph.
"""
)
Прерывание многострочной строки, добавление отдельного элемента, а затем запуск новой многострочной строки только для нескольких специальных слов очень неудобно и затрудняет редактирование.
Это 2-я версия, использующая комбинацию необработанной функции и интерполяции строк:
p(id:="with-italics-raw-interpolate")(raw(s"""
Earlier sentence in paragraph.
This is a sentence with ${i("very")}, important words, so ${b("pay attention")}.
Later sentence in same paragraph.
"""
))
Это так хорошо, как я могу надеяться на использование ScalaTags? Используя последнюю версию 0.6.0.
2 ответа
Вы могли бы добавить br()
теги вручную, если вы действительно хотите разрывы строк. В большинстве случаев вы, вероятно, все равно не хотите указывать разрывы строк в исходном коде, и если вы это делаете, вам следует использовать p()
теги.
За исключением этого, тройные кавычки не нуждаются в собственной строке, так что вы можете запустить что-то вроде
div(
"""
This is the first sentence.
The second sentence is """, i("quite"), """ fancy.
This is the third sentence.
"""
)
Вот как я делаю это на сервере:
import scalatags.Text.all._
div(
h1("Welcome to Scala.js"),
p("The ", b("server"), " added this. Time to relax ☕")
)
Чтобы сделать то же самое на клиенте, используйте import scalatags.JsDom.all._