2012-10-18 40 views
0

對於早期開發,我通常建立一個網站的靜態版本。以前我會使用PHP和有類似...簡單的「靜態」Ruby網站?

images 
javascripts 
stylesheets 
templates 
-- header.php 
-- footer.php 
index.php 
users.php 

而且index.phpusers.php將有一些基本的PHP包括那些頁眉和頁腳文件中的代碼。

我還能夠使用一些PHP函數的附加好處。

但我沒有使用過PHP的年齡和幾乎完全使用Ruby ......所以我想知道,有沒有辦法在Ruby中取得像這樣的基本東西?

主要尋找的東西,讓我:

  1. 執行基本的文件包括(這樣我就可以創建簡單的模板)
  2. 運行Ruby文件

理想我也可以使用內LiveReload與它。

其他詳細信息:我在OS X本地運行此,我通常使用Pow作爲服務器。

回答

1

彼得是正確的推薦西納特拉。通常有兩種類型的Sinatra應用程序。模塊化和經典。例如,我將創建一個經典應用程序。如果您發現該款式更適合您的需求,將其轉換爲模塊並不算什麼。

你會想要安裝與gem install sinatra寶石。爲您的項目,兩個新文件創建一個新的目錄,如下所示:

# app.rb 
require 'sinatra' 

get '/' do 
    erb :index 
end 

# config.ru 
require './app' 
run Sinatra::Application 

創建另一個目錄名爲意見,並添加此文件:

# index.erb 
Hello World! 

然後鍵入紅寶石app.rb和中提琴,你現在有一個localhost:4567/的工作項目。 要提供像css和js這樣的靜態文件,只需創建一個公共目錄即可。從那裏,任何文件將能夠在根網址後訪問。所以如果你創建了一個css文件夾,它的URL將是:yourdomain.com/css/styles.css

所以整個目錄將作爲folllows:

app/ 
    app.rb 
    config.ru 
    public/ 
    css/ 
    js/ 
    images/ 
    views/ 
    index.erb 

Sinatra Bookread me之間,你應該能找到你需要的所有信息。

要完成模板,你需要一種叫做Sinatra Partial

我不是太熟悉LiveReload但似乎Compass完成同樣的事情,並與辛納屈大整合。只要pow是基於機架的,使用它應該沒有問題。

這裏是一個Sinatra Bootstrap我用我的所有項目。它具有Compass和Sinatra Partial預配置,並且使用Heroku進行部署非常簡單。它也使用Slim,Coffeescript,Thin(作爲服務器),Twitter Bootstrap和Sass,但不應該用太多的工作來分割你的各自的收藏夾或一起刪除它們。

0

也許Jekyll將符合法案?

它的描述:

傑基爾是一個簡單的,博客知道,靜態網站生成器。它需要一個 模板目錄(代表網站的原始形式),通過Textile或Markdown和Liquid轉換器運行它 ,並吐出一個完整的靜態網站,適用於Apache或您最喜愛的Web服務器。這也是背後的GitHub頁面, 您可以使用託管項目的網頁或 這裏博客的GitHub

0

是,我使用西納特拉對於這一點,看到https://github.com/sinatra/sinatra/一些樣品發動機。 在文件內部運行ruby並不是很靜態,但在Sinatra中你可以同時執行這兩個操作。

0

Jekyll不會讓你在文件內部運行Ruby代碼。 Jekyll是一個解析引擎,捆綁成一顆紅寶石。您基本上使用HTML和Liquid編寫模板,並使用markdown編寫內容,並使用markdown生成可以上傳到任何Web服務器的純HTML文件。

1

我優我的女朋友一個網站,她的域名,我選擇了傑基爾爲它使用了RubyGems爲目的的工作。

這是很容易和樂趣。此外,您有很多可用的主題,您可以使用.YML文件進行配置,只需更改即可用於漏洞網站。雖然Linux或Mac OS是由官方Jekyll網站建議的,但我在Windows中做了這個並不是什麼問題。他們有在其網站上爲窗口工作的步驟。

http://jekyllrb.com/ 

最好的部分是,我可以通過git hub頁面託管網站。我沒有買任何東西。 Git集線器允許您託管一個回購。 (funFact:傑奇被github上發明者開發)

這就是我所用,並與Ruby和傑奇的先驗知識提出了20小時的網站之一。 所以我會建議你看看!