Il s’agit d’une astuce trouvée sur le blog PenguinDreams1

Jekyll a la mauvaise idée d’interpréter les notes de bas de pages en Markdown, même lorsqu’on utilise post.excerpt pour afficher un extrait d’un article. Cela produit des notes de bas de pages et encombre le résumé d’un article.

Solution

Placer ce code dans un fichier stripfootnotes.rb dans le dossier _plugins.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
require 'nokogiri'

module Jekyll
  module StripFootnotesFilter

    def strip_footnotes(raw)
      doc = Nokogiri::HTML.fragment(raw.encode('UTF-8', :invalid => :replace, :undef => :replace, :replace => ''))

      for block in ['div', 'sup', 'a'] do
        doc.css(block).each do |ele|
          ele.remove if (ele['class'] == 'footnotes' or ele['class'] == 'footnote')
        end
      end

      doc.inner_html

    end
  end
end

Liquid::Template.register_filter(Jekyll::StripFootnotesFilter)

Pensez à mettre à jour votre bundle, à savoir rajouter

gem "nokogiri"

Dans Gemfile et lancer la commande bundle update.

Utilisation

Là où on souhaite retirer les notes de bas de page, il suffit d’ajouter strip_footnotes, dans les filtres liquid, par exemple :

{{ post.excerpt | strip_footnotes }}

Références