İşaretleme sözdizimi. Wiki'ler ve diğer Markdown özellikli web hizmetleri. işaretleme dili

  • 20.04.2019

Belki de ana keşif son zamanlar benim için biraz değildi yeni teknoloji veya yeni uygun hizmet, ah… biçimlendirme dili. Görünüşe göre, burada dikkat çekici ne olabilir? Yalnızca Konuşuyoruz Markdown'la ilgili değil. Metnin nasıl biçimlendirileceği ve geçerli HTML'ye nasıl dönüştürüleceğine dair basit fikir, neredeyse her yerde kullanılabilir hale geldi. Markdown'ın hacker çevrelerindeki popülaritesi sayesinde, statik dosyalara dayalı içerik yayınlamak için de yepyeni bir yaklaşım (ve hizmetler) var.

İşaretle? Bu nedir?

Markdown'ın anlamını açıklamanın en kolay yolu basit bir örnektir. Yapılacaklar listesi yapmak için, içine yazdığım düz bir metin dosyası kullanıyorum:

Yapılacaklar listesi: - Markdown hakkında bir makale yazın - illüstrasyonlar yapın - editöre gönderin

Her birimiz basit düz metinde karmaşık yapıların nasıl düzenleneceğini biliyoruz ve bu Markdown'ın ana noktasıdır. Örneğin, verilen metin hemen HTML'ye dönüştürülebilirken, Markdown yorumlayıcısı (örneğin, SublimeText veya Notepad ++ gibi bir metin düzenleyici için bir eklenti olarak uygulandı) sırasız bir listeyle uğraştığını kabul eder:

Yapılacaklar listesi:

  • Markdown hakkında bir makale yaz
  • illüstrasyonlar yapmak
  • metni editöre gönder

Markdown yazarı John Gruber'in kendisinin yazdığı gibi, dil fikri, sözdiziminin o kadar basit, kompakt ve açık olmasıdır ki, biçimlendirme belgesinin tamamen okunabilir kalması ve tecrübesiz bir kişinin düz düz metin olduğuna bile karar vermesidir. Markdown bu sonucu nasıl elde ediyor?

biraz daha alalım karmaşık örnek. Numaralandırılmış bir liste yapmanız gerektiğini düşünün. Açıkçası, her öğenin önüne karşılık gelen bir sayı ekleyeceksiniz. Belirli kelimelere odaklanmanız mı gerekiyor? Bazı sembollerle yapmış olmalısın.

# Başlık ## Alt Başlık Bu paragrafta şunları yapmanız gerekir: 1. **kalın** ve *italik* bir şeyi vurgulayın 2. yazarın web sitesine bir bağlantı koyun - (http://daringfireball.net) 5. alıntı yapın kod, örneğin, ` "Merhaba dünya!" yazdırın` 3. ve yazarın portresini yapıştırın![John Gruber](http://daringfireball.net/graphics/author/addison-bw-425.jpg)

Bu örnek, metnin ne kadar okunabilir kaldığını açıkça göstermektedir. Aslında, yalnızca bağlantı ve resim eklemek için bariz bir çözüm icat edilmedi, ayrıca başlangıçta dil görüntünün ölçeğinin belirlenmesine izin vermedi. Yorumlayıcı tarafından işlenmesi sonucunda çıktıyı alırız. bitmiş kod:

başlık

Alt yazı

Bu paragraf şunları yapmalıdır:

  1. bir şeyi vurgulamak gözü pek ve italik olarak
  2. yazarın sitesine bir bağlantı koyun - Daring Fireball
  3. örneğin kodu alıntılayın, "Merhaba dünya!" yazdır
  4. ve yazarın portresini ekleyin

Aslında, Markdown sözdizimini zaten biliyorsunuz - diğer tüm nüanslar, resmi kılavuzu (daringfireball.net/projects/markdown/syntax) okuyarak beş dakika içinde öğrenilir.

Bir balığın bisiklete ihtiyacı olduğu gibi mi?

Tamam, biçimlendirme dili gerçekten çok basit ve net. Ama nerede kullanılabilir? Bu neden gerekli? Dişleri kenarda bırakan WYSIWYG kısaltması, ileri düzey kullanıcılar arasında tutarsızlığını uzun süredir kanıtlamıştır. Materyalleri tasarlarken görsel bir yaklaşım kullanmaya çalıştık ve sessiz bir korkuydu. WYSIWYG editörleri, hatta çok iyi olanlar bile, çarpık bir şekilde çalışır ve karmaşık düzen durumunda, utanmazca hatalı başlar. Prensipte birçok zor şey yapılamazdı. içinde HTML kullanmayın saf formu(Dürüst olmak gerekirse bazen yaparız)? Aynı Wikipedia, varlığının en başından beri özel olarak tasarlanmış wiki işaretlemesi sundu. Ve az ya da çok akıllı forum motoru, bbcode veya benzeri bir şeyi destekler. Tek bir sorun var: işaretleme kullanılıyor, ancak her yerde farklı. Birçok kişi Markdown'ı hemen beğendi ve bunun sonucunda birçok popüler kaynak onu benimsedi. Şüphesiz, Markdown kullanarak bir forumda yorum yazmak, bundan çok daha uygundur. saf HTML, etiketlerinin karıştırılması kolaydır. İşte bu yüzden tumblr ve posterous bu blog modunu destekliyor. Birçok CMS ayrıca Markdown: Drupal, Plone, RadiantCMS - ve çerçeveler: Django (python-markdown kurulumu gerektirir), Ruby on Rails (BlueCloth, Maruku gerektirir) destekler.

Sözdizimi desteği, kendine saygılı herhangi bir metin düzenleyicide mevcuttur ve hızlı bir önizleme seçeneği, eklentiler biçiminde bağlanması kolaydır. Ayrıca, birçok uzman editörler, orijinal olarak Markdown ile çalışmak üzere keskinleştirilmiştir (ayrı bir kenar çubuğu okuyarak doğru olanı seçebilirsiniz). Ve biçimlendirme dili yorumlayıcıları herhangi bir dilde uygulanır, bu nedenle projeniz Python, PHP, Ruby veya başka bir şeyde olsun, Markdown'ı her yerde kullanıcılara sunabilirsiniz. Üstelik. Markdown o kadar popüler hale geldi ki birçok hizmetin temeli haline geldi. Örneğin, büyüyen başlangıç ​​scriptogr.am, Markdown'da tasarlanan ve Dropbox'a yüklenen statik dosyaları güzel bir bloga dönüştürmenize olanak tanır (herhangi bir alan adını bağlama yeteneği ile). Fikir, geek çevrelerinde hızla gelişti ve Octopress gibi motorların yaratılmasına dönüştü.

Octopress, rahat blogunuz için çok işlevsel bir çözümdür

Markdown ile çalışmak için editörler

Markdown'ın hayatı çok daha kolaylaştırabileceğine şüphe yok. Ancak daha da verimli kullanmak için onu destekleyen yazılımlarla çalışmanız gerekir. Memnun etmek için acele ediyorum: Muhtemelen kullandığınız SublimeText, TextMate, Vim ve Emacs gibi tanıdık editörler, eklentiler yardımıyla bunu yapmaları öğretilirse Markdown ile çok iyi geçinirler. Sublime için Sublimetext-markdown-preview ve SublimeMarkdownBuild, TextMate için Markdown.tmbundle, Vim için Vim-markdown ve Vim-markdown-preview ve Emacs için Emacs Markdown Mode'dur. Veya özel editörler kullanabilirsiniz.

pencereler

Genel olarak, blogla çalışmak şöyle görünecektir: Octopress sunucusunu yerel makineye yerleştirdik, Markdown dosyalarına yazılar yazdık, şablonu düzenledik (gerekirse), içerik oluşturmak için komutu konsolda yürüttük ve son olarak yükledik. sonuçtaki HTML + JS'yi GitHub'daki depomuza. Pekala, şimdi sırayla.

  1. İlk paragraf kurulum devam ediyor Octopress 2.0. Ruby 1.9.2'nin yüklenmesini gerektirir. Ayrıca Git'in de kurulu olması gerekir. Öncelikle Octopress kaynaklarını indirin, hazırlayın ve kurun: git clone git://github.com/imathis/octopress.git cd gem install bunlder bundle install
  2. Sonra yükleyin varsayılan tema Ahtapot. tırmık yükleme
  3. Ardından, Octopress'i depomuzla çalışacak şekilde yapılandırmamız gerekiyor: rake setup_github_pages
  4. Görev sırasında depomuzun URL'sini girmemiz istenecek. Prensip olarak, bundan sonra zaten yayınlayabilirsiniz. Bu tek komutla yapılır: rake gen_deploy

    ya da iki:

    Komisyon oluşturma komisyon dağıtma

    Ayrıca konuşlandırmadan önce bir komisyon önizlemesi çalıştırabilirsiniz, bunun sonucunda başlayacak yerel web sunucusu http://0.0.0.0:4000 adresinde, Octopress'in ne ürettiğini görebilirsiniz. Yapılandırmada bir şeyi düzeltmeniz gerekiyorsa, _config.yml dosyasına başvurmanız gerekir.

  5. Şimdi ilk gönderiyi oluşturma zamanı: rake new_post["Mesaj Başlığı"]

    Kaynak/_posts/ klasöründe bir dosya belirecektir. Geçerli tarih ve yazı başlığı, Markdown formatında. Beğendiğimiz herhangi bir Markdown düzenleyicisini alıyoruz, dosyayı düzenliyoruz ve gönderiyi yayınlıyoruz:

    Git ekle. git commit -m "İlk gönderi" git push kaynak kaynak komisyon oluşturma komisyon dağıtma

Her şey, blog adresine gidebilir ve ilk girişin nasıl yayınlandığını kontrol edebilirsiniz. Blogunuzu özel bir alana bağlamanız gerekiyorsa, bunu basit bir kılavuz (bit.ly/MWgR3f) kullanarak yapmak kolaydır. İlk bakışta, bu yaklaşım garip görünebilir, ancak aslında son derece uygundur. Statik dosyalardan oluştuğu ve güvenilir sitelerde barındırıldığı için site çok hızlı çalışmaktadır. GitHub kullanımı sayesinde, herkes gönderilerdeki değişiklikleri gönderebilir ve bunları kolayca uygulayabilirsiniz. Octopress'in kendisi, tonlarca güzellik içeren harika bir HTML5 şablonu sunar: hızlı bağlantı harici bir yorum sistemi (Disqus gibi). Tabii ki, bu hikaye hakkında değil sıradan insanlar ama onlardan bahsetmiyoruz.

Diğer statik site oluşturucular

Octopress'in üretmek için tek araç olmadığı söylenmelidir. statik içerik. Dikkatinizi iki araca daha çekmek istiyorum: Poole (bitbucket.org/obensonne/poole) ve BlazeBlogger (blaze.blackened.cz).

Poole, Markdown kullanan statik bir site oluşturucudur. Python ile yazılmıştır ve çalışması için Python'dan başka bir şeye ihtiyaç duymaz. Çalışması çok kolaydır: Markdown ile web sayfalarının içeriğini oluşturursunuz - ve Poole bunları basit ve güzel bir siteye dönüştürür, navigasyon menüsü. Çalışma prensibi basittir: program giriş dizininden dosyaları alır ve bunları çıktı dizinine kopyalar, md, mkd, mdown veya markdown uzantılı tüm dosyalar bir iskelet olarak page.html ile HTML'ye dönüştürülür. değiştirmek istersen dış görünüş sitesinde page.html ve input/poole.css dosyalarını düzenlemeniz gerekecek. Güncellemek, değiştirmek, içerik eklemek için şunları çalıştırmalısınız:

> poole.py --build

Ardından Poole web sitenizi yeniden oluşturacaktır.

Başka bir statik site oluşturma aracı BlazeBlogger'dır. Çalışması için sunucu tarafında herhangi bir veri tabanı veya script gerektirmez. Tek ihtiyacınız olan kurulu bir Perl yorumlayıcısı. Markdown, içerik oluşturmak için de kullanılır, böylece blogunuzu istediğiniz herhangi bir Markdown düzenleyicisinde oluşturabilirsiniz. Temel özellikler şunları içerir: geçerli HTML 4.01 veya XHTML 1.1 sayfaları ve RSS 2.0 beslemeleri oluşturma; aylık ve yıllık arşivlerin oluşturulması, etiket desteği; hem blog gönderileri hem de yalnızca sayfalar oluşturmanıza olanak tanır; temayı, CSS stillerini veya yerelleştirmeyi hızla değiştirmenize olanak tanır. BlazeBlogger ile birlikte gelen tüm yardımcı programların seçenekleri hakkında ayrıntılı bilgileri resmi web sitesinde görebilirsiniz.

Markdown: sırada ne var?

Basit bir fikir sürekli gelişiyor. John Gruber tarafından yazılan ilk uygulama, normal bir Perl betiğiydi. Olarak yeni dil biçimlendirme popülerlik kazandı, yeni uygulamalar ortaya çıktı, yazılı üçüncü taraf geliştiriciler C#, C, Common Lisp, Haskell, Java, JavaScript, Lua, newLISP, Perl, PHP, Python, Ruby, Scala'da, bir tür standart haline gelen ilk uygulamaya odaklanan üçüncü taraf geliştiriciler tarafından. uygulamalara ek olarak farklı diller programlama, Markdown sözdizimini genişleten daha fazla uygulama var ek işlevsellik, MultiMarkdown ve pandoc gibi. Markdown lehçeleri, birden çok dosyadan belgelerle çalışmanıza, otomatik olarak tablolar oluşturmanıza, bibliyografyalar toplamanıza, MathML matematiği eklemenize ve kodu LaTeX, HTML ve diğerleri dahil olmak üzere diğer düzen dilleriyle birleştirmenize olanak tanır. Genişletilmiş lehçeler çeşitli şeyleri otomatikleştirebilir: örneğin, doğru tipografiyi yazmak. Ek olarak, yalnızca HTML'ye değil, aynı zamanda PDF, RTF, ODT ve hatta man sayfalarına da çıktı alabilirsiniz (troff dilinin sözdizimini daha önce görmüş olanlar bunu takdir edecektir). Tüm bunlar, Markdown'ı en çok farklı amaçlar: belgeler, kitaplar ve tüm web sitelerini yazın.

Bu zarif biçimlendirme sözdiziminin popülaritesi dünya çapında ivme kazanıyor. Dürüst olmak gerekirse, Markdown bir ilaç gibidir - üzerine bir yazı yazmaya çalıştığınızda, düz HTML'ye dönmeniz pek olası değildir. faydasını hissediyorum. Bu yazıyı Markdown'ı kullanarak sadece PDF'ye çevirmekle kalmıyorum ayrıca ekstra bir iş yapmadan sitede yayınlayabiliyorum. Ve Markdown'a bağlı olan yayın kurulu, metni yayınevinde kullanılan InDesign programının bir düzen dosyasına dönüştürmek için basit komut dosyaları geliştirmeyi ciddi olarak düşündü. Şaşırmadım.

Fikir oldukça basit: düz "düz" metin yazıyorsunuz ve yol boyunca çok basit etiketlerle yapı oluşturuyorsunuz. Markdown'ın arkasındaki fikir, basit ve okunabilir insansılar için, biçimlendirme dili esasen basitleştirilmiş HTML'dir.

Markdown'da yazdığınızda, metin biçimlendirmesi olduğu yerde kalır. sen yerleştirilmiş ve nereye senİsterseniz - Word'den HTML'ye metin dönüştürmeyi deneyen veya en az bir kez Blogger gibi görsel editörlerde uzun bir yazı yazan kişi beni iyi anlayacaktır.

Düz düz metin, ihtiyacınız olan her yerde size olağanüstü düzenleme kolaylığı, sürüm kontrolü ve belgelere erişim sağlar. Ve pandoc ve markdown yardımıyla, tüm bunlardan ve farklı formatlarda hemen hemen her belge oluşturulabilir.

Markdown Sözdizimi

Çok basit ve çok mantıklı. Buradan ödünç alınan sözdiziminin kısa bir özeti:
  • Paragraflar boş bir satırla ayrılmış
  • Bir satırın sonundaki iki veya daha fazla boşluk, satır sonunu tanımlar
  • Yazı tipleri: **kalın** , _italik_ , "tek aralıklı"
  • Başlıklar: #birinci seviye# , ##ikinci seviye##
  • Listeler:
    • sırasız: - liste öğesi.
    • sıralı: 1. liste öğesi
  • Kod bloğu - her satır 4 veya daha fazla boşlukla başlar
  • Yatay çubuk: üç veya daha fazla kısa çizgi veya yıldız işareti
  • Bağlantılar:
    • satır içi [etiket metni](url)
    • dipnotlar
  • Görüntüler:
    • gömülü!(url)
  • Kaçan karakterler ters eğik çizgi ile yapılır. Aşağıdaki karakterlerden çıkış karakteri kullanılmalıdır: * _ ( ) () # + - . !
Her ihtimale karşı, burada bir hile sayfası şeklinde vereceğim:

Çarpık bir şekilde uygulanan Markdown'da ayrı bir satır yorum yapıyor. Yorum kısaysa (satır içi), HTML'deki olağan yorum yöntemini kullanabilirsiniz:


Web'de Markdown'ın basit sözdiziminin yeterli açıklaması var, ancak özellikle olağanüstü kaynaklar da var:

  • İngilizce olarak 30 bağlantı ile çeşitli ve faydalı kaynaklar Markdown'a göre (yazar - Makovod);
  • , ancak yazar Jakyll'in kırmızı gözünün Markdown'ın tek kullanımı olduğunu düşünüyor.
  • (İngilizcede).
  • ve bu sadece Markdown'ın iyi bir açıklaması değil, aynı zamanda Markdown'ın bir dereceye kadar desteklediği şeylere çok sayıda bağlantı.
Bir kopya kağıdını göze çarpan bir yere asmak uygundur - birçoğu zaten yapılmıştır ve aralarında göze çarpmaktadır:
  • basit ve minimalist metin
  • güzel bir web sayfası olarak tasarlanmış
  • PDF dosyası olarak yazdırmaya hazır (PDF, 60 Kb)
  • bir diğeri, İngilizce, yoğun bir şekilde PDF olarak biçimlendirilmiş
Okumak istemeyenler için - var youtube'da video eğitimi:


12 dakika içinde size Markdown'ın ne olduğunu ve neden vazgeçtiğini çok yetkin ve İngilizce olarak anlatacaklar.

Markdown için Görsel Düzenleyiciler

Markdown'a bir şeyler yazmak ve hemen sonucu görmek en uygunudur - bir tür düzen ortamı elde edersiniz. Çevrimiçi düzenleyiciler var ve çevrimdışı kullanabileceğiniz uygulamalar var.

Uygulama olarak işaretleme düzenleyicileri

Yeni nesil bulut hizmetleri ve diğer web tabanlı hizmetler elbette harika, ancak sonra korkunç bir şey oldu ve Web bağlantınız olmadan kaldınız. Ve sonra ne? Ve sonra eski güzel masaüstü ve bağımsız uygulamalar bize yardımcı olacaktır.
Yeniden Metin
birçoğundan biri Çalışma Linux altındaki Markdown editörleri ReText'tir. QT4 ve Python'da yazıldığından, bu sümüklü 100Kb zanaat için bir grup Qt4 kitaplığını sürüklemeye hazır olun:
# apt-get install python-qt4 ... Aşağıdaki YENİ paketler kurulacak: libqt4-help libqt4-scripttools python-qt4 python-sip 0 yükseltildi, 4 yeni yüklendi, 0 kaldırılacak ve 184 yükseltilmedi. 5.728 kB arşiv almanız gerekiyor. Bu işlemden sonra 21.7 MB ek disk alanı kullanılacak. Devam etmek istiyor musun?
Bu nedenle, bu satırların yazarı tüm bu python zanaatlarından hoşlanmıyor: 100 kb'lik küçük bir program, 22 MB'lık kitaplıkları çekiyor. Ancak, ReText görsel düzenleyicisinin yeri vardır ve hatta çalışır:

Aslında, özel bir şey değil - sadece minimum işlevlere sahip iki panel. Qt4'ün yarısını sürüklemek istemiyorsanız, ReText, genellikle çok daha etkileyici işlevselliğe sahip çevrimiçi editörler tarafından kolayca değiştirilir.

alıntı
Dikkati hak eden bir diğer editör de Qute. İyi çünkü LaTeX için de destek vaat ediyor. Kodu düzenlemek için, metni içeren paragrafa tıklamanız gerekir:

Uygulama geliştirmenin çok erken bir aşamasında, ancak Linux için zaten bir sürüm var. Üstelik Android uygulaması da var.

Metin editörleri tarafından işaretleme desteği

Birisi sizi Markdown'ın her yerde ve her yerde desteklendiği konusunda bilgilendirmeye başlarsa - bu fazla iyimser bir yalandır. Vim ve Emacs dışında, Kate veya Gedit'te varsayılan olarak vurgulama sözdizimi yoktur, ancak örneğin Submile Text 2'de vardır. Takılabilir, ancak üçüncü taraf eklentilerle - örneğin, Kate you'da. bunu yapabilirsin:

Kurulum basittir - markdown.xml dosyasını ~/.kde/share/apps/katepart/syntax/ dizininize kopyalayın.
Bu kadar. Ardından *.text, *.md, *.mmd uzantılı bir dosyayı açtığınızda, Markdown renkli sözdizimi düzenlemesini elde edersiniz!
XML dosyası için indirme kodunu alın (hem GPL hem de BSD lisansları altında çift lisanslıdır).
Fakat metin editörlerinde ışık bir takoz gibi birleşmemiş ve görsel editörler bizim için daha faydalı olacaktır.

Çevrimiçi İşaretleme Düzenleyicileri

Hala modası geçmiş metin düzenleyicileri kullananlar, Markdown sözdizimini kendi kendilerine renklendirmek zorunda kalıyorlar. Ancak, web duplex ve web servisleri ile birlikte 21. yüzyıla sahibiz ve çevrimiçi bir görsel editör istiyoruz. Onlara sahibiz:

  • Dillinger: iki panel, kötü arka plan" defter sayfası", gecikmeli oluşturma, ancak GitHub ve Dropbox'a dışa aktarma, satır numaralarını görüntüleme ve HTML'yi dışa aktarma.
  • Instantmark başka bir basit iki panelli araçtır, ancak dosyayı Markdowm ve HTML formatlarında dışa aktarma özelliğine sahiptir (bunları indirebilirsiniz).
  • Seyahat editörü Markdowm: bunun yanında tek kullanışlı özellik standart düğmeler ve iki panel - sözdizimli bir sekme.
  • Daha fazlası çevrimiçi düzenleyici Markdown düz yazı olarak görüntülenebilir - GitHub entegrasyonu ve minimalist tasarım bir artıdır.
İlk iki editör dikkati hak ediyor, geri kalanı uygulamadan veya fikir eksikliğinden muzdarip.

Markdown'da Blog Motorları ve Web Servisleri

Markdown bu kadar harikaysa, onu kullanan blog platformları nerede? Ve bunlardan çok azı var, çünkü çıplak Markdown'daki blog uygunsuz (etiket, yorum, kenar çubuğu, düzgün konu yok) ve 90'lardan merhaba gibi görünüyor. Ancak, bir şey ortaya çıkarılabilir.

Markdown'ı Destekleyen Herhangi Bir Web Hizmeti

Yani, bir dereceye kadar, izin veren eksiksiz çözümler sıradan kullanıcı barındırma, haskell, jakyll ve diğer reaktif bağlayıcılarla kırmızı göz atmayın.
  • posterous : Markdown'ı destekliyor, ancak bir nedenden dolayı Twitter'a satıldı ve her an kapanacak.
  • Tumblr: Markdown işaretlemesini sindirir, ancak bu en korkunç mikroblog uygulamalarından biridir.
  • Wordpress, bir eklenti aracılığıyla Markdown'ı destekler.
Bunlar az çok düşünceli kararlar, ancak kişisel yaratıcılık istiyorsak, o zaman ...

Markdown + Dropbox paketleri

Genel olarak, bunlar blog motorları değil, yalnızca istek üzerine kullanıcı Markdown dosyalarının çevrimiçi olarak oluşturulması ve barındırmadır. Hepsi çok minimalist görünüyor, ancak yine de:
  • Calepin: Temasız, etiketsiz, widget'sız, özelleştirmesiz ve kötü bir düzene sahip bir blog hizmeti. Ve para için (gelecekte SSS'ye bakın).
  • scriptogr.am : belki de en az kırmızı gözlü çözüm, daha iyi stil ve CSS desteği var. Ayrıca, gönderiler için etiketler gibi öldürücü bir özellik vaat ediyorlar.
Ancak gerçek erkekler kolay yollar aramazlar ve bu nedenle ...

Hakyll/Jekyll + Markdown + GitHub = iyi bir blog motoru değil

Birinin bir fikri varsa "ve şimdi indirimde harika bir motor yapacağım ve bunun üzerine bir megablogda yazılar yazacağım" - tekrar düşünün. Buna çok zaman harcayacaksınız ve sonuç olarak ilkel bir tasarımla (yazacak gücünüz varsa) sefil bir hareket ve yazı eksikliği alacaksınız.

Bu tür girişimlerin uygulanmasına ilişkin az çok başarılı olan pek çok örnek vardır ve istisnalar olmasına rağmen çok azı düzgün görünen bağımsız bir bloga çekilir [Jekyll'deki web sitesi, www.juev.ru]:


Ancak ivme kaybedene kadar barındırma, Jekyll / Hakyll ve github ile savaşabilirsiniz. Sözdizimi vurgulama, vurgulama ve normal resim yazısı çizimleri gibi aşağı yukarı nezih bir şey için WYSIWYG'ye geri dönersiniz, o da bunu yapar. gerçekten daha kolay.

Burada yazar arkadaşlarıma blogun motor değil değerli içerik olduğunu hatırlatmak isterim. Markdown ile istediğiniz kadar kırmızı göz atabilir ve doğru ve kutsal temiz HTML için ciddiyetle savaşabilirsiniz. Ancak WYSIWYG düzenleyicisi tarafından oluşturulan kod ne kadar korkunç görünüyor, tükürmek okuyucuların %99,999'u ve arama motorları: insanlar ve robotlar sitelere içerik.

Blog motorları için Jekyll ve Hakyll'in kullanımı aşağıdaki hususlarla doğrulanabilir:

Her yere yerleştirilebilen ve barındırma için özel bir gereklilik olmayan statik bir site ortaya çıkıyor;
- Daha az güvenlik sorunu
- Gönderiler ve resimler her zaman yanınızda, yedek oluşturmak daha kolay.

Tüm ekstra çabaya değer mi, herkes kendisi için karar verir.

Wiki'ler ve diğer Markdown özellikli web hizmetleri

Ardından, wiki'ler, site oluşturucular ve diğer yazılım geliştirme canavarları şeklinde potansiyel olarak çalışan çözümlerin küçük bir listesini bırakacağım:
  • Dotclear, Markdown desteği ile oldukça eksiksiz bir blog motoru çözümüdür. Global ve güvenilir PHP ile yazılmıştır.
  • açıklamaya bakılırsa, markdown destekli statik bir site oluşturucu (Windows altında)
  • statik HTML sayfaları oluşturan minimalist bir blog motoru olarak poz veren obtvse adlı sesli bir şey. Github üzerinde toz toplar, içine hayat solumayı deneyebilirsiniz.
  • Sputnik, Lua ile yazılmış, Markdown'ı doğrudan destekleyen, nispeten zengin özelliklere sahip bir wiki'dir.
Metinde birçok bağlantı verilmiştir ve bunu Markdown ile yapmak aslında daha uygundur. Markdown'da beceriksiz masa desteği ve özellikle renk eksikliği, sebepsiz veya sebepsiz yere düşmeyen her şeyi renklendirmeye alışmış yazarı büyük ölçüde üzer. Ancak GTD Weekly Review için yerleştirme listeleri, belki de Markdown'ın öğrenmeye zaman ayırmaya değer öldürücü özelliğidir.

İsimsiz yorumlar... 24 Eylül 2012, 07:41:00

github: sayfalar önemli değil, ama işte her depodaki README.md -- gerçek alternatif küçük bir projenin sayfası ve/veya wiki'si; bitbucket için aynı

posterous, web düzenleyicisi kod bloklarını düzenlemenize izin vermediği için şimdiye kadarki en kötü blog platformuydu. tumblr otistiktir, ancak yine de ortodoks, noogle'ın aksine kırmızı düğmeler ve yalnızca javascript tasarımları dayatmaz.

Mihail Suşkin'in açıklamaları... 24 Eylül 2012, 12:29:00

On-line bir sürü formül içeren dersler yayınlamak için uzun süredir MathJax ile birlikte markdown kullanıyorum. Markable MathJax'e de sorunsuz bağlandı. Sonuç . Bir komut dosyası satırı eklemek yeterlidir. Yazara katılıyorum: indirimde, tablolar için desteğin olmaması beni öldürüyor, ancak html kodu biçiminde veya dizi ortamını kullanan lateks kodu biçiminde bir koltuk değneği var.

viren yorumları... 24 Eylül 2012, 12:57:00

@Andrew Prohorenkov yorumları...
Belki Hakyl değil, Jekyll?
Hakyll'i kastetmiştim. Mesaj metninde düzeltildi.

Ve Markdown editörleri olarak kendim için nesir buldum
Teşekkürler, yazıya eklendi. Github benim için bir eksi, artı değil.

@vova yorumlar...
Pandoc birden çok tablo düzenini destekler
Biliyorum, ama işaretlemenin kendisi bunu desteklemiyor.

Pandoc'un daha birçok harika özelliği var.
Kesinlikle. Aslında, pandoc hakkında da yazıya devam etme fikri vardı, ama bunun çok fazla olduğunu düşündüm.

@Denis Evsyukov yorumları...
Hmmm, makaleleri depolamak için markdown kullanan blog motorlarına oldukça garip bir saldırı.

Bu bir hakaret değil, eleştiridir. Trolleme unsurlarına rağmen çoğunlukla yapıcı.

www.juev.ru adresim jekyll üzerinde çalışıyor, tüm makaleler indirimde. Sorun nedir?
Biliyorum. Bu, Wordpress ve Blogger'ın tüm bunları (ve çok daha fazlasını) kutudan çıkardığı gerçeğiyle ilgili - neden tekerleği yeniden icat etmek için zaman harcıyorsunuz?

Bu arada Denis, senin blogun jekyll'de gördüklerimin en güzeli. Geri kalan her şey insanın içini ürperten bir özlem ve umutsuzluğa yol açar.

Artı daha birçok gelişme. Neden onlara mazlum diyorsunuz?
Çünkü bunlar github üzerinde toz toplayan kusurlardır. Spesifik olarak: normal tema yok, kenar çubuğu yok, yorum yok, etiket yok... Evet, üçüncü taraf koltuk değnekleri ile vidalanabilir. Ama neden?

@Zaur Dzasezhev yorumları...
Evernote için var konsol istemcisi linux için, Markdown'daki notları destekler. Geeknote denir
İlginç. Teşekkürler.

@iv_vl yorumlar...
Beni düzelt, ama bu, yorumlarda çok karşı çıktığın edepsizlik.
Bu kabalık değil, biraz kalın trolleme.

Doğal olarak, belirtilenler arasında yer yoktu www.juev.ru
İşte blogu biraz güzel görünen tek kişi o.

Metinde ve iki kez bahsedildi.

Org Modu, Markdown'ın öldürücü özelliğine tepeden bakar.
Emax bu gezegendeki tek metin editörü değil. Ve bu arada, vim de.

Beni korkutan şey, yarı çalışan masaüstü prototiplerine karşı çevrimiçi Markdown editörlerinin çokluğu.
Eh, iv_vl, hala faydalı şeylerle meşguller: KDE4, Gnome3, Unity, Wayland. Bence şimdiden bir düzine Amarok çatalı var. Ve indirimden bahsediyorsun. Hala bir düzine daha DE ve birkaç yüz oyuncumuz yok.

Web dışında, Markdown bir biçimlendirme dili olarak kabul edilmez.
Bu gönderi sadece tek bir web olmadığını göstermeye çalışıyor.

Ayrı olarak, bu yazı etrafında bir tartışma için bir araya gelen saygın blog yazarlarına sesleniyorum. Burada blogda, İşaretli Güvertede, FeedBurner sayacının düştüğünü görüyorum.
Feedburner küresel olarak düştü. Üzerinde çalışıyorlar (TM). Düzelteceklerini umuyorum, sadece istatistikler ele alınmış olsa da, beslemenin kendisi canlı ve iyi durumda.


Yakacak odunlar nereden? API'nin bir kısmı orada kesildi, ancak feedburner'ın kendisi bizimle kalıyor. kullanılır Büyük miktar insanlar.

viren yorumları... 24 Eylül 2012, 12:59:00

@Anonim yorumlar...
github: sayfaların umurunda değil, ancak her depodaki README.md sayfaya gerçek bir alternatif
Anonymous'a katılıyorum - bu arada, simülatörüm için zaten böyle bir benioku yaptım. Çok iyi çalıştı.

tumblr otistik ama yine de ortodoks
Anonymous'a katılmadığım yer burası. Uzun zamandır bu kadar korkunç bir web hizmeti görmemiştim: etiket yok, arama çalışmıyor, site haritası yok... Geliştiriciler aşırıya kaçmış, başka bir gezegene uçmuş veya hizmetlerini kullanmıyorlar. tüm.

scriptogram ve kalepin için teşekkürler.
Bu, Akulovich ile yaptığım yorumlardan. Onun için çok merhametli :-)

@Mikhail Sushkin yorumları...
On-line bir sürü formül içeren dersler yayınlamak için uzun süredir MathJax ile birlikte markdown kullanıyorum.
Bu ilginç. Teşekkürler Michael, bunu çok isterim.

Markable MathJax'e de sorunsuz bağlandı.
Tarifini rica edebilir miyim? :-)

Sonuç burada. Bir komut dosyası satırı eklemek yeterlidir.
Oldukça değerli, sadece formüllerin çizilmesi biraz yavaşlıyor. Ve bu yüzden oldukça.

Yazara katılıyorum: indirimde, tablolar için desteğin olmaması beni öldürüyor, ancak html kodu biçiminde veya dizi ortamını kullanan lateks kodu biçiminde bir koltuk değneği var.
Dürüst olmak gerekirse, başlangıçta neden tablolar ve renkler için destek olmadığını anlamıyorum?

viren yorumları... 24 Eylül 2012, 13:02:00

Ve hakila ve kırmızı gözler hakkında - hayattan bir örnek verecekler. Şu anda _my_ görevine göre uyarlanacak yeni bir optimizasyon algoritması yapmaya çalışıyorum. Bu matematiksel kırmızı gözdür ve şu soru sorulabilir: neden? Sonuçta, zaten yapılmış çok fazla algoritma var mı? Cevabım şu: yapacağım algoritma daha iyi karar ver benimçözenlerden daha fazla görev ortak görev. Benim çözümüm daha iyi çünkü uzmanlaşmış.

Markdown + Hackkill = bence bir çözüm, daha kötüsü var olan. Tasarımla sınırlıdır ve size mevcut olanlardan daha kötü bir blog motoru verecektir. Böyle bir "blog motorunda" etiket yok, yorum sistemi yok, konu yok.

Örnek: Bloga gittim ve rastladım ilginç yazı. Bu konuyla ilgili başka bir şey okumak istiyorum ve etikete girip diğer gönderileri görmek istiyorum. Juev'in işaretleri var ve bunun ona ne kadar güç verdiğini yalnızca Allah bilir. Ve WordPress'te varsayılan olarak kutunun dışındadır.

Aslında sorum şu: Neden zaten var olan ve kutunun dışında harika çalışan bir şey için zaman ve enerji harcıyorsunuz? Sonuç tamamen aynı olduğunda (daha kötü değilse) neden başka bir tekerlek üzerinde zaman kaybedesiniz? Bunun için makul bir sebep bulamıyorum. Yorumcular muhtemelen argümanlarını sunacaklar.

Tartışmıyorum: en azından kısmen işaretlemede yazı yazmak için bir neden var - bu arada, bu yazı, boyama ve resimler dışında, esas olarak İşaretlenebilir'de yazılmıştır. Ama bundan bir blog motoru yapmak için - neden?!

Mihail Suşkin'in açıklamaları... 24 Eylül 2012, 13:10:00

@virens
Tarifini rica edebilir miyim? :-)

Oldukça değerli, sadece formüllerin çizilmesi biraz yavaşlıyor. Ve bu yüzden oldukça.
Komut dosyası sol siteden işleniyor ve Markable biraz yavaş.

Anton Yakutovich'in yorumları... 24 Eylül 2012, 18:27:00

Harika yazı, Misha. Şimdi herkes işaretleme ile kırmızı göze koşacak :-)

> Dikkati hak eden bir diğer editör de Qute.
Vaktini boşa harcama. Windows 40 MB için dağıtım kiti ve çıkışta çarpık bir frenli ürün.
Bu yüzden sadece çocukları korkutmak ve Markdown kullanımı için nefret ekmek.

Makale genellikle pandoc'u tanıtıyor, Çoklu İşaretleme bir kelime değil. Ve boşuna, çok lezzetli çöreği var.

> Düzyazıya çevrimiçi bir Markdown editörü olarak da bakabilirsiniz.
Her türlü README.md dosyasını ve github için "güçsüz" düzenleme için mükemmel bir uyum sağlar. Bunun hakkında yazdım.

iv_vl yorumlar... 24 Eylül 2012, 18:41:00

@virens yorumlar...
Bu kabalık değil, biraz kalın trolleme.
Sadece doğru isim "çifte standart"tır. Siyah üzerine “nijerler” dersem, beni yasaklayacaklar ve dudaklarınızda - bu siyah nüfusun “biraz kalın trollemesi”.

Metinde ve iki kez bahsedildi.
Jekyll'deki siteler arasında bir kez bile bahsedilmiyor.

ofis tarafından FeedBurner bilgileri 20 Ekim'de kapatılıyor.
Yakacak odunlar nereden? API'nin bir kısmı orada kesildi, ancak feedburner'ın kendisi bizimle kalıyor
Kimse her şeyin ne kadar ciddi olduğunu bilmiyor, ancak Google blog yazarları arasında heyecan yarattı, bazıları FeedBlitz'e geçiyor. Yakacak odun buradan.

iv_vl yorumlar... 24 Eylül 2012, 19:12:00

@virens yorumlar...
Tasarımla sınırlıdır ve size mevcut olanlardan daha kötü bir blog motoru verecektir.
Herkesin akıllı düşüncelerini yayınlamak için bir platform olarak bir bloga ihtiyacı yoktur. Birçoğu kendileri için yazıyor ve tam tersi, blogun kalıcı bir yaşamını sürdürmek, yorumcuları trollemek için zaman harcamak istemiyor. İçerik oluşturmanın rahatlığını ön planda tutuyorlar ve bildiğiniz gibi herkesin kendine ait bir özelliği var. Kim kendisi için yazarken renklendirmeyi düşünür? Vay canına, Juev tablolar veya vurgulama olmadan saf Markdown kullanıyor. Mikhail, her yazarın bir blogcu olması gerektiği gerçeğinden tamamen farklı bir bakış açısıyla ilerliyorsunuz. Hepsi değil.

Böyle bir "blog motorunda" etiket yok, yorum sistemi yok, konu yok.
Bu doğru değil - hepsi orada.

Sonuç tamamen aynı olduğunda (daha kötü değilse) neden başka bir tekerlek üzerinde zaman kaybedesiniz?
Tekerlek sayısı ile ilgili değil. Bazı insanlar basit bir zevk için bisikleti arabaya tercih eder. Ferştein mi?

Minor yorumları... 24 Eylül 2012, 19:59:00

Sadece şimdi yorumunuzdan sonra neden gerekli olduğunu anladım. Ve markdown hakkında kısaca söylenir.

@iv_vl yorumlar...
Siyah üzerine “nijerler” dersem, beni yasaklayacaklar ve dudaklarınızda - bu siyah nüfusun “biraz kalın trollemesi”.
Offtopik, elbette, ama yine de. Bana son Baltimore, ABD gezimi hatırlattın. Orada, beyzbol sopalı üç ceset bana doğru yuvarlandığında ve şu ifadeyi kullanınca, politik doğruculuk konusunda hızlandırılmış bir kursa katıldım:

Hey, beyaz, wazzup?! WataYoDoinBurada mı?! Sorun mu arıyorsunuz?

Sonra düşündüm ki "evet, zenciler" cevabını verirsem eve kesinlikle canlı dönmeyeceğim. Dört blok yarıçapındaki tek beyaz adam olduğum göz önüne alındığında :-)

Jekyll'deki siteler arasında bir kez bile bahsedilmiyor.
Genel olarak Hakil ve jekyll'den bahsediyor. Ama yine de bir ekran görüntüsü ekledim.

Kimse her şeyin ne kadar ciddi olduğunu bilmiyor, ancak Google blog yazarları arasında heyecan yarattı, bazıları FeedBlitz'e geçiyor. Yakacak odun buradan.
feedblitz- ücretli hizmet ve hışırtıyı yapan onlardı. Çünkü fayda sağlıyorlar.

@iv_vl yorumlar...
Herkesin akıllı düşüncelerini yayınlamak için bir platform olarak bir bloga ihtiyacı yoktur.
Peki, neden böyle cehennem azapları? People.ru var - aynı görünecek. Daha fazla özellik yok. Üstelik ücretsiz.

İçerik oluşturmanın rahatlığını ön planda tutuyorlar ve bildiğiniz gibi herkesin kendine ait bir özelliği var.
Blog yazmaya başlamak için Markdown kullanabilmeniz, barındırma yapabilmeniz, Jekyll/Hakyll'i yükseltebilmeniz, her şeyi github'a koyabilmeniz gerekir...

Tamam, Markdown'ı gerçekten tanıtıyorsanız, o zaman scriptogr.am gibi örneklerle - en azından kısmen bir blog hizmeti olarak adlandırılıyor.

Mikhail, her yazarın bir blogcu olması gerektiği gerçeğinden tamamen farklı bir bakış açısıyla ilerliyorsunuz. Hepsi değil.
Vladimir, eğer bir şeyi ücretsiz ve hemoroidsiz alabiliyorsan, neden gerçekten almıyorsun?

Doğru değil - hepsi orada.
Her yerde değil. parmakla göstermem :-)

viren yorumları... 24 Eylül 2012, 20:52:00

Tekerlek sayısı ile ilgili değil. Bazı insanlar basit bir zevk için bisikleti arabaya tercih eder.
Bisiklet hakkında iyi fark ettiniz: aynı zamanda daha yavaş :-) Merak uğruna hızı ölçmeye karar verdim - ve ne gördüm?

Bu benim sıkıcı blog yazım:

mydebianblog.blogspot.com

Sayfa boyutu 415.6kB
Yükleme süresi 1,63s
İstekler 105
mükemmel. 80/100 sınıf

Fena değil, özellikle Javascriptlerin boyutu ve dağınıklığı göz önüne alındığında. Yoldaşın katılımıyla şablonu düzenlemek için son check-in. Vlsu, orada şişman bir javascript bloğunun ortaya çıkmasına neden oldu (şimdi MORE'un yerini aldı).

Ve şimdi hakils ve jekyls hakkında yıldırım ve modern bloglar kadar hızlı:

http://www.juev.ru
Sayfa boyutu 40,7 kB
Yükleme süresi 2.58s
İstekler 8
mükemmel. sınıf 92/100

10 (!) kat daha hafif olmasına rağmen, yüklenmesi bir buçuk kat daha uzun sürüyor. Ve o yalnız değil:

http://debiania.in.ua/

Sayfa boyutu 4.6kB
Yükleme süresi 3.60s
İstekler 4
mükemmel. 77/100 derece

Bu genellikle bir atılımdır - saniyede bir kilobayt. Ve çok fazla ziyaretçi varsa, KBB'den veya Habr'dan biri bir bağlantı verecek ve sonra ne olacak?

Doğru, her şey çok üzücü değil:

http://www.vonavi.me/

Sayfa boyutu 35.4kB
Yükleme süresi 1.14s
İstekler 12
mükemmel. sınıf 73/100

Şampanyayı açabilirsiniz, iv_vl, inandırıcı bir zafer :-)

@Minoru yorumları...
Edepsizlik.
Senin yanlışın. Tartışmalar olacak mı?

Denis Evsyukov'un yorumları... 24 Eylül 2012, 21:37:00

@virens
Ve sayfa yükleme hızının ölçümleri nelerin yardımıyla yapıldı?

İşte siteniz - test - mydebianblog.blogspot.com/ , zamana göre tam dolu sayfa 7,3 saniye, tekrar görüntülendiğinde ise 4,3 saniyedir.
Sitem test - www.juev.ru, tamamen yüklenmesi bir saniyeden biraz fazla sürüyor ve yeniden yüklenmesi sadece 0,54 ...

Doğruluğun gerçeğe yakın olması için sunuculardan birinden ölçümler aldım.

Güzel inceleme için çok teşekkür ederiz! Ancak Jekyll ve benzeri motorların gücü, sayfaların içeriğini tamamen kontrol edebilmem ve tam olarak ihtiyacım olan tasarımı belirleyebilmemdir. Blogspot, ne yazık ki, artık bunu sağlamayacak. Ve jekyll'de birkaç güzel çalışma görmüş olmanız, motorun berbat olduğu veya blog yazmak için kullanılamayacağı anlamına gelmez. Sadece bu blogları/web sitelerini yöneten insanlar tasarım hakkında fazla düşünmüyorlar.

Ayrıca soruyorsunuz, wordpress varken neden başka bir şey kullanıyorsunuz? Öncelikle jekyll çalışması sonucunda herhangi bir yere yerleştirilebilen ve kesinlikle özel bir hosting gereksinimi olmayan statik bir site elde ediyorum. Wordpress için PHP ile hosting gereklidir ve özellikle katılım iyiyse oldukça iyidir.

İkincisi, içerdiği bazı uzantılar sayfaları bozar veya sayfa koduna belirli hatalar getirir. Birçoğu için bunun kesinlikle hiçbir şey ifade etmediğini anlıyorum, ancak birinin veya bir şeyin koduma müdahale etmesinden gerçekten hoşlanmıyorum.

Üçüncüsü, güvenliği izlemek için bu uzantıların periyodik olarak güncellenmesi gerekiyor ... Neden? Tek istediğim sadece yazdıklarımı göstermekse???

Bir kullanıcı siteyi her ziyaret ettiğinde neden sayfalar oluşturalım? Normal bir blogda veya basit bir sitede bir kez sayfa oluşturmak gerçekten imkansız mı, böylece daha sonra yalnızca sonucu gösterebilirsiniz ?? Sayfaların açıkça dinamik olduğu bir blog örneği verebilir misiniz? İçeriğin kendisi birçok yönden nerede değişir ve her kullanıcı için her seferinde kendi ayrı sayfasını nerede oluşturmak gerekir? Ve değilse, neden böyle bir bahçeyi çitle çevirelim?

Neden statik site oluşturucuları kullanmıyorsunuz?

Blogspot'ta birkaç tasarım seçeneği var, kendi tasarımınızı oluşturabilirsiniz, ancak yine de olanaklar sınırlıdır ve bunu yapmak oldukça sorunludur. için ayrı bir tasarım oluşturma görevi ne zaman farklı sayfalar(asıl olan bir şey, yazar hakkında başka bir şey, içerik üçüncü ve blog sayfalarının kendileri dördüncü), o zaman blogspot'un wordpress gibi sunabileceği hiçbir şey yok. Jekyll'de, nanoc'ta olduğu gibi, uygulanması oldukça kolaydır. Bu arada, her bir sayfa için kendi bireysel tasarımınızı bile belirleyebilirsiniz. Birkaç kişinin kullanacağı açıktır, ancak yine de.

Bu nedenle, sizin tarafınızdan trol yapmak biraz rahatsız edici oldu ...

İsimsiz yorumlar... 24 Eylül 2012, 21:42:00

TeX'in kendisinin çok uygun olmadığı ortaya çıktı, tamamen benim özelliklerimde - Word odaklı bir patronla çalışmam gerekiyor, ancak markdown -> .odt -> .doc kombinasyonunun oldukça pratik ve kullanışlı olduğu ortaya çıktı.

Özellikle bu durumda, genişletilmiş işaretlemeden anında bir .odt dosyası oluşturmanıza izin veren bir komut dosyası yazdım "ve

csl dosyası, kaynakça düzenini tanımlayan bir stil dosyasıdır. Bu standart zotero'da yaygın olarak kullanılmaktadır. Patronum bu konuda kendi integralini yeniden yapmak zorunda olduğu için - neyse ki bu bir tür xml.

Yayıncının çalışmasında önemli bir nüans. Bir bibliyografya oluşturmak için, kaynakları içeren bir BibTex dosyasına ("my.bib"), kaynakça stili için bir csl dosyasına ("disser.csl") ve bir referans dosyasına - "reference.odt" stillerinin bir örneğine ihtiyacınız vardır. - böylece pandoc çıktı belgesini nasıl biçimlendireceğini bilir. Referans dosyası şuna benzer. İlk önce bir `.odt` belgesi oluşturalım. Örneğin şöyle:

Pandoc -f markdown --bibliography ~/disser/my.bib --csl ~/disser/csl/disser.csl --standalone 01_01.txt -o 01_01.odt

'libreoffice'de açın. Orada, elbette, Times New Roman 12, 14 değil, Arial başlıkları vb. Tüm bunları ihtiyacımız olanla değiştiriyoruz - 12. romandan 14. romana, başlık stillerini yeniden işliyoruz, üstbilgileri ve altbilgileri düzeltiyoruz, vb. Ve dosyayı 'reference.odt' olarak kaydedin - ya da istediğiniz isim ne olursa olsun, ona bir daha başvurduğumuzda (ana komut dosyasına bakın) pandoc ondan doğru formatları alacaktır (sadece doğru parçalar metin) ve bunları oluşturulan dosyayı tasarlamak için kullanır - metin stilleri, başlıklar vb. Çok rahat.

Kenar notu. Bunların hepsi "meraklı bir zihin için" değildir. LibreOffice sözde destekler. "bileşik belgeler", yani tez bölümleri değil, bir eğitim kılavuzu yazarsam - oluşturulan dosyaya kolayca tipik bir kapak ve içerik ekleyebilir ve bir eğitim kılavuzu alabilirsiniz.

Kenar notu-2. Dosyanın içindeki yorumlar satırın başında iki yüzde işaretiyle (`%% `) benden ayrılır - belge oluşturulduğunda bunlar atılır. Patronun onları görmemesi için her türlü TODO, FIXME ve NOOOOOO'yu kendinize yazmak çok uygundur.

Genel olarak Nameless yazarken bir şekilde işleri netleştirmeye ve iş akışı hakkında bir yazı yazmaya ihtiyaç var :)

İsimsiz yorumlar... 24 Eylül 2012, 21:48:00

not Benim için markdown, öncelikle Libre Office'te değil, vim'de çalışmanın bir yoludur - hem vim hem de libreoffice'in sağladığı tüm avantajlardan yararlanırken.

Sahip olduğum çalışma belgelerinin %99'u mcd'de ve resimlerde saklanıyor (ve sürüm kontrolü altında bitbucket.org'a dolduruluyor) ve bu, tipik bir dosya ve talep üzerine belgeler oluşturan bir komut dosyasıyla birlikte geliyor - LaTeX'te, hatta html'de bile , hatta odt, en azından pdf olarak.

Düz metin size inanılmaz derecede düzenleme kolaylığı, sürüm kontrolü ve ihtiyacınız olan her yerde belgelere erişim sağlar. Ek olarak, her yerde tek bir dilde not alabilirim - hem freemind dallarında hem de Affigitelno'da Büyük Dosya Avuç içi/tablet/okuyucuda ne var. Ve tüm bunlardan, özellikle biçimlendirme ile uğraşmadan hemen hemen tüm belgeleri ve biçimleri oluşturabilirsiniz.

Mihail Suşkin

Aşağıda dikkate alıyoruz temel sözdizimi işaretleme metin dosyaları"Markdown" - kullanılan semboller, bağlantılar, paragraflar, kıtalar, başlıklar, alıntılar, listeler, önceden biçimlendirilmiş metinler, resimler.

Şu anda genel olarak kabul edilen temel "Markdown" da bazı HTML öğeleri tanımlar, tablolar gibi. Ancak bunun kendi mantığı ve gerçeği var. Örneğin, tablolar eklerseniz, çoğu kişi HTML'de olduğu gibi görsel görünümü bu tablolarla yeniden düzenlemeye başlayacaktır. Sonuçta, örneğin önceden biçimlendirme yoluyla basit tablolar oluşturulabilir.

Temel Markdown'ı genişletmeye çalışan Maruku, Kramdown gibi çeşitli üçüncü taraf genişletilmiş Markdown sürümleri olmasına rağmen. Hatırlanması gereken en önemli şey, Markdown'ın HTML'nin yerini alacak şekilde oluşturulmadığı ve geliştirme sürecinde bu işaretlemenin ana özelliğini kaybetmemek önemlidir.

İşaretleme Sembolleri

Markdown köprü metni işaretlemesi yardımcı kullanır ortak semboller, ancak herhangi bir alfabedeki karakterleri kullanmaz - özellikle İngilizce. Prensip olarak, iyi düşünülmüş bir ulusal klavye düzeniyle, bir web sayfası oluştururken ve yazarken düzeni pratik olarak değiştirmemenizi sağlar.

Markdown sembollerinin listesi:

* yıldız _ alt çizgi + artı - eksi = eşittir ` backquote()()<>parantez # "karma" ! ünlem işareti: iki nokta üst üste | dikey çubukikili alıntı" kesme işareti $ dolar boşluk yeni paragraf

Markdown'da bu karakterler, benzer şekilde metnin yapısını biçimlendirmeye hizmet eder. HTML kullanarak elementler.

Markdown'da çoğu durumda kapanış karakteri olmadığı ve metnin herhangi bir öğesini gösteren bir karakterin etkisinin paragrafın sonuna kadar uzandığı unutulmamalıdır.

Bu karakterlere doğrudan düz metinde ihtiyaç varsa, bu karakterlerden kaçınılmalıdır. ters eğik çizgi\ . Veya "önceden biçimlendirilmiş metin" işaretlemesini kullanın.

"Markdown" un temel unsurları

Paragraf ve satır besleme

Markdown'daki paragraflar birbirinden bir veya daha fazla boş satırla ayrılır.

Örneğin bir şiirde mısra içinde ara vermek için misal oluşturmak için satır sonundan önce iki boşluk eklemek yeterlidir. Ve bu, kıtanın sonuna iki boşluk ve ardından bir paragraf işareti eklenerek yapılır. Örnek

Satır 1
Hat 2
3. satır

Yani, satır şu şekilde yazılır: line\s\s\n , burada \s bir boşluktur, \n bir paragraftır. Başka bir deyişle, bu bir etiket değişimidir.
HTML'de.

Başlıklar

Başlıklar paragraf başında # (kilo işareti) ile belirtilir. Çubuk sayısı, birden altıya kadar olan başlık seviyesini gösterir. Örneğin:

# Başlık

HTML koduyla eşleşir

başlık

Ve örneğin, dört kafes

#### Başlık

HTML koduyla eşleşir

başlık

Ana başlığı karmalarla vurgulayamazsınız, ancak çift satırla altını çizebilirsiniz:

Ana başlık =================

En düzgün ikinci başlığın altı basit bir çizgiyle çizilebilir:

Normal başlık -----------------

Metin stili

küçük resim- **Kalın Metin** İtalik Metin - *İtalik Metin* Kalın İtalik Metin - ***Kalın İtalik Metin***

Kalın metin - __Kalın metin__ İtalik metin - _İtalik metin_

Yatay çizgi

Yatay çizgi


bir dizi üç veya daha fazla kısa çizgiden yapılmıştır

alıntılar

Markdown'daki bir alıntıdan önce bir açılı ayraç > gelir. Paragrafın sonuna kadar geçerlidir

> "Yeni nesil web geliştiricileri Markdown altında yaşayacak." M. Astapçik

Benzer şekilde HTML'de

"Yeni nesil web geliştiricileri Markdown altında yaşayacak." M. Astapçik

Listeler

Düzenli bir sırasız liste, her liste öğesinin başında bir yıldız işaretiyle belirtilir.

* Bir, iki, üç

Numaralandırılmış bir liste için sayılar kullanılır.

1 kez 2 iki 3 üç

Kod biçimlendirme, önceden biçimlendirilmiş metin

Biçimlendirme, metnin HTML'ye çevrilmeden olduğu gibi olduğu anlamına gelen Markdown'da çok önemlidir. HTML'deki ön ve kod öğelerine karşılık gelir. Önceden biçimlendirilmiş bir paragraf için dört boşluk veya bir sekmeyi girintilemek yeterlidir.

Yazdır(" Selam Dünya!\n")

Ayrıca, önceden biçimlendirilmiş bir metin bloğu, bu bloğun başında ve sonunda arka arkaya üç ters tik ile gösterilebilir. Yani, burada bir kapanış karakter kümesi de gereklidir.

``` print("Merhaba dünya!\n")

Doğrudan satırda önceden biçimlendirilmiş metin, her iki taraftan da arka tırnak işaretleri ile ayrılır.

'önceden biçimlendirilmiş metin'

Markdown'da önceden biçimlendirilmiş metni kullanmak kolaydır.

Bağlantılar

dipnotlar

Normal metinde, çok uzun olabileceğinden, bağlantıları doğrudan metne eklemek her zaman estetik açıdan hoş değildir. Daha iyi okunabilirlik için bunları dipnot olarak biçimlendirmek çok daha iyidir. Dipnot, kare tırnak işaretleri kullanılarak düzenlenmiştir. Ve belgenin altında, kitaplarda olduğu gibi, iki nokta üst üste işaretinden sonraki her dipnot, bağlantının gerçek adresini gösterir. Örnek.

Son zamanlarda kullanıcılarımızdan biri Markdown nedir diye sordu? Ghost blog platformunu kullanan bir arkadaşından duymuş. Markdown, düz metni HTML'ye dönüştüren basit bir biçimlendirme dilidir. Bunu basit bir metin editörü olarak düşünebilirsiniz. Bu yazıda, WordPress'te Markdown'ı nasıl kullanacağınızı göstereceğiz.

Markdown nedir?

Markdown, düz metni HTML koduna dönüştüren bir biçimlendirme dilidir. Kullanıcıların, HTML yerine Markdown sözdiziminde yıldız işareti, sayı işareti, alt çizgi ve tire gibi özel karakterleri kullanmalarına olanak tanır. Bu Markdown sözdizimi daha sonra otomatik olarak HTML'ye dönüştürülür.

Örneğin
**Bu, kalın harflerle yazılmış metindir**

Yukarıdaki metin Markdown kullanılarak şuna dönüştürülecektir:

Bu, kalın harflerle yazılmış metindir

indirim teklifleri etkili yöntemözellikle ileri düzey kullanıcılar için genişletilmiş metin belgeleri oluşturma. WordPress gönderilerinizi yazmak için bir metin düzenleyici kullanıyorsanız, Markdown sizin için iyi bir alternatif olabilir.

WordPress'e Markdown Desteği Nasıl Eklenir

Her şeyden önce, WP-Markdown eklentisini kurmanız ve etkinleştirmeniz gerekir. Aktivasyondan sonra bölüme gitmeniz gerekir. Ayarlar » Yazma yönetim paneli siteye gidin ve Markdown bölümüne gidin.

Yazılar, sayfalar ve sayfalar için WP-Markdown'ı etkinleştirebilirsiniz. keyfi türler kayıtlar. Yorumlar için Markdown desteğini de etkinleştirebilirsiniz.

Eklentinin düzenleme alanında bir menü çubuğu vardır, böylece Markdown sözdizimini kolayca ekleyebilirsiniz. Markdown'da yeniyseniz, muhtemelen yardım menüsünü etkinleştirmelisiniz. Bu, Markdown sözdizimini daha hızlı öğrenmenize yardımcı olacaktır.

Markdown desteğini etkinleştirdikten sonra değişiklikleri kaydet düğmesine tıklayın.

WordPress Yazı Düzenleyicisinde Markdown'ı Kullanma

Gönderiler ve sayfalar için Markdown desteğini etkinleştirdikten sonra bölüme gidebilirsiniz. Yazılar » Yeni ekle sitenin yönetim panelinden eylem halinde görmek için.

Standart WordPress görselinin ve metin editörleri bir Markdown editörü ile değiştirildi.

Düzenleyici ekranı artık düzenleyicide yazdığınız metnin gerçek zamanlı bir önizlemesini görüntüler. En üstte, düğmeleri kullanarak Markdown sözdizimini eklemenize izin veren bir Markdown yardım çubuğunuz vardır. Bu panel, Markdown sözdizimine yeni aşina olan kullanıcılar için faydalı olacaktır.

Markdown Sözdizimi Hile Sayfası

Markdown sözdizimi çok basittir, ancak alışması biraz zaman alacaktır. Aşağıda, öğrenme için temel olarak kullanabileceğiniz küçük bir Markdown kopya sayfası bulunmaktadır.

İlk veri:
*Bu italik metindir*

Sonuç:
Bu italik metindir

İlk veri:
**Bu, kalın harflerle yazılmış metindir**

Sonuç:
Bu, kalın harflerle yazılmış metindir

İlk veri:
#Bu 1'e gidiyor#

Sonuç:

bu başlık 1

İlk veri:
##Bu 2## yönüne gidiyor

Sonuç:

bu başlık 2

İlk veri:
###Bu 3'e gidiyor###

Sonuç:

bu başlık 3

İlk veri:
(https://web sitesi)

İlk veri:
1. Öğe numaralı liste 1
2. Madde numaralı liste 2
3. Madde numaralı liste 3

Sonuç:

  1. Numaralandırılmış Liste Öğesi 1
  2. Numaralandırılmış Liste Öğesi 2
  3. Numaralandırılmış Liste Öğesi 3

İlk veri:
*Kurşun maddesi 1
*Kurşun maddesi 2
*Maddeli madde 3

Sonuç:

  • Madde işareti 1
  • Madde işareti 2
  • Madde işareti 3

WordPress'te Markdown Kullanırken Video Ekleme

Genellikle bir YouTube videosunu şu şekilde gömebilirsiniz: basit kopya bağlantılar ve yazı düzenleyiciye yapıştırın. WP-Markdown etkinse bu yöntem çalışmayacaktır. Bu durumda, video bağlantısını bir kısa koda sarmanız gerekir. [Göm] Aşağıdaki şekilde:

Bu makalenin Markdown ve WordPress'te nasıl kullanılacağı hakkında bilgi edinmenize yardımcı olduğunu umuyoruz. Markdown'ın aradığınız şey olmadığını düşünüyorsanız, WordPress'i deneyin.

komik bıyıklı 9 Ocak 2011, 22:14

işaretleme dili

  • Kereste odası *

Bu makale verir pratik tavsiye Markdown biçimlendirme dili için bir ayrıştırıcı yazma hakkında. Bugüne kadar, internette bu konuda çok az bilgi var.

Makale, kendi CMS'lerini ve çerçevelerini sıfırdan oluşturanlar için faydalı olacaktır.

Kısaca dil hakkında

Markdown geliştiricileri, kodunun yürütülmesinin sonucuna görsel olarak benzeyen bir dil yaratmayı hedef olarak belirlediler. E-posta mesajlarının tasarımında kabul edilen kurallar esas alınmıştır.

İşte bir örnek kod:

başlık
=========

Numaralandırılmış listeler:
1. İlk paragraf
2. İkinci nokta
3. Üçüncü nokta

> Yorum yap
> > Yoruma yorum yapın

Metnin bir kısmını **vurgulayabilirsiniz**.

Bu kod, geçerli xHTML'ye dönüştürülecektir.

Markdown sözdizimi, bir yandan teknik olarak vasıfsız kullanıcılar için öğrenmesi daha kolaydır (örneğin, BB kodlarından farklı olarak) ve diğer yandan, çeşitli WYSIWYG hakkında söylenemeyecek yüksek kaliteli xHTML kodu çıktısı üretir. editörler. Bu avantajlar, Markdown'ı, kullanıcıların içeriği düzenleme yeteneğinin gerekli olduğu forum motorları ve CMS'ler için iyi bir seçim haline getirir.

Bugüne kadar, çeşitli dillerde Markdown için birçok derleyici var. Projenizde Markdown kullanmaya karar verirseniz, hazır bir çözüm kullanabilirsiniz (bağlantılar aşağıdadır). Kendi ayrıştırıcınızı yazmaya karar verirseniz (örneğin, eğitim amaçlı), geliştirme sırasında karşılaşabileceğiniz özellikler aşağıdadır ve bunların nasıl çözüleceği konusunda pratik tavsiyeler verilmiştir.

Dil derleyici oluşturma

Markdown, bağlamdan bağımsız dilbilgisi tarafından ayrıştırılamaz. İçeriğe duyarlı sözlük öğeleri içerir. Örneğin, yapıların yuvalanması Python'da olduğu gibi satır hizalamasıyla belirlenir. Dolayısıyla YACC ve ANTLR'yi açıkça kullanmak işe yaramaz. Bu sorunun çözümleri arasında aşağıdakilerle karşılaştım:
  • Ayrıştırıcı oluşturucuyu kullanmayı reddedin ve yerlerde normal ifadeler kullanarak ayrıştırıcıyı manuel olarak yazın.

    Perl'deki orijinal Markdown ayrıştırıcısı ve diğer birçok uygulama bu şekilde oluşturulmuştur. Çözümün dezavantajı düşük performanstır: ilk olarak kullanım nedeniyle düzenli ifadeler ikincisi, çünkü ayrıştırıcıyı otomatik olarak oluşturulan ayrıştırıcının sağladığı düzeye manuel olarak optimize etmek genellikle çok zor bir iştir. Ek olarak, zorunlu dillerde (PHP, Java, C ++) yazarsanız, kendi kendine yazılan bir ayrıştırıcıyı uygulamak ve hata ayıklamak çok zor olacaktır.

  • Yerleşik eylem desteğine sahip bir ayrıştırıcı oluşturucu kullanın ve ters etkiye sahip eylemler yazın.

    Ters etkiye sahip yerleşik eylemlerin kullanılması yoluyla, örneğin belirli bir satırın öncekine göre hizalamasını analiz etmek, böylece bağlama duyarlı kuralları simüle etmek mümkündür. Dezavantajı, bağlamdan bağımsız dilbilgilerinin bu amaç için tasarlanmamasıdır ve ters etkinin kullanılması, ayrıştırma sırasında hatalara yol açabilir.

  • Bağlamdan bağımsız dilbilgisi ayrıştırıcısının özyinelemeli uygulaması.

    Aslında, önce kodun tamamını kabaca ayrı bloklara (paragraflar, aynı seviyedeki yorumlar) bölebilir ve ardından aynı ayrıştırıcıyı onlara tekrar uygulayabilirsiniz. Bu çözüm, önceki versiyondaki gibi öngörülemeyen sonuçlara yol açmayacak ve ideolojik açıdan daha doğru, ancak performans açısından daha az verimli.

    Bu muhtemelen uygulanması en kolay çözüm olacaktır.

  • Giriş verilerini manuel olarak önceden işleyin.

    Kodu manuel olarak satırlara bölebilir ve her satırın başındaki boşlukları öncekine göre kaymasını (sola veya sağa) gösteren bir karakterle değiştirerek bunlar arasında geçiş yapabilirsiniz. Yorumların iç içe yerleştirilmesini de aynı şekilde halledebilirsiniz. Daha sonra elde edilen dizi dizisi tekrar birbirine yapıştırılabilir ve bağlamdan bağımsız bir dilbilgisi ile ayrıştırılabilir. Filtrelemeden sonra elde edilen dil bağlamdan bağımsız olacaktır.

    Bu çözüm, karmaşıklık açısından öncekiyle karşılaştırılabilir. Performans açısından, genellikle daha verimli olmalıdır.

Markdown için bir ayrıştırıcı üreteci seçimi olarak, bence PEG daha uygundur.

Etiketler: derleyici tasarımı, derleyiciler, ayrıştırıcı, işaretleme, işaretleme, derleme, işaretleme, cms, cms geliştirme, çerçeve, programlama, programlama, programlama dilleri