在早期开发中,我通常会构建网站的静态版本。以前我会使用php,并有类似的东西...
images
javascripts
stylesheets
templates
-- header.php
-- footer.php
index.php
users.php
和index.php
和users.php
将具有一些基本的PHP,包括这些标头和页脚文件的代码。
我还获得了能够使用一些PHP功能的额外好处。
但是我几乎没有使用PHP,几乎只使用Ruby ...所以我想知道,有没有一种方法可以在Ruby中取出真正基本的东西?
主要寻找可以让我的东西:
- 做基本文件包括(我可以创建简单的模板)
- 在文件中运行Ruby
理想情况下,我也可以使用livereload。
其他详细信息:我正在本地在OS X上运行此操作,我通常将POW用作服务器。
Peter推荐Sinatra是正确的。通常有两种类型的Sinatra应用。模块化和古典。就您的示例而言,我将创建一个经典的应用程序。如果您发现该样式更适合您的需求,将其转换为模块化并不多。
您将需要使用gem install sinatra
安装GEM。为您的项目创建一个新目录和两个新文件,如下:
# app.rb
require 'sinatra'
get '/' do
erb :index
end
# config.ru
require './app'
run Sinatra::Application
创建另一个名为"视图"的目录并添加此文件:
# index.erb
Hello World!
然后键入Ruby App.RB和Viola,您现在在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的部分。
我不太熟悉livereload,但似乎指南针完成了同样的事情,并且与辛纳屈(Sinatra)具有很好的整合。只要POW是基于机架的,您就应该没有问题。
这是我用于所有项目的Sinatra Bootstrap。它具有指南针和Sinatra的部分预配置,使与Heroku一起部署起来真的很容易。它还使用Slim,Coffeescript,Thin(作为服务器),Twitter引导程序和Sass,但是与您各自的收藏夹一起使用或将它们全部删除不应太多。
我给我的女友一个带有她的域名的网站,我选择了Jekyll的工作,该工作是为此目的使用RubyGems的。
这很容易有趣。此外,您有很多可用的主题,您可以通过更改的.yml文件进行配置,可用于孔网站。尽管Linux或Mac OS是由Jekyll官方网站建议的,但我在Windows中做到了这一点,这并不是什么问题。他们的步骤定义为在其网站上的Windows上工作。
http://jekyllrb.com/
最好的部分是我只能通过GIT集线器页面托管该网站。我不必买任何东西。Git Hub允许您托管一个存储库。(Funfact:Jekyll由GitHub Inventor开发)
那是我使用的,并在20个小时内制作了该网站,而没有Ruby和Jekyll的事先了解。所以我建议您检查一下!
也许杰基尔(Jekyll)适合账单?
其描述:
Jekyll是一个简单的博客意识到的静态站点生成器。需要一个 模板目录(代表网站的原始形式),运行它 通过纺织品或降价和液体转换器,并吐出 完整的静态网站,适用于Apache或您的 喜欢的Web服务器。这也是Github页面背后的引擎, 您可以在此处托管项目页面或博客 github
是的,我为此使用sinatra,请参阅https://github.com/sinatra/sinatra/一些样本。在文件中运行红宝石不是很静态,但是在Sinatra中,您可以同时做。
jekyll不会让您在"内部"文件中运行Ruby Code。杰基尔(Jekyll)是一种捆绑为红宝石宝石的解析引擎。您基本上是使用HTML和Liquid编码模板,并使用Markdown编写内容,这些Markdown会产生可以上传到任何Web服务器的普通HTML文件。