首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >静态网站生成

静态网站生成
EN

Stack Overflow用户
提问于 2011-08-20 19:34:39
回答 6查看 5.3K关注 0票数 16

我需要一种简单的方法来生成静态网页,这样我就可以用Apache或Nginx为它们提供服务。目前我正在使用SproutCore的构建工具(Abbot)来生成静态页面,但这有点麻烦,因为它是为构建SproutCore应用程序而设计的,而不是非SproutCore HTML页面。

以下是我的要求:

必须组合和缩小

  • Javascript
  • CSS文件必须组合
  • 每个图像/ CSS / Javascript资产必须具有唯一的URL以实现更好的缓存(仅查询字符串是不够的)只有当
  • 资产URL真正支持HTML、CSS、Javascript和图像文件时才应该不同
  • 具有布局、分部等的良好模板引擎

以下是我找到的可能的解决方案:

使用Ruby on Rails创建站点,然后使用wget获取所有资源,就像http://usefulfor.com/ruby/2009/03/23/use-rails-to-create-a-static-site-rake-and-subversion/

  • Use中间人:

对此有什么想法吗?

经过较长的评估过程后,我决定使用中间人。它做到了这一点,我喜欢它的简单性和我可以使用现有的Rack组件的事实。

诚挚的问候,

Pekka Mattila

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-08-21 13:55:36

我是中间人的创建者,希望能帮助你更好地使用中间人。我的主要目标是为用户提供Rails的强大功能,但专注于静态开发。中间人的一些实际代码是Ab的简化版本

票数 17
EN

Stack Overflow用户

发布于 2011-08-21 23:07:58

下面是我要做的:

  • Ruby on Rails 3与High Voltage Gem一起使用,这使得使用公共模板提供静态页面主体变得很容易。它需要在路由中输入一个简单的条目(并且您可以使用名称空间来创建层次结构)。
  • Apache反向代理到独立乘客(我相信它使用nginx )来运行Rails应用程序。This article描述了如何对其进行配置。

独立乘客将读取URL,查看/public中是否有包含.html的相应文件,并提供该文件。如果没有找到,它将调用Rails并生成页面。本质上就是页面缓存,可以选择使用或不使用.html发布URL。在乘客文档中有一节专门关于页面缓存。

就组合和缩小js和css而言,here's a good stackoverflow thread

Rails具有出色的i18n/l10n支持。

Rails模板引擎非常易于使用。如果您愿意,也可以使用HAML。

对于你的第三和第四点,我有点困惑。您希望将css和js组合在一起,但又希望每个js都有自己的URL。在Rails中,资产标记上的"cache => true“指令负责添加一个查询字符串参数,该参数会在内容发生变化时发生变化,这是一个相当传统的方案。我不确定你是在什么环境下工作的,在什么情况下这是不可行的。我使用过的任何CDN都可以很好地使用它,就像正确实现HTTP规范的web服务器一样。无论如何,更改URL中的实际路径或文件都需要更改对它的所有引用。也许我误会了?

票数 1
EN

Stack Overflow用户

发布于 2012-02-14 04:43:00

我想Monkeyman有你需要的模板引擎。把它想象成中间人的Scala小弟弟。目前还没有成熟或丰富的功能,但我们最终会做到的。当前版本支持HAML、Jade、用于布局的SSP、用于内容的Markdown以及其他一些东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7131503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档