Docfx, teknik doküman sitesi oluşturmak için .NET topluluğunun desteklediği açık kaynaklı bir projedir. Docfx - Github Pages
Geliştirilen .NET projelerinde bulunan assembly yapısını, Xml tabanlı yorum satırlarını, Swagger dosyası ve markdown dosyalarını; Html veya pdf formatına dönüştürülmesini sağlar.
Faydaları;
- Ekiplerinize projedeki bileşenleri (sınıf, metot) kod bloklarına boğulmadan görsel bir çıktı vermek için kullanışlıdır.
- Summary blokları kod seviyesinde kaldığı için yazılımcı olmayan birinin anlaması zordur.
- Ekip üyelerinin yapılan işler sırasındaki dokümantasyon sürecine teşvik eder.
- Link desteği sayesinde, metodun bağlı olduğu bileşene ulaşılabilir.
- Ekibe yeni katılan bir kişinin projeye hızlı uyum sağlamasını kolaylaştırır.
Web sitesinin kurulum aşamaları
Eğer .NET SDK varsa, komut satırını kullanarak aşağıdaki komut çalıştırılır. Çalıştırılan bu komutla, dotnet CLI aracılığıyla docfx aracını yükler.
dotnet tool install -g docfx
Kurulum tamamlandığında aşağıdaki gibi başarılı mesajını görebilirsiniz.
Örnek bir dotnet projesinde dokümante etmek istenilen projeler,
src klasörünün içerisinde bulunuyor.
Dokümantasyon sitesi için docfx_site adında bir klasör oluşturuldu.
src klasöründe iki adet proje bulunmakta olup; Core katmanı için Class library ve Web Api projeleridir. Projeler .NET 8 sürümünde geliştirilmiştir.
docfx init
Bu komutu girdikten sonra yapılandırma ayarları için aşağıdaki sorulara cevap vermek
gerekir.
.NET Projects location: csproj uzantılı dosyaların bulunduğu klasörün
konumudur. Değer girilmezse varsayılan olarak src klasöründe olduğunu kabul
eder ve klasör yoksa csproj dosyası olmadığı için istenilen sonucu
vermeyecektir.
Örneğimde; src klasörü oluşturdum fakat konumu gereği ./ ile bir üst dizine
konumu verdim.
Markdown docs location: md uzantılı dosya oluşturup ana sayfada gösterilecek
markdown dosyalarının klasör yolunu veriririz. Github readme dosyalarının
formatı olan bu dosyalar varsayılan olarak aşağıdaki şekilde görünecektir.
Değer girilmezse varsayılan olarak docs klasörü oluşturur.
getting-started markdown içeriği |
Enable site search?: Site içi arama desteği vermek için Y değeri verildi.
Aksi durumda, N(no) değeri verilebilir.
Enable PDF?: Pdf belgesi oluşturma desteği için Y değeri verildi.
Aksi durumda, N(no) değeri verilebilir. Pdf formatı siteye erişilemediği durumda
taşınabilirlik bakımından kullanışlı olacaktır.
Yapılandırma ayarları tanımlandıktan sonra, yapılandırma dosyası olan
docfx.json dosyasının ön izlemesini gösterir. Onaylamak
için Y değeri atanır, aksi halde N diyerek onaylanmaz ve tekrar yapılandırma
sürecine başlarsınız.
docfx --serve
Bu komut ile src dosyasından csproj dosyalarında sırasıyla restore ve build işlemlerini yaparak 8080 portunda ayağa kaldırır.Web sitesi çıktısından API'de bulunan TeamsController dosyasından dokümante edilmiş yapıyı inceleyelim.
Metotta XML summary yorum satırları mevcuttur. Web sitesine dönüştürme işlemi sonrasında çıktı, aşağıdaki gibidir.
Get metodu |
Get(string) metodu |
İlgili metotlarda linke tıklandığında yönlendirecek sayfaları bulunuyor. Teams olan linke tıklandığında, sonuç aşağıdaki gibidir.
.NET uygulamalarında kullanışlı dokümantasyon sitesini oluşturabildiğimiz docfx aracı ile görsellik sağlayıp, ekiplerin proje dokümantasyon sürecine fayda sağlar.
Tavsiye: docfx aracından daha iyi verim alınabilmesi için XML formatındaki summary bloklarının doğru ve anlaşılır şekilde oluşturularak projenin iyi dokümante edilmesi gerekir.
Visual Studio'daki Summary yazımı ile ilgili makaleme aşağıdaki linkten ulaşabilirsiniz.
Proje ve Docfx sitesinin bulunduğu repoya aşağıdaki Github Linkinden Ulaşabilirsiniz
Yazının faydalı olmasını umarak çalışmalarınızda kolaylıklar diliyorum :)
Kaynaklar
Yorumlar
Yorum Gönder