我想在我們的Rails應用程序中包含有關Rake任務的信息。我們使用YARD作爲文檔,目前像lib/tasks/development.rake
這樣的頁面默認顯示爲未格式化的文本。如何使用YARD記錄Rake任務?
我可以使用# @markup ruby
from 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 rake
或find doc | grep basename_of_rake_file
不會顯示任何內容。
這只是一個讓Yard將'* .rake'文件識別爲ruby的問題嗎? – ipd
自從問起我恐怕我沒有看過這麼多,但我想本質上是這樣,是的。然而,實際上用'#@markup ruby'指令來指定他們是Ruby是行不通的,因爲它只會呈現Ruby,即它不再處理文檔註釋 – Leo
@Leo,是否在命令行幫助中指定了rake擴展名? _yardoc * .rake -o out/_? – benjamin