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.