829 Stimmen

Wie verlinkt man auf einen benannten Anker in Multimarkdown?

Ich bin auf eine Reihe von Erwähnungen der Unterstützung von MultiMarkdown für interne Links / benannte Anker gestoßen, aber ich kann kein einziges Beispiel dafür finden, wie man es tatsächlich macht.

Wie lautet also die Syntax für die Benennung des benannten Ankers, und wie lautet die Syntax für die Verknüpfung zu diesem Anker, genauso wie für die Verknüpfung zu allen anderen URLs (nur mit #foo anstelle von http://.... )?

848voto

Steve Powell Punkte 23776

Setzen Sie in Standard-Markdown einen Anker <a name="abcd"></a> zu dem Sie einen Link herstellen möchten, und verweisen Sie darauf auf derselben Seite durch [link text](#abcd) .

(Dies verwendet name= und nicht id= aus Gründen, die in diese Antwort .)

Fernreferenzen können verwenden [link text](http://...#abcd) natürlich.

Das funktioniert wie ein Traum, vorausgesetzt, Sie haben die Kontrolle über die Quell- und Zieltexte. Der Anker kann sogar in einer Überschrift erscheinen, also:

### <a name="head1234"></a>A Heading in this SO entry!

produziert:

Eine Überschrift in diesem SO-Eintrag!

und wir können sogar einen Link dazu einrichten:

and we can even [link](#head1234) to it so:

(Auf SO funktioniert der Link nicht, weil der Anker entfernt wurde).

802voto

SaurabhM Punkte 7047

Wenn Sie Überschriften in den Markdown-Dateien haben, können Sie diese direkt in der Datei verlinken.

Markdown-Kopfzeile:

## The Header

dies erzeugt eine implizite id #the-header (interne Leerzeichen durch Bindestriche ersetzen und klein schreiben).

Um zu dieser ID zu navigieren, können Sie den Link wie folgt erstellen:

[Link to Header](#the-header)

Dies ist gleichbedeutend mit:

<a href="#the-header">Link to Header</a>

Bitte beachten Sie, dass der Name der Referenz ein Kleinbuchstabe ist #header .

153voto

masukomi Punkte 9245

Entnommen aus dem Multimarkdown Benutzerhandbuch (Dank an @MultiMarkdown auf Twitter für den Hinweis darauf)

[Some Text][] verweist auf eine Kopfzeile mit dem Namen "Some Text".
z.B..

### Some Text ###

Eine optionale Bezeichnung Ihrer Wahl, um die Fälle zu unterscheiden, in denen mehrere Überschriften denselben Titel haben:

### Overview [MultiMarkdownOverview] ##

So können Sie [MultiMarkdownOverview] verwenden, um auf diesen Abschnitt zu verweisen, und nicht auf einen anderen Abschnitt namens Overview. Dies funktioniert mit atx- oder settext-artigen Überschriften.

Wenn Sie bereits einen Anker mit der gleichen ID definiert haben, die von einer Überschrift verwendet wird, dann hat der definierte Anker Vorrang.

Zusätzlich zu den Überschriften innerhalb des Dokuments können Sie Beschriftungen für Bilder und Tabellen erstellen, die dann auch für Querverweise verwendet werden können.

142voto

longkai Punkte 3486

Ich habe getestet Github Flavored Markdown für eine Weile und kann mit vier Regeln zusammenfassen:

  1. Satzzeichen werden gestrichen
  2. führende Leerzeichen werden weggelassen
  3. Großschreibung wird in Kleinschreibung umgewandelt
  4. Leerzeichen zwischen Buchstaben werden umgewandelt in -

Wenn Ihr Abschnitt zum Beispiel so benannt ist:

## 1.1 Hello World

Erstellen Sie auf diese Weise eine Verknüpfung dazu:

[Link](#11-hello-world)

53voto

rflw Punkte 1676

Der beste Weg, um interne Links (zu Abschnitten) zu erstellen, ist eine Liste zu erstellen, aber anstelle von Link, setzen Sie #section o #section-title wenn die Kopfzeile Leerzeichen enthält.

Markdown

Go to section
* [Hello](#hello)  
* [Hello World](#hello-world)
* [Another section](#new-section) <-- it's called 'Another section' in this list but refers to 'New section'

## Hello
### Hello World
## New section

Vorschau der Liste

Go to section
Hello           <-- [Hello](#hello)                 -- go to `Hello` section
Hello World     <-- [Hello World](#hello world)     -- go to `Hello World` section
Another section <-- [Another section](#new-section) -- go to `New section`

HTML

<p>Go to section</p>
<ul>
    <li><a href="#hello">Hello</a></li>
    <li><a href="#hello-world">Hello World</a></li>
    <li><a href="#new-section">Another section</a> &lt;– it’s called ‘Another section’ in this list but refers to ‘New section’</li>
</ul>
<h2 id="hello">Hello</h2>
<h3 id="hello-world">Hello World</h3>
<h2 id="new-section">New section</h2>

Es spielt keine Rolle, ob es sich um h1 , h2 , h3 usw., verweisen Sie immer nur mit einer einzigen Überschrift darauf # .
Alle Verweise in der Abschnittsliste sollten in Kleinbuchstaben umgewandelt werden, wie es im obigen Beispiel gezeigt wird.

Der Link zum Abschnitt sollte klein geschrieben werden. Sonst wird es nicht funktionieren. Diese Technik funktioniert sehr gut für alle Markdown-Varianten, auch für MultiMarkdown.

Derzeit verwende ich die Pandoc um das Format der Dokumente zu konvertieren. Es ist viel besser als MultiMarkdown.
Testen Sie Pandoc hier

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X