Thread overview
DDoc Hakkında???
Oct 26, 2015
nurullahisrgan
Oct 29, 2015
nurullahisrgan
Oct 29, 2015
nurullahisrgan
October 26, 2015

Selam! ddili.org D dilinde yazıldığını biliyorum ancak 2 sorum olacaktı?

1-> Makefile'den fazla anlamam. Bu yüzden inceleyemedim. Ddoc ile yazılan dosyaların içindeki özellikler nasıl tanımlanıyor veya kullanılıyor?
2-> D diliyle yazılmış dosyalara nasıl görsellik ekleniyor? Bunun için ayrı bir dosyaya resim yollarını mı ekliyoruz?

Kısacası, Ddoc hakkı9nda bilgi verir misiniz? Örnekli olsa güzel olur.. Şimdiden teşekkürler.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 26, 2015

Yeniden başlasam herhalde Ddoc yerine başka bir markup dili kullanırdım. O zamanlar D öğrenmekte olduğumdan ve Ddoc açıklamalardan belge üretmeye de yaradığından elim alışsın onunla diye başlamıştım. :)

Önce kod belgelendirmeye bakalım. Bunun kaynağı şurada:

http://dlang.org/ddoc.html

Şöyle bir kod olsun:

/**
* Authors: Hasip Hesapçıoğlu
*
* Bugs: Sıfırla bölmeye karşı vs. denetim yoktur.
*/
struct Hesapçı {
   int bölen;    /// Bu, 'bölen'in belgesidir

   /**
    * Verilen değerin bölünmüşünü döndürür
    *
    * Params:
    *    değer = Bölünecek değer
    *
    * Returns: Bölme işleminin sonucu
    */
   int böl(int değer) {
       return değer / bölen;
   }
}

/// Ddoc açıklaması bulunan 'unittest' blokları da belgeye dahil edilir.
unittest {
   auto h = Hesapçı(2);
   assert(h.böl(42) == 21);
}

void main() {
}

O kodu '-D' ile derlediğimizde bir .html dosyası elde ederiz:
'
dmd -D deneme.d
'
Çıktısı şunun gibi bir şey oluyor (tabii aslında renkli):
'
deneme

struct Hesapçı;
Authors:
Hasip Hesapçıoğlu

BUGS:
Sıfırla bölmeye karşı vs. denetim yoktur.

Examples:
Ddoc açıklaması bulunan 'unittest' blokları da belgeye dahil edilir.

auto h = Hesapçı(2);
assert(h.böl(42) == 21);

int bölen;
Bu, 'bölen'in belgesidir

int böl(int değer);
Verilen değerin bölünmüşünü döndürür

   Params:
   int değer 	Bölünecek değer

   Returns:
   Bölme işleminin sonucu

'
Her html dosyasında olduğu gibi, o belgenin görüntüsü .css ile ayarlanabilir. Ancak, aslında basit bir makro dili olduğundan, Ddoc baştan ayarlar yapma olanağı da verir. Örneğin, yukarıdaki belgeyi bütünüyle Türkçeleştirmek istersek, Authors, BUGS, vs. gibi metin parçalarını üreten makroları değiştirebiliriz.

Bu makroların ne oldukları Ddoc'un belgesinde görülüyor. Ben örnek olarak DDOC_AUTHORS ve DDOC_BUGS'ı değiştireceğim. Bu, ilk satırı Ddoc olan dosyalarla gerçekleştiriliyor. Örneğin, 'deneme.ddoc' adında şöyle bir dosya yazalım:
'
Ddoc

DDOC_AUTHORS = $(B Yazarlar:)$(BR)$0$(BR)$(BR)
DDOC_BUGS = $(GREEN $(B YETERSİZLİKLER:))$(BR)$0$(BR)$(BR)
'
Belge üretirken o dosyayı da verirsek bizim makrolarımız kullanılıyor:
'
dmd -D deneme.d deneme.ddoc
'
İstediğimiz satırlar Türkçeleşti ve birisi kırmızı yerine yeşil ve kalın oldu:
'
struct Hesapçı;
Yazarlar:
Hasip Hesapçıoğlu

YETERSİZLİKLER:
..
'
Ek olarak, '---' ile ayrılan metin parçaları otomatik olarak kod olarak kabul ediliyor. Bu makro sistemi aslında D'den bağımsız ve başka amaçlarla da kullanılabiliyor.

Merhaba Dünya bölümünün kaynağı şu:

https://bitbucket.org/acehreli/ddili/src/2c1dd7b75ba31fe8116cada909f14bd8367bd7fe/src/ders/d/merhaba_dunya.d?at=master&fileviewer=file-view-default

Onu üreten .ddoc dosyalarından ikisi de şunlar (başkaları da var; onları 'make' yazınca kullanılan komut satırında görebilirsiniz):

https://bitbucket.org/acehreli/ddili/src/2c1dd7b75ba31fe8116cada909f14bd8367bd7fe/src/common.ddoc?at=master&fileviewer=file-view-default
https://bitbucket.org/acehreli/ddili/src/2c1dd7b75ba31fe8116cada909f14bd8367bd7fe/src/ders.ddoc?at=master&fileviewer=file-view-default

Resim yolları da IMG, LINK, ve LINK2 gibi makroları kullanır. Şurada IMG kullanılıyor:

https://bitbucket.org/acehreli/ddili/src/2c1dd7b75ba31fe8116cada909f14bd8367bd7fe/src/ders/d/index.d?at=master&fileviewer=file-view-default#index.d-14

Orada geçen pdficon_small.gif ise normalde şu klasörde duruyor:

https://bitbucket.org/acehreli/ddili/src/2c1dd7b75ba31fe8116cada909f14bd8367bd7fe/src/image/?at=master

Bütün kitapların aynı 'image' klasöründe durmaları aslında yanlış. Her kitabın endi alt 'image' klasörü olmalıymış. Gerekirse öyle değiştiririz.

Ayrıca, kitabın oluşturulması, Ddoc'lar, vs. zamanla oldukça karmaşık hale geldi... :-/

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 29, 2015

Verdiğiniz bilgiler için teşekkürler ancak tanımladığınız makrolardan AUTHORS bende düzenlenmedi. Başka yazdığım kodlarda da düzenlenmedi...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 29, 2015

Hata benden kaynaklıymış. Rahatsız ettiğim için özür dilerim. DDOC_AUTHORS yerine yanlışlıkla DOC_AUTHORS yazıyormuşum. Kendi yazdığım kodda ise yine bu deneme.ddoc kullanmışım. Kendim yazdığım makroları kullanmamışım. Bunun gibi hatalar yapmışım. Kusura bakmayın...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 29, 2015

AUTHORS mu DDOC_AUTHORS mu? Bir kaç satırlık kodla gösterebilir misin lütfen. Tabii bir de dmd komut satırını...

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]