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 MyTitle
is een titel in het document, maar dit werkte niet.
Antwoord 1, Autoriteit 100%
in pandoc , als u de optie --toc
gebruikt 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 foo
een 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 id
onroerend 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)
- [⚡ Sunopsis](#9889-tldr)
- [:gear: Grinders](#it-grinds-my-gears)
- [Attribution]
------
## ⚡ TLDR
Words for those short on time or attention.
___
## It Grinds my :gear:s
Here _`:gear:`_ is not something like ⚙ or ⛭
___
## ⛤ 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
::before
of::after
pseudo-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 id
zoals…
id="methodnameoptions--promise"
… waar als vanillesanering zou resulteren in een id
van…
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:
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: true
in 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 Section
is 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)