web-dev-qa-db-fra.com

Jekyll sur Github Pages: comment ajouter des notes de bas de page dans Markdown?

Je suis récemment passé à l'utilisation de Jekyll sur les pages Github pour mes différents blogs, et j'adore pouvoir simplement pousser Markdown vers Github et gérer le traitement. J'aimerais continuer à l'utiliser de cette façon (plutôt que d'exécuter Jekyll localement et de simplement pousser le site pré-généré vers Github), car l'interface utilisateur de Github facilite l'ajout et la modification de messages si je ne suis pas sur ma propre machine.

Il y a juste une chose que je n'ai pas pu comprendre: je ne peux pas faire fonctionner les notes de bas de page Markdown. J'utilise ce style:

I bet you'd like more information about this sentence [^1].

[^1]: Well lucky for you, I've included more information in footnote form.

J'ai trouvé un article (quelque part) qui suggérait d'activer une extension de notes de bas de page pour le processeur de démarquage redcarpet, mais cela ne le fait pas non plus:

markdown: redcarpet
redcarpet:
  extensions: ["footnotes"]

Existe-t-il un moyen d'utiliser les notes de bas de page Markdown sans pré-générer le site statique avant de le pousser vers Github?

59
Brock Boland

J'utilise kramdown pour l'analyse syntaxique et il gère bien les notes de bas de page.

Modifiez cette ligne dans votre _config.yml fichier:

markdown: redcarpet

à:

markdown: kramdown
62
Brian Willis

Depuis Jekyll 3.0.0, kramdown est le processeur Markdown par défaut , donc l'exemple de la question OP fonctionne maintenant hors de la boîte. Le schéma est le suivant:

Some text[^1].

Some other text[^2].

The identifier in the square brackets does not have to be numeric[^my_footnote].

[^1]: Some footnote.
[^2]: Other footnote.
[^my_footnote]: This also works fine.
16
Yi Ou

Tapis rouge

Lorsque vous souhaitez utiliser redcarpet, il ne semble pas y avoir de solution pratique pour le moment. Bien que Redcarpet 3 supporte les notes de bas de page avec la syntaxe que vous avez utilisée, il n'est pas inclus dans Jekyll, car Redcarpet 3 supprime Ruby 1.8 compatibilité ( source ).

Solution 1: utilisez Redcarpet fourchu 2

Voir cette solution par Jerod Santo:

Ajoutez un fichier appelé Gemfile à la racine de votre dossier Jekyll avec ce contenu:

source "https://rubygems.org"

gem "jekyll"
gem "redcarpet", github: "triplecanopy/redcarpet"

ou bien djui/redcarpet

Ensuite, ajustez votre _config.yml à

markdown: redcarpet
redcarpet:
  extensions: [footnotes]

Solution 2: Fork Jekyll et inclure Redcarpet 3

Je ne sais pas quelle est la façon la plus simple de procéder. Les commentaires sont les bienvenus.

Maruku

Semble prendre en charge les notes de bas de page ( source , source ).

7
Martin Thoma