2015-04-22 77 views
30

我想在我們的Rails應用程序中包含有關Rake任務的信息。我們使用YARD作爲文檔,目前像lib/tasks/development.rake這樣的頁面默認顯示爲未格式化的文本。如何使用YARD記錄Rake任務?

我可以使用# @markup rubyfrom the YARD documentation將它們渲染爲Ruby源代碼。

但是,這只是呈現任何評論內聯,即使他們包括YARD指令,如# @!method foo。這意味着the YARD documentation on tagging DSLs似乎不適用。

我錯過了什麼嗎?

如何讓YARD識別.rake文件中的代碼與文檔?

注:我會很高興看到一個忽略實際代碼並生成文檔副本的解決方案,但文檔副本的源文件必須是.rake文件本身 - 我不希望文檔存在於單獨的.markdown文件中(或其他),因爲它失去同步的可能性太大。

更多信息 - 該yard命令:

我使用包含以下內容的.yardopts文件:

--asset graphs 'app/**/*.rb' 'lib/**/*.rb' - README info/* 

要獲得YARD讀Rake任務,我可以後添加'lib/tasks/*.rake'連字符(即將Rake文件添加到YARD'文件'列表中),但如上所述,這不會正確處理它們。

按照本雅明的建議之下,我試過之前添加'lib/tasks/*.rake'連字符(即耙文件添加到普通的Ruby文件的列表要處理),但這似乎並沒有在所有產生任何東西。

有可能YARD生成的東西,但不是在預期的位置/與預期的文件名,我想,我不太熟悉YARD如何工作,以確定是否有孤立輸出的地方。 YARD生成的搜索肯定沒有任何適合的內容,並且簡單的find doc | grep rakefind doc | grep basename_of_rake_file不會顯示任何內容。

+0

這只是一個讓Yard將'* .rake'文件識別爲ruby的問題嗎? – ipd

+0

自從問起我恐怕我沒有看過這麼多,但我想本質上是這樣,是的。然而,實際上用'#@markup ruby​​'指令來指定他們是Ruby是行不通的,因爲它只會呈現Ruby,即它不再處理文檔註釋 – Leo

+0

@Leo,是否在命令行幫助中指定了rake擴展名? _yardoc * .rake -o out/_? – benjamin

回答

1

YARD文檔:

入門下入門指南與YARD部分使用YARD生成文檔,檢查出文檔化附加文件添加元數據來附加文件。它可能有幫助。