对于早期开发,我通常会构建一个静态版本的站点。以前我使用PHP并且有类似......
images
javascripts
stylesheets
templates
-- header.php
-- footer.php
index.php
users.php
index.php
和users.php
会为这些页眉和页脚文件提供一些基本的PHP包含代码。
我还可以使用一些PHP函数。
但是我已经没有使用PHP来做任何事情并且几乎完全使用Ruby ...所以我想知道,有没有办法在Ruby中实现像这样基本的东西?
主要寻找允许我的东西:
理想情况下,我也可以使用LiveReload。
其他详细信息:我在OS X上本地运行此操作,我通常使用Pow作为服务器。
答案 0 :(得分:1)
彼得推荐Sinatra是正确的。通常有两种类型的Sinatra应用程序。模块化和经典。对于您的示例,我将创建一个经典的应用程序。如果您发现风格更符合您的需求,那么将其转换为模块化并不是很多工作。
您需要使用gem install sinatra
安装gem。为项目创建一个新目录,并创建两个新文件,如下所示:
# app.rb
require 'sinatra'
get '/' do
erb :index
end
# config.ru
require './app'
run Sinatra::Application
创建另一个名为views的目录并添加此文件:
# index.erb
Hello World!
然后键入ruby app.rb和viola,您现在在localhost:4567/
上有一个工作项目。
要提供像css和js这样的静态文件,只需创建一个公共目录即可。从那里,任何文件都可以在根URL之后访问。因此,如果您创建了一个css文件夹,其各自的URL将为:yourdomain.com/css/styles.css
。
所以整个目录都是如下:
app/
app.rb
config.ru
public/
css/
js/
images/
views/
index.erb
在Sinatra Book和read me之间,您应该能够找到所需的所有信息。
要完成模板,您需要一个名为Sinatra Partial的内容。
我不太熟悉LiveReload,但似乎Compass完成了同样的事情并且与Sinatra有很好的整合。只要pow是基于机架的,你应该没有问题使用它。
这是我用于所有项目的Sinatra Bootstrap。它有Compass和Sinatra Partial预配置,使用Heroku轻松部署。它还使用了Slim,Coffeescript,Thin(作为服务器),Twitter Bootstrap和Sass,但使用您的各自的收藏夹或将它们全部删除它们不应该太多工作。
答案 1 :(得分:1)
我向我的女朋友赠送了一个带有域名的网站,我选择了Jekyll来完成使用RubyGems的工作。
这很简单有趣。此外,你有很多可用的主题配置.YML文件只是改变那里将适用于孔站点。虽然Linux或Mac OS是官方Jekyll网站建议的,但我在Windows中做了这个并不是什么大问题。他们为在其网站上的窗口工作定义了步骤。
http://jekyllrb.com/
最好的部分是我只能通过git hub页面托管网站。我没有必要买任何东西。 Git hub允许您托管一个回购。 (funFact:Jekyll由github发明人开发)
这是我使用的那个,并且在20个小时内完成了网站,而不知道Ruby和Jekyll。 所以我建议你看看吧!
答案 2 :(得分:0)
也许Jekyll符合条款?
其描述:
Jekyll是一个简单的,可识别博客的静态网站生成器。需要一个 模板目录(代表网站的原始形式),运行它 通过纺织或降价和液体转换器,并吐出一个 完整,静态的网站适合Apache或您的服务 最爱的网络服务器这也是GitHub Pages背后的引擎, 您可以使用它来托管项目的页面或博客 GitHub的
答案 3 :(得分:0)
是的,我使用Sinatra,有些样本请参见https://github.com/sinatra/sinatra/。 在文件中运行ruby不是非常静态,但在Sinatra中你可以做到这两点。
答案 4 :(得分:0)
Jekyll不会让你在文件里面运行Ruby代码。 Jekyll是一个解析引擎,捆绑为红宝石。您基本上使用HTML和Liquid编写代码模板,并使用markdown编写内容,这些内容将被嵌入生成可以上传到任何Web服务器的纯HTML文件。