Link naar een deel van hetzelfde document in Markdown?

Ik schrijf een groot markdown-document en zou graag een tabel met inhoud van sorteringen plaatsen aan het begin die links naar verschillende locaties in het document levert. Hoe kan ik dit doen?

Ik heb geprobeerd met behulp van:

[a link](# MyTitle)

Waar MyTitleis een titel in het document, maar dit werkte niet.


Antwoord 1, Autoriteit 100%

in pandoc , als u de optie --tocgebruikt bij het produceren HTML, een inhoudsopgave wordt geproduceerd met koppelingen naar de secties en terug naar de inhoudsopgave van de rubrieken. Het is vergelijkbaar met de andere indelingen Pandoc schrijft, zoals Latex, RTF, RST, enz. Dus met de opdracht

pandoc --toc happiness.txt -o happiness.html

Dit bit van de markdown:

% True Happiness
Introduction
------------
Many have posed the question of true happiness.  In this blog post we propose to
solve it.
First Attempts
--------------
The earliest attempts at attaining true happiness of course aimed at pleasure. 
Soon, though, the downside of pleasure was revealed.

levert dit op als het lichaam van de HTML:

<h1 class="title">
    True Happiness
</h1>
<div id="TOC">
    <ul>
        <li>
            <a href="#introduction">Introduction</a>
        </li>
        <li>
            <a href="#first-attempts">First Attempts</a>
        </li>
    </ul>
</div>
<div id="introduction">
    <h2>
        <a href="#TOC">Introduction</a>
    </h2>
    <p>
        Many have posed the question of true happiness. In this blog post we propose to solve it.
    </p>
</div>
<div id="first-attempts">
    <h2>
        <a href="#TOC">First Attempts</a>
    </h2>
    <p>
        The earliest attempts at attaining true happiness of course aimed at pleasure. Soon, though, the downside of pleasure was revealed.
    </p>
</div>

Antwoord 2, autoriteit 92%

Github ontleedt automatisch ankertags uit uw headers. U kunt dus het volgende doen:

[Custom foo description](#foo)
# Foo

In het bovenstaande geval heeft de kop fooeen ankertag gegenereerd met de naam foo

Opmerking: slechts één #voor alle kopgroottes, geen spatie tussen #en ankernaam, namen van ankertags moeten kleine letters en gescheiden door streepjes als er meerdere woorden zijn.

[click on this link](#my-multi-word-header)
### My Multi Word Header

Bijwerken

Werkt ook direct met pandoc.


Antwoord 3, autoriteit 91%

Bij experimenteren vond ik een oplossing met behulp van <div…/>maar een voor de hand liggende oplossing is om uw eigen ankerpunt op de pagina te plaatsen waar u maar wilt, dus:

<a name="abcde">

vooren

</a>

nade regel waarnaar u wilt “linken”. Dan een markdown-link zoals:

[link text](#abcde)

overal in het document brengt u daarheen.

De <div…/>Oplossing Inzet een “Dummy” -divisie om de idonroerend goed toe te voegen, en dit is mogelijk verstorend voor de paginabestructuur, maar De <a name="abcde"/>Oplossing zou behoorlijk onschuldig moeten zijn.

(PS: het is misschien goed om het anker in in de regel waarnaar u wilt koppelen, als volgt:

## <a name="head1">Heading One</a>

Maar dit is afhankelijk van hoe MarkDown dit behandelt. Ik nota, bijvoorbeeld, het stack overflow antwoord formatter is hier blij mee!)


Antwoord 4, Autoriteit 397%

Dit kan een verouderde draad zijn, maar om innerlijke documentenverbindingen in Markdown in Github-gebruik te maken …
(Opmerking: kleine letters #title)

# Contents
 - [Specification](#specification) 
 - [Dependencies Title](#dependencies-title) 
## Specification
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. 
## Dependencies Title
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. 

Een goede vraag is gemaakt, dus ik heb mijn antwoord bewerkt;

Er kan een binnenste link worden gedaan aan elke titelgrootte met – #, ##, ###, ####
Ik heb een kort onderstaande voorbeeld gemaakt …
https://github.com/aogilvie/markdownlinktest


Antwoord 5, Autoriteit 90%

ja, markdown doet dit, maar je moet de naam anchor <a name='xyx'>specificeren.

een volledig voorbeeld,

hiermee wordt de link gemaakt
[tasks](#tasks)

later in het document maakt u het genoemde anker (hoe het ook wordt genoemd).

<a name="tasks">
   my tasks
</a>

houd er rekening mee dat je het ook rond de kop kunt wikkelen.

<a name="tasks">
### Agile tasks (created by developer)
</a>

Antwoord 6, autoriteit 63%

In de pandoc-handleiding wordt uitgelegd hoe u naar uw headers kunt linken, met behulp van hun identifier. Ik heb de ondersteuning hiervan door andere parsers niet gecontroleerd, maar er werd gemeld dat het niet werkt op github.

De identifier kan handmatig worden opgegeven:

## my heading text {#mht}
Some normal text here,
including a [link to the header](#mht).

of u kunt de automatisch gegenereerde identifier gebruiken (in dit geval #my-heading-text). Beide worden in detail uitgelegd in de pandoc-handleiding.

OPMERKING: Dit werkt alleenbij het converteren naar HTML, LaTex, ConTeXt, Textielof AsciiDoc.


Antwoord 7, autoriteit 43%

Universele oplossingen

Deze vraag lijkt een ander antwoord te hebben op basis van de implementatie van de prijsverlaging.
In feite zwijgt de officiële Markdown-documentatie over dit onderwerp.
In dergelijke gevallen, en als u een draagbare oplossing wilt, kunt u HTML gebruiken.

Definieer vóór een koptekst of in dezelfde kopregel een ID met een HTML-tag.
Bijvoorbeeld: <a id="Chapter1"></a>
Je ziet dit in je code, maar niet in het gerenderde document.

Volledig voorbeeld:

Bekijk hiereen volledig voorbeeld (online en bewerkbaar).

## Content
* [Chapter 1](#Chapter1)
* [Chapter 2](#Chapter2)
<div id="Chapter1"></div>
## Chapter 1
Some text here.  
Some text here.
Some text here.
## Chapter 2 <span id="Chapter2"><span>
Some text here.  
Some text here.
Some text here.

Om dit voorbeeld te testen, moet u wat extra ruimte tussen de inhoudslijst en het eerste hoofdstuk toevoegen of de vensterhoogte verkleinen.
Gebruik ook geen spaties in de naam van de ID’s.


Antwoord 8, autoriteit 37%

Enkele extra dingen om in gedachten te houden als je ooit fantasiekrijgt met symbolen in koppen waar je naartoe wilt navigeren…

# What this is about
------
#### Table of Contents
- [About](#what-this-is-about)
- [&#9889; Sunopsis](#9889-tldr)
- [:gear: Grinders](#it-grinds-my-gears)
- [Attribution]
------
## &#9889; TLDR
Words for those short on time or attention.
___
## It Grinds my :gear:s
Here _`:gear:`_ is not something like &#9881; or &#9965;
___
## &#9956; Attribution
Probably to much time at a keyboard
[Attribution]: #9956-attribution

… dingen als #, ;, &en :binnen koptekenreeksen zijn over het algemeen worden genegeerd/gestreept in plaats van escaped, en men kan ook links in citatiestijl gebruiken om snel gebruik te vergemakkelijken.

Opmerkingen

GitHub ondersteunt de :word:syntaxis in commits, readme-bestanden, etc. zie gist(van rxaviers) als het gebruik ervan daar interessant is.

En voor zowat overal elders kan decimaal of hexadecimaal worden gebruikt voor moderne browsers; het spiekbriefje van w3schoolsis purdy handig, vooral als het gebruik van CSS ::beforeof ::afterpseudo-elementen met symbolen is meer jouw stijl.

Bonuspunten?

Voor het geval iemand zich afvroeg hoe afbeeldingen en andere links binnen een kop worden geparseerd in een id

- [Imaged](#alt-textbadge__examplehttpsexamplecom-to-somewhere)
## [![Alt Text][badge__example]](https://example.com) To Somewhere
[badge__example]:
  https://img.shields.io/badge/Left-Right-success.svg?labelColor=brown&logo=stackexchange
  "Eeak a mouse!"

Voorbehoud

MarkDown-weergave verschilt van plaats tot plaats, dus dingen als…

## methodName([options]) => <code>Promise</code>

… op GitHub heeft een element met idzoals…

id="methodnameoptions--promise"

… waar als vanillesanering zou resulteren in een idvan…

id="methodnameoptions-codepromisecode"

… wat betekent dat het schrijven of compileren van MarkDown-bestanden van sjablonen ofwel het richten op één manier van slugifeingvereist, of het toevoegen van configuraties en scriptlogica voor de verschillende slimmemanieren die plaatsen graag de tekst van de kop opschonen.


Antwoord 9, autoriteit 27%

Er is geen dergelijke richtlijn in de Markdown-specificatie. Sorry.


Antwoord 10, autoriteit 17%

Gitlab gebruikt GitLab Flavored Markdown (GFM)

Hier krijgen “alle Markdown-gerenderde headers automatisch ID’s”

Men kan de muis gebruiken om:

  • beweeg muis over kop
  • beweeg de muis over de keuzeknop die aan de linkerkant zichtbaar wordt vanuit de kop
  • kopieer en bewaar link met rechtermuisknop

    In het README.md-bestand heb ik bijvoorbeeld header:

## series expansion formula of the Boettcher function

die een link geeft:

https: //gitlab.com/adammajewski/parameter_external_angle/blob/master/README.md#series-expansion-formula-of-the-boettcher-function

Voorvoegsel kan worden verwijderd, dus de link hier is gewoon

file#header

wat hier betekent:

README.md#series-expansion-formula-of-the-boettcher-function

Nu kan het worden gebruikt als:

[series expansion formula of the Boettcher function](README.md#series-expansion-formula-of-the-boettcher-function)

Je kunt het ook handmatig doen: vervang spaties door een koppelteken.

Live voorbeeld is hier


Antwoord 11, autoriteit 3%

Als je kramdown gebruikt, lijkt het alsof dit goed werkt:

[I want this to link to foo](#foo)
....
....
{: id="foo"}
### Foo are you?

Ik zie dat er is vermeld dat

[foo][#foo]
....
#Foo

werkt efficiënt, maar de eerste kan een goed alternatief zijn voor elementen naast kopteksten of anders kopteksten met meerdere woorden.


Antwoord 12, autoriteit 3%

Sinds MultiMarkdown als optie werd genoemd in opmerkingen.

In MultiMarkdownis de syntaxis voor een interne link eenvoudig.

Geef voor elke kop in het document gewoon de naam van de kop op in dit formaat [heading][]om een interne link te maken.

Lees hier meer: MultiMarkdown-5 kruisverwijzingen.

Kruisverwijzingen

Een veelgevraagde functie was de mogelijkheid om Markdown automatisch koppelingen binnen documenten net zo gemakkelijk te laten verwerken als externe koppelingen. Voor dit doel heb ik de mogelijkheid toegevoegd om [Some Text][] te interpreteren als een cross-link, als er een header met de naam “Some Text” bestaat.

Als voorbeeld, [Metadata][] brengt je naar # Metadata (of een van ## Metadata, ### Metadata, #### Metadata, ##### Metadata, ###### Metagegevens).

U kunt ook een optioneel label naar keuze opnemen om gevallen waarin meerdere kopteksten dezelfde titel hebben ondubbelzinnig te maken:

### Overzicht [MultiMarkdownOverview] ##

Hierdoor kunt u [MultiMarkdownOverview] gebruiken om specifiek naar deze sectie te verwijzen, en niet naar een andere sectie met de naam Overzicht. Dit werkt met koppen in atx- of settext-stijl.

Als je al een anker hebt gedefinieerd met dezelfde id die wordt gebruikt door een koptekst, dan heeft het gedefinieerde anker voorrang.

Naast de kopteksten in het document, kunt u labels voor afbeeldingen en tabellen opgeven, die vervolgens ook voor kruisverwijzingen kunnen worden gebruikt.


Antwoord 13, autoriteit 3%

In aanvulling op de bovenstaande antwoorden,

Bij het instellen van de optie number_sections: truein de YAML-header:

number_sections: TRUE

RMarkdown zal uw secties automatisch nummeren.

Zet deze autonumerende secties om eenvoudig het volgende in uw RCARDOWN-bestand in te voeren:

[My Section]

Waar My Sectionis de naam van het gedeelte

Dit lijkt te werken, ongeacht het paragraafniveau:

# My section

## My section

### My section


Antwoord 14

Nog enkele spins op de <a name="">truc:

<a id="a-link"></a> Title
------

#### <a id="a-link"></a> Title (when you wanna control the h{N} with #'s)

Other episodes