Php kod belgeleri için sfenks

4 Cevap php

Sfenks Rest biçimlendirilmiş metin dosyaları bir dizi güzel belgeleri oluşturmak için bir Python kütüphanesi. Aracı tam metin arama için kullanılmıyor

Ben de doxygen / phpdoc araçları tam olarak farkında değilim. Php projeleri belgeye Sfenks kullanarak bir yolu olup olmadığını anlamaya çalışıyorum? ya da herhangi bir diğer non-python dilleri?

http://sphinx.pocoo.org/

4 Cevap

Sfenks ve geri kalanı benim deneyim, genel dokümantasyon araçları olarak kullanılabilir. Eğer sadece Python tabanlı projeler için kullanmak yükümlü Sfenks ilgili bir şey yok. Örneğin, benim işte, ben bir kullanım kılavuzu ve bir XML-RPC API başvuru oluşturmak için kullandım. Her iki durumda da, ben sphinx.ext.autodoc veya diğer Python-özel ekstralar için hiç kullanmadım. Belgeler çoğunlukla genel Rest direktifleri yerine, Sfenks tarafından sağlanan özel direktifleri ile "elle" yazılmıştır. Bu değer ne için, henüz olmayan Python belgeleri için özel Rest yönergesi oluşturmak için gerekli değil.

Eğer bir PHP proje ile çalışıyorsanız bile, seni Sfenks kullanışlı bulacağınızı düşünüyorum. Örneğin tarafından sağlanan yönergelerin en the module specific markup aslında oldukça genel. Ben neden yapamadım görmüyorum veya Python dışındaki dillerden şeyler belgelemek için bu yapıları kullanmak olmaz. Aynı şekilde, Sfenks oldukça kolay show code examples in other languages için yapar. (PHP içerir) destekleri Pygments herhangi bir dili varsayılan değiştirmek için bile bir yapılandırma değeri var. Eğer özellikle hırslı hissediyorum ediyorsanız, ki hatta create a Sphinx extension PHP kodu alakalı bir şeyler koparmak için.

Tüm söyledi, belgeler, proje için seyirci dikkate emin olun. Ben Sfenks mükemmel bir araç olduğunu düşünüyorum ve seyirci başka bir şey bekliyor ise, dokümantasyon projeleri geniş bir yelpazede için tavsiye ederim, bu dikkatli olun. Eğer bir Java projesi belgeleyen olsaydı Örneğin, hedef kitlenizi çok Javadoc tarzı belgeler bekliyor olabilir. Eğer bu beklenti sapma varsa, emin (aksi olsun istiyorum yani daha, size daha iyi dokümanlar verir) sadece tekmeler için değil yapmak ve (kısaca) için hazırlanacak bir ile farklı (örneğin, yaptıkların için dava haline SSS cevap veya tanıtım).

Son olarak, herhangi bir belge olursa olsun, bunları oluşturmak için kullanılan bir araçtır hiçbir belgelere daha iyidir. O orada değil, bir şey almak arasındaki fark ise, size yardımcı herhangi bir araç kullanmayın.

CakePHP yeni belgeler için Sfenks kullanıyor, ve ben sfenks için phpdomain yazdı. Otomatik sfenks içine php doc blokları eklemek için bir yol olmasa da, ben hala daha iyi dokümantasyon yazma araçlarından biri kullanılabilir düşünüyorum. Daha anlatı tarzı belgeler için harika. Ama phpdomain ile siz de api docs yapabilirsiniz.

Doktrin proje, PHP için bir ORM, www.doctrine-project.org kendi çevrimiçi belgeleri oluşturmak için Sfenks kullanır. Onlar PHP için özel bir pygment kullanın. Dokümantasyon https://github.com/doctrine/orm-documentation de Github mevcuttur. Bu özel PHP pygment css dosyası içerir.

Ayrıca python-pygments paket size sfenks conf.py yapılandırma dosyası pygments_style = değerini değiştirerek deneyebilirsiniz birçok pygment stilleri ile geliyor. Örneğin, kullanmak, python-pygments parçası olan pastie vurgulayarak sytle, denemek için

pygments_sytle = 'pastie'

Bildiğim kadarıyla bana kalırsa, sen kadarıyla AutoDoc tarafından desteklenen diller ile kendinizi sınırlamak değil gibi sadece Sfenks herhangi bir sözdizimi hakkında belge olabilir. Sen .. class, .. method, .. function ve diğer benzeri standart Sfenks direktiflerini kullanarak güzel API Başvurular oluşturabilirsiniz. Bunlar kaynak koddan mükemmel dışında çalışmak ve herhangi bir otomatik nesil gerektiren ve kaynaklarına bağlayan değildir.

Ayrıca daha sonra CSS kanca olabilir, bazı özel sınıf genel tembihleri ​​oluşturabilirsiniz:

.. admonition Title
   :class: Ololo

   This text could be formatted any way you want, using the ``Ololo`` tag.

Orijinal direktifleri size yeterli değilse rolleri (onlar da özel sınıflar izin) ve bazı özel biçimlendirme ile metin ekleyerek diğer araçlar da vardır.

Eğer kaynak koddan uyumsuz docs oluşturmak için karar verirseniz, emin olun size conf.py veya proje başlatılması üzerinde kod kapsamı ve diğer kod ile ilgili özellikleri kontrol durduruyorlar olun.

PS: Bu özel sınıflar here ile elemanlar üzerinde çok iyi bir cevap görebilirsiniz.