CSS classnames Kabulüne PHP Markdown genişletilmesi

4 Cevap php

(Benim PHP projeleri neredeyse tüm kullanarak) Markdown büyük bir hayranı değilim ama kendi sınırlı çıkış değil hayranıyım. Render biraz fazla çok basit ve gerçekten beni çok denetim veya özgürlük onun düzeni regardings izin vermez. Örneğin, ben bir resim ekleyebilirsiniz:

![Alt Text](path/to/image.jpg)
This is my image!

Ama bu sadece dönüştürülmüş olacak:

<p>
  <img src="path/to/image.jpg" alt="Alt Text" /> This is my image!
</p>

Ben sağa Resmimi yüzer istedi herhalde? Şu anda sözdizimi herhangi bir sınıf eklemek değil, ancak bu olması güzel bir özellik olmaz? Ben çıkış yapabiliyor olmak istiyorum:

<p>
  <img src="path/to/image.jpg" alt="Alt Text" class="alignright caption"> 
  This is my image!
</p>

Bir veya daha fazla CSS sınıfları için destek olağanüstü olurdu. Benim soru Markdown PHP-versiyon bu desteği uygulanması iyi yolu ile ilgili.

Fikirler?

4 Cevap

Markdown CSS class isimleri, satır içi stilleri veya id niteliklerini desteklemek için çekirdek sürümünde hiçbir sözdizimi vardır. Ne yapıyorsun bağlı olarak, Tekstil sizin için daha iyi bir çözüm bulabilirsiniz. Someways yılında Markdown benzer, ve diğerleri oldukça farklı. Örneğin, senin soru yukarıda belirtilen çıktı almak için, bu Tekstil dize kullanırsınız:

! (AlignRight başlık) yol / / resim.jpg (Alt Metin)! Bu benim görüntü!

Hangi bu çevirmek olacaktır:

<p>
  <img src="path/to/image.jpg" alt="Alt Text" class="alignright caption"> 
  This is my image!
</p>

Ayrıca kullanarak satır içi stilleri (dehşet korku) uygulayabilirsiniz {}

You can play with the syntax onların canlı demo sayfasında.

Beladan PHP için bir tekstil ayrıştırıcı bulmakta biraz vardı, bu yüzden bu cevap üzerine kilometre ben ümit kadar olmayabilir. I this snippet buldun, ama kesinlikle tüm şey olamaz.

Markdown içine bu uygulamak için "en iyi yolu" yoktur; sadece (yerine kendi yaratılış var) Markdown kullanarak bırakırdı.

Neyse ki, Markdown kadar düşündüğünüz gibi kontrolü veya özgürlüğünü kısıtlamak değil.

Markdown bir HTML yedek, ya da ona yakın bile değildir. Onun sözdizimi sadece HTML etiketleri çok küçük bir alt karşılık, çok küçük. Fikir not daha kolay HTML etiketleri eklemek için yapan bir sözdizimi oluşturmaktır. Benim düşünceme göre, HTML etiketleri zaten eklemek kolaydır. Markdown için fikir, okumak, yazmak ve düzenlemek nesir için kolay hale getirmektir. HTML bir publishing biçimidir; Markdown bir writing biçimidir. Böylece, Markdown biçimlendirme sözdizimi yalnızca düz metin olarak aktarılmaktadır olabilir sorunları giderir.

Markdown sözdizimi kapsamında olmayan herhangi bir işaretleme için, sadece HTML kendisi kullanabilir. Bunu önsöz veya HTML olarak Markdown geçiş olduğunu belirtmek için sınırlandırmak için gerek yok; Sadece etiketleri kullanın.

Source: Markdown Syntax Documentation - Inline HTML

Bu bağlantıyı check out:

http://www.pingtrip.com/weblog/2008/04/adding-custom-tags-to-markdown

Sen stil uygulanmış olurdu bir yayılma alanı veya div 'blok' yapmak için bu kesin tekniği kullanabilirsiniz. Birden hatlarında hiçbir sorun iş gibi görünüyor.

Bu etiketi classname dahil etmek daha zor olabilir, ama şu anda söyleyemem tarafından ne kadar çok olacaktır. Ben yaparsam ben sonunda bunu yaparken etrafında almak için gidiyorum, ben burada sonuçları sonrası edeceğiz.

Ben bu kadar çok insan sadece "Markdown değil for olduğunu" söylemek neden acaba? Markdown bloglar ve mesaj panosu yorumlarla sınırlı olması çok çok yararlıdır.

EDIT:

Daha net linki takip etmeden yapmak için:

Eğer başlangıç ​​ve bitiş dizeleri ve değiştirme metnini tanımlamak için izin özel etiketler oluşturabilirsiniz. Örneğin:

-s %classname%
Here is your
customly styled
markdown script
s-

Bu oldukça kolay, belirli bir sınıf / id bir karış / div blok uygulamak için uygulanabilir. "Uyarı" ve "Not" kutuları örnek bir uygulama görmek için bağlantıyı takip edin.