2016-03-30 6 views
0

Projelerimden biri için Sphinx Doc kullanarak dokümantasyon oluşturuyorum ve örneğin, IP adresi, bağlantı noktası numaraları ve zaman içinde değişebilen diğer pek çok şey gibi pek çok kez tüm dokümanlardaki birçok kelimeyi kullanıyorum. Herhangi bir nedenden dolayı, bir tanesi değiştirilecek olursa, her dosyada elle değil, tek bir yerde basitçe değiştirmek istiyorum. Aradığım şey, tüm .stst dosyalarından kolayca erişilebilen bir çeşit kaynak dosyası/değişken oluşturmanın basit bir yoludur. Sfenks dokümantasyon değişkenleri

Ben this biri bulundu: Neredeyse mükemmel

my_config_value = 'test' 
rst_epilog = '.. |my_conf_val| replace:: %s' % my_config_value 

ama çok değişkene sahip olmak istiyorum. Yukarıdaki yöntemi kullanarak, yalnızca bir tane kullanabiliyorum - bu yeterli değil.

Ayrıca sphinx.ext.extlinks kullanarak yöntemi bulduk. Çalışıyor, ama tam istediğim şekilde değil. Bazı .rst içinde, daha sonra

extlinks = {'test': ('bla_bla_bla', None)} 

Ve: Ben benim conf.py bu kullanıyorum

:test:`1` 

bla_bla_bla1

İlk sonuçla, bu hiçbir yerde köprü olmaktır. Çalışmazsa çünkü İkincisi, ben, sadece :test: bile

:test:` ` 

veya yazamıyor.

Ve sorum şu sorularım var: tüm dokümanlar için kullanılabilecek değişkenler oluşturmak için herhangi bir basit yol var mı?

+0

"rst_epilog" ifadesinde birden fazla alternatif kullanabilirsiniz. Örnek: http://stackoverflow.com/a/26258989/407651 – mzjn

+0

Evet, aradığım şey bu, ama bulamadım. Yardım ettiğin için teşekkür ederim! –

cevap

5

mzjn Sayısından, sorumu yanıtladım. Birisi gelecekte arayacaksa, aşağıda cevap bıraktım. Sadece kullanmak benim .rst içinde

address = '192.168.1.1' 
port = 'port 3333' 

rst_prolog = """ 
.. |address| replace:: {0} 
.. |port| replace:: {1} 
""".format(
address, 
port 
) 

Ve sonra:

|address| - |port| 

sonucu 192.168.1.1 - port 3333 ile benim conf.py yılında

Bunu ekledi. Bu tam ihtiyacım olan şey. Çok teşekkürler mzjn.