2016-11-21 56 views
1

我想知道如何從Rakefile訪問Nanoc變量(例如@items,@config等)。從Rakefile訪問Nanoc變量

我有一個叫nanoc.yaml文件中有這樣的數據:

products: 
    ce: 
    name: 'Community Edition' 
    ee: 
    name: 'Enterprise Edition' 

我希望能夠訪問這個在Rake文件,所以我有一個「單一來源」,可以可以從Nanoc網站內部進行訪問,以及Rakefile可以下載一些文檔。在Nanoc網站中,例如您可以使用@config[:products]訪問它們,但不能在Rakefile中訪問。

我需要include來自Nanoc的Rakefile文件嗎?

回答

1

注意:此答案處理私人API!

您可以使用SiteLoader創建一個網站:

site = Nanoc::Int::SiteLoader.new.new_from_cwd 

該網站有一個配置:

site.config[:products][:ce][:name] 
# => Community Edition 

再次,這是一個私人API的一部分(暫且,至少),所以上面的代碼可能會在未來的版本中崩潰。

+0

謝謝:)爲避免使用私有API,我可能會使用一個替代答案,即使用YAML解析器來獲取配置信息。 –