1

这就是我使用 kramdown 做脚注的方式。(我也在 Jekyll 的背景下工作)

I make a reference to a footnote [^1].
[^1]: This is the footnote.

这给了我第二行的以下 HTML 代码:

<div class="footnotes">
  <ol>
    <li id="fn:1">
      <p>This is the footnote. <a href="#fnref:1" class="reversefootnote">&#8617;</a></p>
    </li>
  </ol>
</div>

虽然我对这一切都很好,但我确实希望将这个&#8617;角色换成我选择的一个角色(实际上是一个 Font Awesome 角色)。实现这一目标的最佳方法是什么?我可以使用 CSS 吗?

4

3 回答 3

0

据我所知,这不是 kramdown 中的一个选项——至少,它没有列在配置选项中。(可能想要提交功能请求;开发人员反应非常迅速。)但是,根据您的情况,您可以尝试一些解决方法。其中,最简单的可能是通过管道输出sed并将字符更改为您想要的任何内容:

    kramdown yourfile.txt | sed -e 's/&#8617;/whatever/g' > yourfile.html

有一些黑客reversefootnote在 CSS 中抑制类或更改 Javascript 中的字符,但更改实际内容可能更好。

于 2014-11-24T19:48:06.820 回答
0

我在 GitHub 上查看了kramdown的代码。

我发现,在 html.rb 的第 485 行附近FOOTNOTE_BACKLINK_FMT = "%s<a href=\"#fnref:%s\" class=\"reversefootnote\" role=\"doc-backlink\">%s</a>",最后一个%s指向@options[:footnote_backlink].

所以只需添加footnote_backlink到您的_config.yml.

...

kramdown:
  auto_ids: true
  footnote_backlink: "My Go Back Text"
  syntax_highlighter: rouge
  syntax_highlighter_opts:
    block:
      line_numbers: true
...

在这种情况下,该符号将替换为My Go Back Text

提示:当footnote_backlink设置为“”(空字符串)时,“返回链接将被省略”

当您想要图标字体中的图标时,请通过 css 更改字体系列。

我最喜欢的符号是↰ U+21b0。

此更改也记录在版本说明 v1.8.0 中

于 2021-10-03T15:04:49.623 回答
0

我最近问自己同样的事情;我想用(DOWNWARDS ARROW WITH CORNER LEFTWARDS)字符替换&#8617;(LEFTWARDS ARROW WITH HOOK)字符。&#8629;

经过一番研究,我发现用伪元素和 css 可见性替换文本。我最终reversefootnote在私有 gh-page 上使用了该类,如下所示:

.reversefootnote {
  visibility: hidden;
  position: relative;
}

.reversefootnote:after {
  visibility: visible;
  position: absolute;
  top: 0;
  left: 0;
  content: "\21B5";
}

注意: \21B5是 .css 的 css 值&#8629;

content:对于 FontAwesome 图标,在测试所需的图标代码作为属性值之前,我需要声明 @font-face 或升级我正在使用的旧 FA 。

我希望这可以帮助任何遇到这个旧线程的人。

于 2020-03-28T23:43:28.540 回答