Markdown'da, bir sayfanın bir bölümüne, yani #some_id'ye bağlanmanın en iyi yolu nedir?


127

Markdown ile bir sayfanın başka bir alanına nasıl referans verileceğini anlamaya çalışıyorum. Bir eklersem çalışmasını sağlayabilirim

<div id="mylink" /> 

ve bağlantı için şunu yapın:

[My link](#mylink)

Ama benim tahminim, Markdown'da düz divetiket içermeyen bir sayfa içi bağlantı yapmanın başka bir yolu olduğu .

Herhangi bir fikir?


Onları hep senin burada yaptığın gibi yaptım.
Joe Martinez

1
<div/>sayfanın geri kalanı için biçimlendiriciyi bozabilir. Kullanın <a id="ident"/>. Cevabımı gör.
Steve Powell


Bunun yerine MultiMarkdown kullanmayı düşünün. Bunu [anchor][]yapmak için sözdizimi sağlar . github.com/fletcher/MultiMarkdown/wiki/…
jwpfox

Yanıtlar:


165

Bu cevaba bakın .

Özetle bir hedef yapın

<a name="sometext"></a>

biçimlendirme işaretlemenizde herhangi bir yere eklenir (örneğin bir başlıkta:

## heading<a name="headin"></a>

ve markdown bağlantısını kullanarak ona bağlantı verin:

[This is the link text](#headin)

veya

[some text](#sometext)

Kullanmayın <div>- bu, birçok oluşturucu için düzeni bozacaktır.

(Değiştim id=için name=yukarıdaki. Bkz bu cevabı sıkıcı açıklama için.)


7
+1, teşekkürler. Bunu otomatik olarak yapmaması üzücü. Çok ıslak IMHO.
Marc-André Lafortune

O, bir metin editörü okumak zorunda çirkin, ama yok işi. Bunun neden kabul edilen cevap olmadığından emin değilim.
kayleeFrye_onDeck

Eski stil çapa tanımlanması <a name="..." />olduğunu eskimiş ama uygun sonradan HTML şartnamelerinde. Eğer <div>bir bozucu bloğu olarak, verebileceği belki (belki açıklanmayan nedenlerle CSS bir boyut veriyor ise) <span>(bir satır içi öğesi) hile yapabilir?
Javier

25

Sanırım bu, markdown'unuzdan html oluşturmak için ne kullandığınıza bağlı. Fark ettim ki jekyll (varsayılan olarak gihub.io sayfaları tarafından kullanılıyor) oluşturduğu html'deki başlıklara id = "" özelliğini otomatik olarak ekledi.

Örneğin, markdown iseniz

My header
---------

Ortaya çıkan html şöyle görünecektir:

<h2 id="my-header">My header</h2>

Böylece ona basitçe şu şekilde bağlanabilirsiniz: [My link](#my-header)


Bu en iyi ve temiz cevap. Markdown gerçekten harika. hızlı bloglama yapmaya gerçekten yardımcı oluyor. ^ _ ^
Ashok MA

16

Markdown'un PHP sürümü ile, burada belgelendiği gibi aşağıdakilerden herhangi biri gibi bir sözdizimi kullanarak başlıkları sayfa içindeki parça tanımlayıcılarına da bağlayabilirsiniz.

Header 1            {#header1}
========

## Header 2 ##      {#header2}

ve sonra

[Link back to header 1](#header1)
[Link back to header 2](#header2)

Maalesef bu sözdizimi şu anda yalnızca başlıklar için desteklenmektedir, ancak en azından bir içindekiler tablosu oluşturmak için yararlı olabilir.


3

Bir HTML sayfasındaki bir bağın hedef bağlantısı, bir idniteliğe sahip herhangi bir öğe olabilir . W3C sitesindeki Bağlantılara bakın . İşte ilgili bölümden bir alıntı:

HTML belgelerindeki hedef tutturucular, A öğesi (ad niteliği ile adlandırılır) veya başka herhangi bir öğe (id niteliği ile adlandırma) tarafından belirtilebilir.

Markdown, HTML'yi HTML olarak ele alır (bkz. Satır içi HTML ), böylece istediğiniz herhangi bir öğeden parça tanımlayıcılarınızı oluşturabilirsiniz. Örneğin, bir paragrafa bağlantı vermek istiyorsanız, paragrafı bir paragraf etiketine sarın ve bir kimlik ekleyin:

<p id="mylink">Lorem ipsum dolor sit amet...</p>

Ardından [My link](#mylink)çapayı parçalamak için bir bağlantı oluşturmak için standart Markdown'unuzu kullanın. Fazladan işaretlemeye gerek olmadığı için bu, HTML'nizi temiz tutmanıza yardımcı olacaktır.


Benim deneyimime göre <p>Markdown'da etiketi kullanmak normal bir paragrafın CSS'sini kaldırabilir. Dikkatli kullanın derdim, Markdown'da yeniyim ama bazı tuhaflıkları var.
2rs2ts

@ user691859 " <p>Markdown'da etiketi kullanmak normal bir paragrafın CSS'sini kaldırabilir " derken ne demek istediğinden emin değilim . Markdown <p>, paragrafları etiketlere sarar ve zaten <p>etiketlere sahip olanları yok sayar . Bunun CSS'yi nasıl etkileyeceğini anlayamıyorum ...
Mike

Davranış benim için düzensiz. Tumblr'da <p> kullanmak (her zaman değil), belirttiğim belirli davranışın yanı sıra tüm davranışları ortadan kaldırabilir. Sebebini bilmiyorum. <div> DAİMA aynısını yapar.
2rs2ts

3

Visual Studio Team Foundation Server (TFS) 2015 kullanan herkes için , en azından başlıklarda gömülü <a>veya <div>öğeleri gerçekten sevmez . Ayrıca başlıklarda emojiyi de sevmez:

### 🔧 Configuration 🔧

Lorem ipsum problem fixem.

Şu dile çevrilir:

<h3 id="-configuration-">🔧 Configuration 🔧</h3>
<p>Lorem ipsum problem fixem.</p>

Ve böylece bağlantılar ya bunu kullanmalı id( bunu ve Visual Studio'daki diğer önizleme uzantılarını bozar) ya da emojiyi kaldırmalıdır:

Here's [how to setup](#-configuration-) //🔧 Configuration 🔧
Here's [how to setup](#configuration) //Configuration

Nerede ikincisi versiyonu TFS hem online çalışır ve Visual Studio markdown önizleme.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.