Як додати виноски до Markdown з ароматом GitHub?


273

Я просто намагаюся додати виноски до мого GitHub Gist , але це не працює:

Some long sentence. [^footnote]

[^footnote]: Test, [Link](https://google.com).

Я дотримуюся цього керівництва і не думаю, що роблю щось не так. Чи може хтось вказати на мою помилку?


1
fletcher.github.io/peg-multimarkdown Примітка: В даний час вікі програмне забезпечення Github підтримує Markdown, але не MultiMarkdown Де документально підтверджено, що це буде працювати?
ta.speot.is

1
@EnricoSusatyo Не в чіткій відмітці, але, наприклад, Pandoc підтримує це
mb21

2
Цікаво, що відмітка GitLab підтримує [^footnote]синтаксис, ще до того, як він офіційно був доданий до документації
hmijail оплакує відставку

1
@hmijail ви посилаєтесь на виноску GitLab, а не на Github, як просив ОП.
Devy

1
@Devy, так, саме тому я сказав "відмітка GitLab". Може бути корисним, враховуючи, що реалізація ароматів GitLab, здається, базується на ароматі GitHub, і що в цілому Markdown, його аромати та реалізація є нечестивим безладом. Короткий зміст: "про всяк випадок спробуйте і це".
hmijail сумує у відставці

Відповіді:


218

GitHub Flavored Markdown не підтримує виноски, але ви можете вручну підробити це¹ з символами Unicode або надписними тегами, наприклад <sup>1</sup>.

Звичайно, це не ідеально, оскільки ви зараз відповідальні за підтримку нумерації виносок. Він працює досить добре, якщо у вас є лише один або два.


Дякую, мені також подобається, як на інших сайтах є посилання на виноски, які можна натискати, але я думаю, це може бути єдиним способом зробити це в GitHub.
Енріко Сусатіо

6
Ви також можете використовувати звичайні номери, укладені у квадратні дужки [1], що є досить усталеною умовою для виносок у прямому тексті. (Боже, чому я не можу робити перерви у коментарях.) [1] Тобто, як виноски Pandoc Mandoc мінус каре.
Гільденстерн

342

Трохи розширивши попередню відповідь, ви також можете зробити тут посилання на виноски, які можна натиснути. Спочатку визначте виноску внизу так

<a name="myfootnote1">1</a>: Footnote content goes here

Потім посилайтеся на це в іншому місці документа, подібного до цього

<sup>[1](#myfootnote1)</sup>

2
Це приємна відповідь середнього рівня. Він підтримує роз'яснення намірів без, IMO , занадто великої потужності для форматування.
kayleeFrye_onDeck

3
Використання нечислових посилань ухиляється від вищезгаданого питання щодо підтримки послідовних числових посилань - Example [[TPL]](#TPL)... #### Notes...<a name="TPL">[TPL]</a> footnote template
Рендалл Вітман

4
Не пропустіть частину 2 у відповіді @ Matteo нижче. Мене настільки посміхнулася ця відповідь (спасибі), що я майже не намагався прокрутити вниз. . .
прихожий

180

Ще більше розширюючи попередні відповіді, ви можете додати idатрибут до посилання на виноску:

 Bla bla <sup id="a1">[1](#f1)</sup>

Потім зсередини виноску, посилання на нього.

<b id="f1">1</b> Footnote content here. [↩](#a1)

Це додасть трохи в кінці вмісту виноски, що поверне ваших читачів до рядка, що містить посилання виноски.


8
Додавши незначну корекцію до відповіді @ Matteo вище, мені довелося використовувати nameзамість idдзвінка до виноски. Тобто <p>Bla bla <sup name="a1">[1](#f1)</sup>
oldfartdeveloper

2
Дякуємо @oldfartdeveloper. Схоже, що обидва nameта idпрацюють для файлів README на github.com .. хоч не перевіряли суті.
Маттео

1
Для тих, хто знайде це запитання і відповіді близько 2020 року: ця відповідь працює на GitHub, PLUS, вона має додаткову функцію: повернення до виноски-посилання, яке ви натиснули . Я знайшов один мінорний застереження (пояснено тут) , але це відповідь афаічно.
Seamus

13

Я не зміг змусити працювати рішення Сурії та Маттео. Наприклад, "(# f1)" просто відображався як текст і не став посиланням. Однак їхні рішення привели мене до трохи іншого рішення. (Я також відформатував виноску та посилання на початковий надрив трохи інакше.)

В тексті тексту:

Yadda yadda<a href="#note1" id="note1ref"><sup>1</sup></a>

В кінці документа:

<a id="note1" href="#note1ref"><sup>1</sup></a>Here is the footnote text.

Клацнувши на надрисі у виносці, повертається до індексу початкового тексту.


Цікаво. Ви використовували HTML, де @Matteo використовував GFM. Я зміг примусити його рішення працювати, але це вимагало трохи хитрощів . Як ви вважаєте, це химерність у візуалізації двигуна GitHub?
Seamus

Я поняття не маю, @Seamus. Як я пам’ятаю, було спроб і помилок, коли я намагався це зрозуміти.
Марс

1
Це розумне рішення. І так - ось де ми сьогодні - проб і помилки :)
Seamus

12

Хоча я не знаю, чи це офіційно зафіксовано де-небудь, ви можете робити ноти колонтитулу в Github.

  1. Позначте місце, куди потрібно вставити посилання нижнього колонтитулу, з номером, укладеним у квадратні дужки, тобто [1]

  2. У нижній частині публікації зробіть посилання на пронумерований маркер і слідом за двокрапкою та посиланням, IE [1]: http://www.example.com/link1

І коли ви попередньо переглянете його, він буде відображатися як нумеровані посилання в тілі публікації.


5
Однак це не генерує список посилань у кінці документа. Як на сторінках Вікіпедії.
milosa

чи повинно бути двокрапка після квадратних дужок?
sAguinaga

17
Це не виноска, це посилання.
Девід Молес

крок #1не працює як посилання на розмітку Github (грудень 2018).
ruhong

7

Для коротких приміток надання елементу якоря атрибутом заголовка створює "підказку".

<a title="Note text goes here."><sup>n</sup></a>

В іншому випадку для більшої кількості залучених нотаток виглядає так, що найкраще робити підтримку названих посилань вручну.


1
Це не працювало на сторінці
розмітки

4

Це працює для мене:

блаблабла [<sup>1</sup>](#1)блаблабла

виноски: посилання на блаблабла <a class="anchor" id="1"></a>


3

Я використовував варіант рішення Матео. Я використовую це у файлах Rmd, записаних у ароматизованій розмітці (gfm) для github для веб-сайту, що працює на Jekyll, але ті самі файли Rmd використовуються для створення pdfs у різних контекстах. Файли Rmd математично важкі, а математика відображається за допомогою MathJax на веб-сайті. Тому мені було потрібно рішення, яке працює з gfm, який обробляється через Jekyll, працює з pandoc-> pdflatex і сумісний з MathJax.

фрагмент з файлу Rmd (який є gfm)

Here is a paragraph with an footnote <span id="a1">[[1]](#f1)</span>.

Footnotes
=========

1. <span id="f1"></span> This is a footnote. [$\hookleftarrow$](#a1)

$\hookleftarrow$це латекс, який працює для мене, оскільки у мене завжди включений MathJax. Я використовую це, щоб переконатися, що він правильно відображається в моїх файлах pdfs. Я поміщаю виноски у квадратні дужки, тому що супріск є заплутаним, якщо я ставлю виноску на якусь вбудовану математику.

Ось це в дії: https://eeholmes.github.io/posts/2016-5-18-FI-recursion-1/

Ці замітки можна розмістити в будь-якому місці Rmd. Я вношу список в кінці, щоб вони були технічно конотаціями.


Легко дотичний до питання ОП, але в кінцевому підсумку мені дуже подобається ваше "рішення, яке працює з gfm, який обробляється через Jekyll, працює з pandoc-> pdflatex і сумісний з MathJax". Охайний приклад.
boweeb


0

Хоча питання стосується Markdown з ароматом GitHub, я думаю, варто згадати, що станом на 2013 рік GitHub підтримує AsciiDoc, який має цю функцію. Вам потрібно лише перейменувати файл із .adocрозширенням та використовувати:

A statement.footnote:[Clarification about this statement.]

A bold statement!footnote:disclaimer[Opinions are my own.]

Another bold statement.footnote:disclaimer[]

Документація разом з кінцевим результатом знаходиться тут .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.