【问题标题】:Concise Bold/Italic words in ScalaTags paragraphScalaTags 段落中的简洁粗体/斜体字
【发布时间】:2017-01-16 00:47:32
【问题描述】:

我正在尝试找出使用斜体和粗体的最简洁的方法 主要是英文散文页面中的样式。

唯一的依赖:

import scalatags.Text.all._

这是第一个版本:

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.
  """
)

中断多行字符串,放入一个单独的元素,然后 只为几个特殊的词开始一个新的多行字符串真的是 笨重,而且让编辑很痛苦。

这是第二个版本,使用原始函数和字符串的组合 插值:

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 版本。

【问题讨论】:

    标签: scala scalatags


    【解决方案1】:

    如果你真的想要换行符,你可以手动添加br() 标签。但是,在大多数情况下,您可能不想在原始代码中指定换行符,如果您这样做,则应该使用 p() 标签。

    除此之外,三引号不需要自己的行,因此您可以使用类似的东西运行

    div(
      """
      This is the first sentence.
      The second sentence is """, i("quite"), """ fancy.
      This is the third sentence.
      """
    )
    

    【讨论】:

    • 抱歉,我的意图似乎不明确,我不想要任何形式的换行符,无论是在演示文稿中还是在代码本身中。整个段落应该不间断地显示。我只是想找出实现这一目标的最简洁的方法,最好不要调用 raw(...)
    • 那你为什么要使用字符串文字呢?你可以说,div("I am ", i("very"), "important")
    • 这主要是一个写作项目,我只是想用偶尔用斜体/粗体字来写段落的干扰最小的方式。我的第一个示例后面的句子说明了为什么我宁愿不使用这种方法。基本上,我想使用粗体/斜体,但不要将它们视为如此特殊,以至于我每次使用它们时都需要分解段落/div。
    【解决方案2】:

    这就是我在服务器上的做法:

    import scalatags.Text.all._
    
    div(
      h1("Welcome to Scala.js"),
      p("The ", b("server"), " added this. Time to relax ☕")
    )
    

    要在客户端上执行相同操作,请使用 import scalatags.JsDom.all._

    【讨论】:

      猜你喜欢
      • 2011-07-18
      • 2019-07-20
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2014-07-07
      • 2011-08-21
      • 2011-10-02
      相关资源
      最近更新 更多