Jak dodać przypisy do Markdown o smaku GitHub?


273

Próbuję tylko dodać przypisy do mojej GitHub Gist , ale to nie działa:

Some long sentence. [^footnote]

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

Postępuję zgodnie z tym przewodnikiem i nie sądzę, że robię coś złego. Czy ktoś może wskazać mój błąd?


1
fletcher.github.io/peg-multimarkdown Uwaga: Obecnie oprogramowanie wiki Github obsługuje Markdown, ale nie MultiMarkdown Gdzie jest udokumentowane, że to zadziała?
ta.speot.is

1
@EnricoSusatyo Nie w zwykłym obniżki, ale na przykład podpór Pandoc to
mb21

2
Co ciekawe, przecena GitLab obsługuje tę [^footnote]składnię, nawet zanim została oficjalnie dodana do dokumentacji
hmijail opłakuje od

1
@hmijail, masz na myśli przypis GitLab, a nie Github, o co prosi OP.
Devy,

1
@Devy, tak, dlatego powiedziałem „przecena GitLab”. Może być nadal przydatny, biorąc pod uwagę, że implementacja smaku GitLab wydaje się opierać na smaku GitHub, a ogólnie Markdown, jego smaki i implementacje są niecnym bałaganem. Podsumowanie: „na wszelki wypadek też spróbuj”.
Hmijail opłakuje odejście

Odpowiedzi:


218

GitHub Flavored Markdown nie obsługuje przypisów, ale możesz ręcznie sfałszować go¹ ze znakami Unicode lub znacznikami górnymi, np <sup>1</sup>.

¹ Oczywiście nie jest to idealne rozwiązanie, ponieważ jesteś teraz odpowiedzialny za utrzymanie numeracji przypisów. Działa to dość dobrze, jeśli masz tylko jeden lub dwa.


Dzięki, podoba mi się również, w jaki sposób inne witryny mają klikalne łącza do przypisów, ale myślę, że to może być jedyny sposób, aby to zrobić w GitHub.
Enrico Susatyo

6
Możesz także używać liczb regularnych w nawiasach kwadratowych [1], co z mojego doświadczenia jest dość ustaloną konwencją dla przypisów w postaci zwykłego tekstu. (Cholera, dlaczego nie mogę łamać wierszy w komentarzach.) [1] Tzn. Lubię przypisy Pandoc Mandoc pomniejszone o daszek.
Guildenstern

342

Rozwijając nieco poprzednią odpowiedź, możesz również kliknąć linki przypisu tutaj. Najpierw zdefiniuj przypis u dołu w ten sposób

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

Następnie odwołaj się do tego w innym miejscu tego dokumentu

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

2
To jest ładna odpowiedź w środku. Zachowuje wyjaśnienie zamiaru bez IMO , zbyt dużego rozdęcia do formatowania.
kayleeFrye_onDeck

3
Używanie odniesień nienumerycznych eliminuje wspomniany wyżej problem utrzymywania kolejnych odniesień numerycznych - Example [[TPL]](#TPL)... #### Notes...<a name="TPL">[TPL]</a> footnote template
Randall Whitman,

4
Nie przegap części 2 w odpowiedzi @ Matteo poniżej. Tak byłem zaskoczony tą odpowiedzią (dzięki), że prawie nie zawracałem głowy przewijaniem w dół. . .
wardw

180

Rozszerzając poprzednie odpowiedzi jeszcze bardziej, możesz dodać idatrybut do linku przypisu:

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

Następnie w przypisie, z powrotem do niego link.

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

To doda trochę na końcu treści przypisu, co zabierze czytelników z powrotem do wiersza zawierającego link przypisu.


8
Dodając drobną korektę do powyższej odpowiedzi @ Matteo, musiałem użyć namezamiast idw wywołaniu przypisu. Tj. <p>Bla bla <sup name="a1">[1](#f1)</sup>
oldfartdeveloper

2
Dzięki @oldfartdeveloper. Wydaje się, że zarówno namei idpraca na plikach README na github.com .. nie testowałem GIST chociaż.
Matteo,

1
Dla tych, którzy znajdą to pytanie i odpowiedzi około roku 2020: Ta odpowiedź działa w GitHub, PLUS, ma dodatkową funkcję: powrót do przypisu-link-kliknięty . Znalazłem jedno drobne zastrzeżenie (wyjaśnione tutaj) , ale jest to odpowiedź afaiczna.
Seamus

13

Nie udało mi się uruchomić rozwiązań Suryi i Matteo. Na przykład „(# f1)” został po prostu wyświetlony jako tekst i nie stał się linkiem. Jednak ich rozwiązania doprowadziły mnie do nieco innego rozwiązania. (Również sformatowałem przypis i link z powrotem do oryginalnego indeksu górnego nieco inaczej).

W treści tekstu:

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

Na końcu dokumentu:

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

Kliknięcie indeksu górnego w przypisie powoduje powrót do indeksu górnego w oryginalnym tekście.


Ciekawy. Użyłeś HTML, gdzie @Matteo używał GFM. Udało mi się sprawić, by jego rozwiązanie zadziałało, ale wymagało to trochę majstrowania . Czy uważasz, że to dziwactwo w silniku renderującym GitHub?
Seamus

Nie mam pojęcia, @Seamus. O ile pamiętam, próbowałem to rozgryźć, gdy próbowałem to rozgryźć.
Mars

1
To sprytne rozwiązanie. I tak - wciąż tu jesteśmy - próba i błąd :)
Seamus

12

Chociaż nie wiem, czy jest to gdziekolwiek oficjalnie udokumentowane, możesz robić notatki w stopce w Github.

  1. Zaznacz miejsce, w którym chcesz wstawić link stopki, liczbą zawartą w nawiasach kwadratowych, IE [1]

  2. W dolnej części postu zrób odniesienie do ponumerowanego znacznika, a następnie dwukropka i łącza, IE [1]: http://www.example.com/link1

A kiedy go wyświetlisz, będzie renderowany jako numerowane linki w treści postu.


5
Nie generuje to jednak listy linków na końcu dokumentu. Jak na stronach Wikipedii.
milosa

czy po nawiasach kwadratowych powinien znajdować się dwukropek?
sAguinaga,

17
To nie jest przypis, to jest link.
David Moles

krok #1nie działał jako link na github markdown (grudzień 2018).
ruhong

7

W przypadku krótkich notatek podanie elementu kotwicy z atrybutem tytułu tworzy „etykietkę narzędzia”.

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

W przeciwnym razie, dla bardziej zaangażowanych notatek, wygląda na to, że najlepszym rozwiązaniem jest ręczne utrzymywanie nazwanych linków.


1
To nie zadziałało na stronie GitHub Enterprise 2.8
Yegeniy

4

To działa dla mnie:

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

przypisy: odniesienie do blablabla <a class="anchor" id="1"></a>


3

Użyłem wariantu rozwiązania Mateo. Używam tego w plikach Rmd zapisanych w github flavored markdown (gfm) dla witryny opartej na Jekyll, ale te same pliki Rmd są używane do tworzenia plików PDF w różnych kontekstach. Pliki Rmd są ciężkie z matematyki, a matematyka jest wyświetlana w MathJax na stronie internetowej. Potrzebowałem więc rozwiązania współpracującego z gfm, które jest przetwarzane przez Jekyll, działa z pandoc-> pdflatex i jest kompatybilne z MathJax.

snippet z pliku Rmd (którym jest 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$to lateks, który działa dla mnie, ponieważ zawsze mam włączony MathJax. Używam tego, aby upewnić się, że poprawnie wyświetla się w moich plikach pdf. Umieszczam swoje przypisy w nawiasach kwadratowych, ponieważ indeks górny jest mylący, jeśli umieszczam przypis w matematyce wbudowanej.

Tutaj jest w akcji: https://eeholmes.github.io/posts/2016-5-18-FI-recursion-1/

Te notatki można umieścić w dowolnym miejscu w Rmd. Na końcu umieszczam listę, aby były to technicznie przypisy końcowe.


Raczej stycznie do pytania OP, ale ostatecznie bardzo podoba mi się twoje „rozwiązanie, które działa z gfm przetwarzanym przez Jekyll, działa z pandoc-> pdflatex i jest kompatybilne z MathJax”. Zgrabny przykład.
boweeb


0

Chociaż pytanie dotyczy Markdown o smaku GitHub, myślę, że warto wspomnieć, że od 2013 roku GitHub obsługuje AsciiDoc, który ma tę wbudowaną funkcję. Musisz tylko zmienić nazwę pliku z .adocrozszerzeniem i użyć:

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

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

Another bold statement.footnote:disclaimer[]

Dokumentacja wraz z wynikiem końcowym znajduje się tutaj .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.