Markdown'ı Öğrenin: Yazılım Geliştiricileri için Yazma Aracı

Yayınlanan: 2022-03-11

Bir yazılım mühendisiyseniz, üretkenliğinizi artırmak için muhtemelen ortamınızı iyileştirmek için çok zaman harcamışsınızdır. En sevdiğiniz IDE'niz var. Favori hata ayıklayıcınız var. En sevdiğiniz performans izleme aracına sahipsiniz. Peki ya dokümantasyon, kılavuzlar ve raporlar yazma aracınız? Ne de olsa yazmak çok az zamanınızı alıyor, değil mi? Gerçekten de, yazma aracınız konusunda ciddileşmenin zamanı geldi.

Teknik olduğunuzu da unutmayalım, bu nedenle WYSIWYG editörleri sizin için en iyi seçenek olabilir veya olmayabilir. Metninizi biçimlendirmek için menülerde, araç çubuklarında ve şeritlerde gezinmeyi mutlaka istemezsiniz (hatta beğenmezsiniz!).

Peki, bunun yerine, tam olarak biçimlendirilmiş metin elde etmek için tüm biçimlendirme stillerinizi doğrudan metnin içine basit satır içi sözdizimi olarak kolayca ekleyebilseydiniz ne olurdu?

Aslında, yapabilirsin. Bu Markdown ve bu eğitimin konusu da bu.

Daha Fazlası Daha Az Olduğunda…

Kelime işlem yazılımı, son derece geniş bir kullanıcı yelpazesini ve kullanım durumlarını tatmin etmek için yazılmıştır ve bu nedenle, her türlü işlevselliği sağlaması gerekir. Ancak açıkça, bu işlevselliğin yalnızca küçük bir alt kümesinin her bir kullanıcıyla alakalı olması muhtemeldir. Ve yalnızca bir belge yazmak isteyen (ve bir pazarlama broşürü veya posteri tasarlaması gerekmeyen) çoğu kullanıcı için, mevcut birçok seçeneğin çok küçük bir alt kümesi alakalıdır.

Aslında Microsoft, birkaç yıl önce Microsoft Word'ün kullanıcı arabirimini "şeritler" olarak adlandırdıkları farklı işlevsel gruplar halinde yeniden tasarladıklarında bunu açıkça fark etti. Yine de ilginç bir şekilde, çoğu kullanıcı size yeni arayüzü öncekinden daha kafa karıştırıcı ve gezinmesi zor bulduklarını söyleyecektir.

markdown öğrenmek

Aslında, kullanım kolaylığı ve üretkenlik söz konusu olduğunda daha fazla bazen daha az olabilir.

… ve Az Daha Çok Olduğunda

Kabul et, sen bir yazılım mühendisisin, grafik tasarımcı değil. Siz sadece o kılavuzu, teknik belgeyi veya raporu yazmak ve onunla işi bitirmek istiyorsunuz. Başlıklar, madde işaretli veya numaralı listeler ve kod blokları gibi bazı temel biçimlendirme yeteneklerinden çok mutlu ve memnun kalacaksınız. Ve evet, bazı yazı tipi biçimlendirmeleri (kalın, italik vb.) de yardımcı olabilir. Bununla ilgili. (Ve dostum, bunu vi'de bile yapabilseydin, bu gerçekten harika olurdu!)

Markdown'a girin.

Markdown nedir?

John Gruber (teknik guru ve İnternet aktivisti Aaron Swartz'ın önemli katkılarıyla) insanların "okunması kolay, yazması kolay bir düz metin biçimini ve isteğe bağlı olarak yazması kolay bir düz metin biçimi kullanarak yazmalarını" sağlamak amacıyla 2004 yılında Markdown dilini yarattı. yapısal olarak geçerli XHTML'ye (veya HTML'ye) dönüştürün”.

Markdown, etiketlerle veya biçimlendirme talimatlarıyla işaretlenmiş gibi görünmeden, olduğu gibi okunabilecek şekilde tasarlanmıştır (hem yazılması hem de ham biçiminde okunması zor olabilen RTF veya HTML gibi bir biçimlendirme diliyle biçimlendirilmiş metinlerin aksine) ).

Markdown, daha sonra yapısal olarak geçerli HTML'ye dönüştürülebilen, okunması kolay, yazması kolay bir düz metin biçimi kullanarak yazmanıza olanak tanır. Yani, tamamen kesin olmak gerekirse, Markdown gerçekten iki şeydir:

  1. Düz metin biçimlendirme sözdizimi
  2. Düz metin biçimlendirmesini HTML'ye dönüştüren bir yazılım aracı (ilk sürümü Perl'de yazılmıştır).

Markdown, bir avuç basit, oldukça sezgisel ve kullanımı kolay sözdizimi kurallarını içerir. Özellikle, bu temel sözdizimi kurallarını öğrenme ve kullanma ihtiyacı duymayan bir yazılım mühendisi olarak sizin için, Markdown gerçekten de yazmak istediğiniz şey ile onu yazmak arasında en az direnç gösteren yol olabilir.

markdown sözdizimi kuralları

Markdown'ı Öğrenin: Başlarken

Markdown'ı öğrenmek kolaydır. Süper kolay. Temel bilgileri beş dakika içinde öğrenebilir ve hızla ikinci doğa haline gelecektir. Ve – tıpkı CSS ve CSS ön işlemcileri arasındaki ilişki gibi – istediğiniz kadar az veya çok kullanabilirsiniz.

Herhangi bir tür düz metin yazma kuralına alışkınsanız, liste oluşturmak için bir cümlenin başındaki sayılar veya tireler, vurgu için bir kelimenin etrafındaki yıldız işaretleri gibi bazı işaretleme kurallarına zaten aşina olabilirsiniz. üzerinde. Bu nedenle, örneğin, bir şeyi italik olarak görüntülemek istiyorsanız, onu *this* gibi yıldızlarla sarmanız yeterlidir ( <span>this</span> gibi daha karmaşık HTML sözdiziminin aksine).

Benzer şekilde, satırınıza bir '#' öneki ekleyerek bir H1 başlığı belirtebilirsiniz (örneğin, <h1>Section Heading</h1> yerine # Section Heading ).

Markdown'ı öğrenmenin, özellikle biz yazılım mühendisleri için bir başka harika kullanımı da, onu kaynak kod havuzları üzerinde dokümantasyon için kullanmaktır. Çoğu depo bir README.md dosyası içerir ( .md , Markdown dosyasının standart uzantısıdır). Örneğin Github, özellikle geliştirme dokümantasyonu için ek işlevler ekleyen kendi “Github aromalı Markdown” a sahiptir. Bu, bu belgeleri HTML olarak yazmak zorunda kalmaktan kesinlikle zaman kazandırabilir.

Basit bir örnek olarak, belgelerinize aşağıdaki parçacığı eklemek istediğinizi varsayalım:

<h2 style=color:#3863a0;font-size:1.5em;font-weight:600;margin-top:2em;margin-bottom:1em;line-height:1.3em;>Eklentileri Başlatma</h2>

jQuery kullanarak kapsayıcınızda pluginName aşağıdaki gibi başlatın:

$(function() { $('#container').pluginName(); }); Kapsayıcımızın kimliğini kullanarak, jQuery yöntemi .pluginName() ile pluginName başlatabiliriz.

İşte bunun HTML'de ve Markdown'da nasıl yapılacağına dair bir karşılaştırma:

HTML indirim
<h1>Eklentileri Başlatma</h1> # Eklentileri Başlatma
<p>jQuery kullanarak kapsayıcınızda aşağıdaki gibi <code>pluginName</code>'i başlatın:</p> Aşağıdaki gibi jQuery kullanarak kapsayıcınızda 'pluginName' başlatın:
<kod>
$(function() { $('#container').pluginName(); });
</code>
`$(function() { $('#container').pluginName(); });`
<p><em>Kapsayıcımızın kimliğini kullanarak, jQuery yöntemi <code>.pluginName()</code></em></p> ile <code>pluginName</code>'i başlatabiliriz. *Konteynerimizin kimliğini kullanarak, jQuery yöntemi `.pluginName()` ile `pluginName` başlatabiliriz.*

Başlarken daha fazla yardım için, John Gruber'in (Markdown'ın yaratıcısı) bir Markdown genel bakışının yanı sıra çevrimiçi bir Markdown öğreticisi de dahil olmak üzere, hızınızı artırmanıza yardımcı olacak birçok çevrimiçi Markdown öğreticisi vardır.

Markdown Ayrıştırıcıları ve Araçları

Makalenizi Markdown'da yazdıktan sonra, sözdizimini HTML'ye ayrıştırmak için bir uygulamaya ihtiyacınız olacak. Aşağıdakiler de dahil olmak üzere ücretsiz olan birkaç harika şey var:

  • StackEdit - Google Drive ve Dropbox gibi popüler hizmetlerle birkaç senkronizasyon seçeneğine sahip tarayıcı tabanlı Markdown düzenleyicisi
  • Online Kramdown Editor - son derece basit bir arayüze sahip başka bir tarayıcı tabanlı Markdown editörü
  • Mou - geliştiriciler için geekier seçeneği olarak karşılaştığım en iyi Mac tabanlı Markdown yazarı; tonlarca özellik ve ücretsiz (betadayken) [bu makaleyi yazmak için kullandığım şey buydu]
  • MarkdownPad - Windows için harika Markdown editörü
  • Metinler - güzel bir çapraz platform (Mac ve Windows) düzenleyicisi; PDF, .doc ve ePub gibi birden çok formata dışa aktarır

Bazı büyük platformlar, kullanmak isteyenler için editörlerinde Markdown kullanımını zaten benimsemiştir (veya en azından izin vermiştir). WordPress, Evernote ve Google Docs gibi diğerlerinde yerel destek (bu makalenin yazıldığı sırada) henüz tam olarak uygulanmadı, ancak üçüncü taraflarca özel çözümler sunuldu. Bunlar şunları içerir:

  • Popüler yeni blog platformu Ghost, çevrimiçi yazmayı kolaylaştırmanın peşinde, içerik düzenleyicisi için Markdown'ı kullanıyor.
  • WordPress için Jetpack eklentisi, eklentiyi kullanıyorsanız Ayarlar > Tartışma altında etkinleştirebileceğiniz Markdown'ı artık resmi olarak destekliyor. Veya, işaretleme sonrası içeriğinizi HTML'ye ve düzenlemeniz gerektiğinde tekrar Markdown'a dönüştürecek WP-Markdown gibi bir eklenti kullanabilirsiniz.
  • Evernote için, çevrimiçi düzenleyici Markable veya Mac düzenleyici Byword gibi bazı Markdown uygulamaları, doğrudan notlara aktarmaya ve yayınlamaya izin verir. Veya doğrudan Evernote web uygulamasını kullanmayı tercih ederseniz, Markdown'a yazılan seçili bir notu araç çubuğu düğmesini tıklatarak biçimlendirilmiş metne dönüştüren Markdown Here adlı bir tarayıcı uzantısı kullanabilirsiniz.
  • Google Dokümanlar henüz Markdown'ı yerel olarak desteklememektedir, ancak birkaç düzenleyici (StackEdit gibi) doğrudan Drive ile dışa aktarır/senkronize eder.

Dezavantajlar

Tabii ki, büyük basitlikle birlikte sınırlamalar geliyor. Daha önce açıkladığım gibi, Markdown, gelişmiş biçimlendirme özellikleri gerektiren karmaşık kelime işlem görevleri için yazılmadı. İhtiyacınız olan buysa, Markdown doğru araç değildir.

Ancak bir kullanım kılavuzu veya teknik belge ya da teknik rapor yazması gereken geliştiriciler için Markdown, basitlik ile ihtiyaç duyduğunuz özellikler arasında mükemmele yakın bir denge sağlar.

Belki de en büyük dezavantajı - özellikle de değişim kontrolü bağımlısı olan biz mühendisler için - Markdown'da işbirliği içinde çalışamama ve değişiklikleri izleyemememizdir (bunun dikkate değer bir istisnası olsa da, Google Dokümanlar için StackEdit eklentisidir). Ve elbette, minimum çabayla, bir git deposu aracılığıyla bir Markdown belgesi üzerinde işbirliği yapılabilir ve böylece tipik olarak ihtiyaç duyulan tüm değişiklik takibi ve işbirliği elde edilebilir.

Çözüm

Markdown'ı öğrenmek herkes için mi? Tabii ki değil. Hiçbir araç asla değildir.

Ancak bir yazılım mühendisiyseniz, tam olarak aradığınız yazma aracı olabilir. Yani henüz denemediyseniz, gerçekten denemeniz gerekir.