简单的"static" Ruby网站?



在早期开发中,我通常会构建网站的静态版本。以前我会使用php,并有类似的东西...

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用作服务器。

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文件。

最新更新