Jekyll markdown 删除线

Posted

技术标签:

【中文标题】Jekyll markdown 删除线【英文标题】:Jekyll markdown strikethrough 【发布时间】:2013-06-08 21:37:10 【问题描述】:

我无法让 Jekyll 的降价处理器听我的。这些都按原样显示:

1.  ~Call Mom today.~

1.  ~~Call Mom today.~~

这只会使内部文本消失:

1.  <s> Call Mom today.</s>

我使用的 Jekyll Bootstrap 几乎是开箱即用的。

【问题讨论】:

【参考方案1】:

也许是这样

markdown: redcarpet
redcarpet:
  extensions: ["strikethrough"]

Github flavored Markdown and pygments highlighting in Jekyll

或者

echo '1. <s>Call Mom today.</s>' | kramdown

结果

<ol>
  <li>
    <s>Call Mom today.</s>
  </li>
</ol>

请注意,如果您使用的是jekyll --watch,此配置更改将不会被采纳;你需要重启 Jekyll。

【讨论】:

看起来我有一个更普遍的问题。 ***.com/questions/17004586/… +1 表示 jekyll --watch 注释。那让我绊倒了。 jekyll --watch 是关键,特别是因为我在不同的终端中运行了一个单独的观察程序实例,这覆盖了我的输出。 “注意:从 2016 年 5 月 1 日开始,GitHub Pages 将仅支持 kramdown。” help.github.com/articles/… 似乎 Jekyll 放弃了对 redcarpet 的支持并且只支持 kramdown:jekyllrb.com/news/2019/08/20/jekyll-4-0-0-released【参考方案2】:

如果您将 Jekyll 与 GitHub Pages 一起使用,那么您将不再被允许使用 redcarpet - kramdown will only be supported。因此,在 kramdown 支持带有 markdown 的“~~strikethough~~”之前,我正在使用 javascript 为页面文本添加删除线:

(function() 
  function strikethrough()
    document.body.innerhtml = document.body.innerHTML.replace(
      /\~\~(.+?)\~\~/gim,
      '<del>$1</del>'
    );
  
  strikethrough();
)();

【讨论】:

"如果您当前使用的是 Rdiscount 或 Redcarpet,我们默认启用了 kramdown 的 GitHub 风格的 Markdown 支持,这意味着 kramdown 应该具有两个已弃用的 Markdown 引擎的所有功能" @djechlin 有没有我需要添加的配置选项来获得 ~~strikethough~~ 在 github-pages 上使用 kramdown,因为它对我不起作用(从 redcarpet 更改为带有罢工扩展名之后) ? 我不知道,我只是引用了你链接的页面。

以上是关于Jekyll markdown 删除线的主要内容,如果未能解决你的问题,请参考以下文章

Jekyll 教程——Front Matter & YAML

MARKDO

GitHub Pages 上的 Jekyll:在另一个 markdown 文件中包含 markdown

在 Jekyll HTML 中嵌入 Markdown

在 Jekyll 的 Markdown 代码块中转义双花括号

写作环境搭建(git+github+markdown+jekyll)