Hyde 是一个流行的站点生成器,提供了功能强大的基于 Django 的模板和元数据管理。Hyde 是在 Python 中实现的,但并不要求一定要掌握 Python 知识。在本文中,我们将学习如何使用 Hyde 加快静态站点的开发。
在 Web 开发早期,大多数网页只是某个服务器上文件系统中的一个页面。随着 Web 的日益成熟,借助动态站点、电子商务、大规模发布和 Web 上的应用程序,从使用简单文件转换到使用复杂的 Web 内容管理系统 (CMS) 和发布工具也变得越来越普遍。每天都有数以千计的站点在以下平台上运行:
IBM®
WebSphere® 其他 Java®框架或 .NET 其他流行的可供替换的 Web 发布框架,比如 Ruby on Rails 和 Django 面向社区的 CMS,比如 WordPress
除了最简单的站点以外,其他任何站点似乎都需要一个配备了现代设施和工作流的 CMS。
但是,许多 Web 老手(比如我)依然记得过去简单站点的一些优势。首先,提供静态文件需要的服务器功率较少。另一个问题是备份和内容可移植性。在选择 CMS 或 Web 发布框架时,可能需要依赖于它们呈现给您的内容。将内容绑定到数据库表中,这样就无法轻易接触或拿出一个文件来共享。迁移到不同的基础架构可能是一项艰巨的任务,必须依靠特殊工具才能实现备份和恢复。
导致这些问题的根本原因就是透明性。Web 发布框架和 CMS 通常都不是透明的,这意味着要了解它们是如何存储、管理和提供内容的,就需要掌握大量的专业知识。从某种程度上讲,对于所有站点(即使是最简单的网站),这项要求都是不可避免的,近期新兴的项目提供了一些优势的框架,而且不会丢失在服务器上处理和发布简单文件的核心元素。较为流行的一个框架是 Jekyll。一些开发人员以 Jekyll 核心理念为基础,使用一组在开源 Hyde 项目上创建的构造块进行构建。Hyde 也是我使用的 Web 发布系统。Hyde 虽然很简单,但提供了许多功能,它将大多数业务限制为处理简单文件,以便生成一个静态站点,这带来了高效性和灵活性。
Hyde 入门
Hyde 是使用 Python 编写的一个系统,它支持您在 Web 开发机的文件系统上管理目录中的内容和模板。您可以使用常规文本编辑器和命令行工具创建或更新内容,也可以使用 IDE(如果您喜欢的话)。如果您想看看站点的外观,那么可以使用 Hyde 生成站点,并使用测试 Web 服务器在本地运行。如果您对测试模式下的站点比较满意,可以将静态生成的文件导入适用于 Apache、Lighttpd、Nginx 或任何快速提供文件服务的 Web 服务器的生产 Web 服务器。
安装和设置
如果您在 Mac 或 Linux 系统上进行 Web 开发,那么可以获得的主要工具就是 Python。Python 很容易安装在 Microsoft®Windows®以及其他大多数平台上。要将 Hyde 安装在您的 Python 库中,请调用 sudo easy_install hyde或 pip install hyde,具体根据您的设置而定。安装成功后,就可以使用 hyde命令了。首先,在一个带有文件框架的目录下设置 Hyde,对于典型网站,可以使用以下命令:
hyde -s $PATH_TO_DIRECTORY create
使用您想用来保存内容和模板文件的目录替换 $PATH_TO_DIRECTORY。
上述命令使用了一个默认站点布局,但 Hyde 允许您选择其他站点布局。如果想对您的站点使用一些著名的工具包或设置,这个选项非常有用,例如,在使用 Twitter Bootstrap 框架的时候,或者在您知道目标站点是一个博客的时候。
如果使用默认布局切换到最近创建的站点目录,那么应该看到下列子目录:
README.markdown content info.yaml layout site.yaml
每个条目都提供了 Hyde 的一个不同侧面。