Linux Komut Satırında Dosyaları Dönüştürmek için pandoc Nasıl Kullanılır

Yayınlanan: 2022-01-29
Ubuntu tarzı bir masaüstü temasına sahip bir Linux dizüstü bilgisayarda çalışan bir terminal penceresi.
Fatmawati Achmad Zaenuri/Shutterstock

pandoc Linux'ta 40'tan fazla dosya formatı arasında dönüştürmek için kullanabilirsiniz. Markdown'da yazarak, git depolayarak ve desteklenen biçimlerinden herhangi birinde yayınlayarak basit bir kod olarak belgeler sistemi oluşturmak için de kullanabilirsiniz.

Belge Dönüştürme ve Kod Olarak Belgeler

pandoc's birçok desteklenen dosya formatından herhangi birinde bir belgeniz varsa, onu diğerlerinden herhangi birine dönüştürmek çocuk oyuncağıdır. Bu sahip olmak için kullanışlı bir araçtır!

Ancak pandoc gerçek gücü, onu basit bir kod olarak dokümanlar sisteminin temeli olarak kullandığınızda ortaya çıkar. Kod olarak dokümanın amacı, yazılım geliştirmenin bazı tekniklerini ve ilkelerini benimsemek ve bunları, özellikle yazılım geliştirme projeleri için belge yazmaya uygulamaktır. Yine de, her türlü belgenin geliştirilmesine uygulayabilirsiniz.

Yazılım geliştiriciler, programlarını yazmak için favori düzenleyicilerini veya entegre geliştirme ortamını (IDE) kullanır. Yazdıkları kod metin dosyalarına kaydedilir. Bunlar programın kaynak kodunu içerir.

Kaynak kodunda yapılan değişiklikleri geliştirilip iyileştirildikçe yakalamak için bir sürüm kontrol sistemi veya VCS (Git en popüler olanıdır) kullanırlar. Bu, programcının kaynak kod dosyalarının tüm sürümlerinin eksiksiz bir geçmişine sahip olduğu anlamına gelir. Bir dosyanın önceki herhangi bir sürümüne hızlı bir şekilde erişebilir. Git, dosyaları bir havuzda saklar. Her geliştiricinin bilgisayarında yerel bir havuz ve genellikle bulutta barındırılan merkezi, paylaşılan, uzak bir havuz vardır.

Reklamcılık

Programın çalışan bir sürümünü oluşturmaya hazır olduklarında, kaynak kodunu okumak ve bir ikili yürütülebilir dosya oluşturmak için bir derleyici kullanırlar.

Belgelerinizi basit, metin tabanlı bir biçimlendirme dilinde yazarak, yazınızı sürüm kontrolü için bir VCS kullanabilirsiniz. Bir belgeyi dağıtmaya veya yayınlamaya hazır olduğunuzda, web tabanlı (HTML), kelime işlemli veya dizgi (LibreOffice, Microsoft Word, TeX) dahil olmak üzere belgelerinizin istediğiniz kadar farklı sürümünü oluşturmak için pandoc kullanabilirsiniz. , taşınabilir belge formatı (PDF), e-kitap (ePub) vb.

Tüm bunları, sürüm kontrollü, hafif metin dosyalarından oluşan bir setten yapabilirsiniz.

pandoc yükleme

pandoc Ubuntu'ya kurmak için şu komutu kullanın:

 sudo apt-get kurulum pandoc 

Fedora'da ihtiyacınız olan komut şudur:

 sudo dnf pandoc'u kurun 

Manjaro'da şunları yazmanız gerekir:

 sudo pacman -Syu pandoc 

--version seçeneğini kullanarak hangi sürümü yüklediğinizi kontrol edebilirsiniz:

 pandoc --versiyon 

Dosyasız pandoc kullanma

Herhangi bir komut satırı seçeneği olmadan pandoc kullanırsanız, yazılan girişi de kabul eder. Yazmayı bitirdiğinizi belirtmek için Ctrl+D tuşlarına basmanız yeterlidir. pandoc , Markdown biçiminde yazmanızı bekler ve HTML çıktısı oluşturur.

Bir örneğe bakalım:

 pandok 

Birkaç satır Markdown yazdık ve Ctrl+D'ye basmak üzereyiz.

Reklamcılık

Yaptığımız anda, pandoc eşdeğer HTML çıktısını oluşturur.

Ancak pandoc ile faydalı bir şey yapmak için gerçekten dosyaları kullanmamız gerekiyor.

Markdown Temelleri

Markdown, hafif bir biçimlendirme dilidir ve belirli karakterlere özel anlam verilir. Bir Markdown dosyası oluşturmak için düz bir metin düzenleyici kullanabilirsiniz.

Metinden dikkati dağıtacak görsel olarak hantal etiketler olmadığından, işaretleme kolayca okunabilir. Markdown belgelerinde biçimlendirme, temsil ettiği biçimlendirmeye benzer. Aşağıda bazı temel bilgiler verilmiştir:

  • Metni italik olarak vurgulamak için yıldız işareti içine alın. *This will be emphasized*
  • Metni kalınlaştırmak için iki yıldız işareti kullanın. **This will be in bold**
  • Başlıklar, sayı işareti/kare işareti ( # ) ile gösterilir. Metin, karmadan bir boşlukla ayrılır. Üst düzey başlık için bir, ikinci düzey için iki karma vb. kullanın.
  • Madde işaretli bir liste oluşturmak için listenin her satırına bir yıldız işaretiyle başlayın ve metnin önüne bir boşluk bırakın.
  • Numaralandırılmış bir liste oluşturmak için, her satıra bir rakam ve ardından bir nokta ile başlayın ve ardından metnin önüne bir boşluk ekleyin.
  • Bir köprü oluşturmak için sitenin adını köşeli parantez ( [] ) içine ve URL'yi parantez [ () ] içine alın: [Link to How to Geek](https://www.howtogeek.com/) .
  • Bir görüntü eklemek için parantezlerden ( ![] ) hemen önce bir ünlem işareti yazın. Görüntü için herhangi bir alternatif metni parantez içine yazın. Ardından, görüntünün yolunu parantez [ () “] içine alın. İşte bir örnek: ![The Geek](HTG.png) .

Bir sonraki bölümde tüm bunların daha fazla örneğini ele alacağız.

İLGİLİ: Markdown Nedir ve Nasıl Kullanırsınız?

Dosyaları Dönüştürme

Dosya dönüştürme işlemleri basittir. pandoc , genellikle dosya adlarından hangi dosya biçimleriyle çalıştığınızı bulabilir. Burada, bir Markdown dosyasından bir HTML dosyası oluşturacağız. -o (çıkış) seçeneği, pandoc oluşturmak istediğimiz dosyanın adını söyler:

 pandoc -o sample.html sample.md 

Reklamcılık

Örnek Markdown dosyamız sample.md, aşağıdaki resimde gösterilen Markdown'ın kısa bölümünü içerir.

Bir gedit düzenleyici penceresindeki sample.md dosyasındaki işaretleme metni.

sample.html adlı bir dosya oluşturulur. Dosyaya çift tıkladığımızda varsayılan tarayıcımız dosyayı açacaktır.

Bir tarayıcı penceresinde sample.md işaretleme dosyasının HTML işlemesi.

Şimdi LibreOffice Writer'da açabileceğimiz bir Open Document Format metin belgesi oluşturalım:

 pandoc -o sample.odt sample.md 

ODT dosyası, HTML dosyasıyla aynı içeriğe sahiptir.

Markdown'dan oluşturulan ve LibreOffice Writer'da açılan bir ODT belgesi.

Düzgün bir dokunuş, resim için alternatif metindir, ayrıca şekil için otomatik olarak bir resim yazısı oluşturmak için kullanılır.

LibreOffice Writer'da otomatik olarak oluşturulmuş bir şekil yazısı.

Dosya Biçimlerini Belirtme

-f (from) ve -t (to) seçenekleri, pandoc hangi dosya biçimlerini dönüştürmek istediğinizi söylemek için kullanılır. Dosya uzantısını diğer ilgili biçimlerle paylaşan bir dosya biçimiyle çalışıyorsanız bu yararlı olabilir. Örneğin, TeX ve LaTeX, ".tex" uzantısını kullanır.

Ayrıca -s (bağımsız) seçeneğini kullanıyoruz, böylece pandoc bir belgenin eksiksiz, bağımsız ve iyi biçimlendirilmiş bir LaTeX belgesi olması için gereken tüm LaTeX önsözünü oluşturacaktır. -s (bağımsız) seçeneği olmadan, çıktı yine de başka bir LaTeX belgesine yerleştirilebilen iyi biçimlendirilmiş LaTeX olurdu, bağımsız bir LaTeX belgesi olarak düzgün şekilde ayrıştırılmazdı.

Aşağıdakileri yazıyoruz:

 pandoc -f markdown -t lateks -s -o sample.tex sample.md 

Reklamcılık

“sample.tex” dosyasını bir metin düzenleyicide açarsanız, oluşturulan LaTeX'i görürsünüz. Bir LaTeX düzenleyiciniz varsa, LaTeX dizgi komutlarının nasıl yorumlandığının bir önizlemesini görmek için TEX dosyasını açabilirsiniz. Aşağıdaki resme sığdırmak için pencereyi küçültmek, ekranın sıkışık görünmesine neden oldu, ancak gerçekte sorun yoktu.

Texmaker'da açık olan ve dizgi sayfasının bir önizlemesini gösteren bir LaTeX dosyası.

Texmaker adında bir LaTeX editörü kullandık. Ubuntu'ya kurmak istiyorsanız, aşağıdakini yazın:

 sudo apt-get install texmaker

Fedora'da komut şudur:

 sudo dnf texmaker'ı kurun

Manjaro'da şunu kullanın:

 sudo pacman -Syu texmaker

Dosyaları Şablonlarla Dönüştürme

Muhtemelen pandoc sağladığı esnekliği anlamaya başlıyorsunuz. Bir kez yazabilir ve hemen hemen her biçimde yayınlayabilirsiniz. Bu harika bir başarı, ancak belgeler biraz vanilya gibi görünüyor.

Şablonlarla, pandoc belgeleri oluştururken hangi stilleri kullanacağını belirleyebilirsiniz. Örneğin, --css pandoc Basamaklı Stil Sayfaları (CSS) dosyasında tanımlanan stilleri kullanmasını söyleyebilirsiniz.

Aşağıdaki metni içeren küçük bir CSS dosyası oluşturduk. Düzey başlığının üstündeki ve altındaki aralığı bir stil olarak değiştirir. Ayrıca metin rengini beyaza ve arka plan rengini mavi gölgeye değiştirir:

 h1 {
  renk: #FFFFFF;
  arka plan rengi: #3C33FF;
  üst kenar boşluğu: 0px;
  kenar boşluğu-alt: 1 piksel;
}

Tam komut aşağıdadır; bağımsız seçeneği de ( -s ) kullandığımızı unutmayın:

 pandoc -o sample.html -s --css sample.css sample.md
Reklamcılık

pandoc , minimalist CSS dosyamızdaki tek stili kullanır ve bunu birinci düzey başlığa uygular.

Bir tarayıcı penceresinde, birinci düzey başlığa uygulanan bir CSS stiliyle işaretlemeden oluşturulan HTML

HTML dosyalarıyla çalışırken sahip olduğunuz diğer bir ince ayar seçeneği, Markdown dosyanıza HTML işaretlemesi eklemektir. Bu, oluşturulan HTML dosyasına standart HTML işaretlemesi olarak iletilecektir.

Yine de bu teknik, yalnızca HTML çıktısı oluşturduğunuzda kullanılmalıdır. Birden çok dosya biçimiyle çalışıyorsanız, pandoc , HTML olmayan dosyalar için HTML işaretlemesini yok sayar ve bunlara metin olarak iletilir.

ODT dosyaları oluşturulurken hangi stillerin kullanılacağını da belirleyebiliriz. Boş bir LibreOffice Writer belgesi açın ve başlık ve yazı tipi stillerini ihtiyaçlarınıza göre ayarlayın. Örneğimizde ayrıca bir üst bilgi ve alt bilgi ekledik. Belgenizi “odt-template.odt” olarak kaydedin.

Şimdi bunu --reference-doc seçeneğiyle şablon olarak kullanabiliriz:

 pandoc -o sample.odt --reference-doc=odt-template.odt sample.md 

Bunu daha önceki ODT örneğiyle karşılaştırın. Bu belge farklı bir yazı tipi kullanır, renkli başlıklara sahiptir ve üstbilgi ve altbilgi içerir. Ancak, tam olarak aynı "sample.md" Markdown dosyasından oluşturuldu.

Bir LibreOffice Writer penceresinde stil sayfası görevi gören bir LibreOffice belgesiyle işaretlemeden oluşturulan bir ODT dosyası.

Reklamcılık

Referans belge şablonları, bir belgenin üretiminin farklı aşamalarını belirtmek için kullanılabilir. Örneğin, "Taslak" veya "İnceleme İçin" filigranları olan şablonlarınız olabilir. Nihai bir belge için filigran içermeyen bir şablon kullanılacaktır.

PDF oluşturma

Varsayılan olarak pandoc , PDF dosyaları oluşturmak için LaTeX PDF motorunu kullanır. Uygun LaTeX bağımlılıklarına sahip olduğunuzdan emin olmanın en kolay yolu, Texmaker gibi bir LaTeX düzenleyicisi kurmaktır.

Yine de bu oldukça büyük bir kurulum - Tex ve LaTeX'in ikisi de oldukça ağır. Sabit disk alanınız sınırlıysa veya asla TeX veya LaTeX kullanmayacağınızı biliyorsanız, bir ODT dosyası oluşturmayı tercih edebilirsiniz. Ardından, LibreOffice Writer'da açıp PDF olarak kaydedebilirsiniz.

Kod Olarak Belgeler

Markdown'ı yazma diliniz olarak kullanmanın aşağıdakiler de dahil olmak üzere çeşitli avantajları vardır:

  • Düz metin dosyalarında çalışmak hızlıdır: Benzer boyuttaki kelime işlemci dosyalarından daha hızlı yüklenirler ve belgede daha hızlı hareket etme eğilimindedirler. gedit , Vim ve Emacs dahil birçok düzenleyici, Markdown metniyle sözdizimi vurgulamayı kullanır.
  • Belgelerinizin tüm sürümlerinin zaman çizelgesine sahip olursunuz: Belgelerinizi Git gibi bir VCS'de saklarsanız, aynı dosyanın herhangi iki sürümü arasındaki farkları kolayca görebilirsiniz. Ancak, bu yalnızca dosyalar düz metin olduğunda gerçekten işe yarar, çünkü bir VCS'nin çalışmayı beklediği şey budur.
  • Bir VCS, değişiklikleri kimin ve ne zaman yaptığını kaydedebilir: Bu, özellikle büyük projelerde başkalarıyla sık sık işbirliği yapıyorsanız yararlıdır. Ayrıca belgelerin kendileri için merkezi bir depo sağlar. GitHub, GitLab ve BitBucket gibi bulutta barındırılan birçok Git hizmetinin fiyatlandırma modellerinde ücretsiz katmanlar bulunur.
  • Belgelerinizi birden çok biçimde oluşturabilirsiniz: Yalnızca birkaç basit kabuk komut dosyasıyla, stilleri CSS'den ve referans belgelerinden alabilirsiniz. Belgelerinizi Sürekli Entegrasyon ve Sürekli Dağıtım (CI/CD) platformlarıyla entegre olan bir VCS deposunda saklarsanız, yazılım oluşturulduğunda otomatik olarak oluşturulabilirler.

İLGİLİ: GitHub Nedir ve Ne İçin Kullanılır?

Son düşünceler

Pandoc'ta burada ele aldıklarımızdan çok daha fazla seçenek ve özellik var. Çoğu dosya türü için dönüştürme işlemleri ince ayar yapılabilir ve ince ayar yapılabilir. Daha fazlasını öğrenmek için resmi (ve son derece ayrıntılı) pandoc web sayfasındaki mükemmel örneklere göz atın.

İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar