如何在Jekyll中关闭智能引号?

17

我怎样才能在Jekyll中关闭智能引号和撇号? 它破坏了我的Gulp拼写检查过程。

我希望像doesn't这样的单词保留单个直引号。但是,Jekyll将它们转换为智能引号,例如doesnt’,而我需要它们保持单引号以进行拼写检查。

这是我在_config.yml中尝试的内容:

kramdown:
    smartquotes:  ["apos", "rsquo", "ldquo", "rdquo"]

我将使用kramdown进行翻译。

这是我的全部配置:

name: Bitcoin Bulls
markdown: kramdown
timezone: America/Detroit
highlighter: pygments
author: David Smith
safe: true
lsi: false
permalink: none

url: http://www.bitcoinbulls.net
exclude:  [CNAME, Gemfile, Gemfile.lock, '*.less', gruntfile.js, custom_css, node_modules, README.md, '*.svg', '*.docx']
include: [glyphicons-halflings-regular.svg]


kramdown:
    smart_quotes: ["rdquo", "rsquo", "ldquo", "rdquo"]


relative_permalinks: false

defaults:
  -
    scope:
      path: "" # empty string for all files
    values:
      layout: "default"
  -
    scope:
      path: "" # empty string for all files
      type: post
    values:
      layout: "post"
      is_post: true

1
好奇一下,为什么你想要这个?单引号和双引号(',")并不是撇号或引号,它们表示英尺和英寸、分钟和秒等单位。 - Rick
@Rick,我使用的拼写检查解决方案将所有带有智能引号的内容都标记为拼写错误 :( - David Silva Smith
1
那真是令人沮丧的! - Rick
1个回答

37
< p > 中的下划线在smart_quotes中缺失,第二个数组项需要是apos,以完全关闭撇号的智能引用。

kramdown:
    smart_quotes:  ["apos", "apos", "ldquo", "rdquo"]

要关闭智能引号,并针对撇号/单引号和双引号,请使用以下代码:

kramdown:
    smart_quotes: ["apos", "apos", "quot", "quot"]

这就是所谓的“程序员世界兼容配置”。


更多细节:

kramdown默认将aposquot转换为印刷引号。也就是说:

  • 'apostrophe'会变成‘apostrophe’
  • "quote"会变成“quote”

默认配置提供了指导:

kramdown:

  # smart_quotes: 
  #
  #   first parameter : how an opening apostrophe is transformed
  #                     or apostrophe like in "I'm"
  #           default : ' -> ‘ (lsquo)
  #              apos : ' -> '
  #
  #   second parameter : how a closing apostrophe is transformed
  #           default : ' -> ’ (rsquo)
  #              apos : ' -> '
  #
  #   third parameter : how an opening double quote is transformed
  #           default : " -> “ (ldquo)
  #              quot : " -> "
  #
  #   fourth parameter : how a closing double quote is transformed
  #           default : " -> ” (rdquo)
  #              quot : " -> "
  #
  #   Default kramdown config
  #     smart_quotes: ["lsquo", "rsquo", "ldquo", "rdquo"]
  # 
  #   Programmer's world compliant config :
  #     smart_quotes: ["apos", "apos", "quot", "quot"]

其中:

  • quot = ":中性引号
  • apos = ':撇号,例如 I'm 中的撇号
  • lsquo = ‘:排版用开单引号
  • rsquo = ’:排版用闭单引号
  • ldquo = “:排版用开双引号
  • rdquo = ”:排版用闭双引号

Kramdown 文档 提供了其他可能感兴趣的选项。维基百科的引号页面提供了有关解释复杂性以及 Unicode 引入后事物如何改变的详细信息。


1
在本评论发布时,上述链接的 kramdown 文档显示默认值为 ["lsquo", "rsquo", "ldquo", "rdquo"] - nishanthshanmugham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接