许多网站页面是动态的。这意味着一个页面的内容可以在不同的时段发生变化,这取决于谁在加载它,他们是否登录或退出,以及其他一些因素。
如果你的网站不这样做,那么你处理的就是静态页面。
静态网站没有任何动态内容。在很多情况下,这可以转化为更快的加载时间和更好的整体网站性能。了解动态网站和页面的优点和缺点将有助于你决定何时使用它们是有意义的。
本文将介绍什么是静态网站生成器,以及何时应该使用它们。我们还将讨论静态网站的优点和缺点,并向你介绍五个你今天可以使用的顶级生成器。
什么是静态网站生成器?
从技术上讲,你不需要使用 “生成器” 或任何内容管理系统(CMS)来创建一个静态页面。如果你对HTML和CSS有所了解,你可以使用你最喜欢的文本编辑器创建一个页面,而不需要太多麻烦:
一个文本编辑器中的HTML文档
另外,你可以依靠像Bootstrap这样的网络框架来访问先进的HTML、CSS和JavaScript库,你可以用它来创建静态和动态网站:
Bootstrap主页
静态网站生成器提供了第三个更精简的选择。它们通常包括各种工具,使之能够轻松地启动一个网站,为其设计风格,创建内容,发布它,并根据需要更新页面。
如果你不熟悉网站开发,那么你可能需要像静态网站生成器这样的工具来帮助实现你的愿景。
总的来说,大多数流行的生成器提供了广泛的功能,使你的工作更容易,包括:
- 支持Markdown语言:大多数生成器不包括完整的文本编辑器。相反,它们使用Markdown语言,有时甚至包括额外的自定义Markdown语法。
- 内置的布局和模板选项:设计和样式化一个网站往往是最具挑战性的建设过程。这就是为什么生成器往往包括内置的模板和布局选项。
- 支持多种类型的内容:根据你使用的生成器,它应该支持各种类型的内容,如博客文章、页面、画廊等。
- 内置SEO功能:没有适当的搜索引擎优化(SEO),任何现代网站都是不完善的。如果你正在考虑–或已经在使用–一个不提供SEO功能或附加功能的生成器,你最好转到一个新的工具。
值得注意的是,大多数静态网站生成器假定你已经有一个基本的网站开发背景。一些选项对初学者相对友好,但它们仍然要求你熟悉一些概念,如命令行、Markdown语言等等。
为什么使用静态网站生成器(优点和缺点)?
你可能会想,既然有WordPress这样的工具,为什么还有人要使用复杂的静态网站生成器呢?
这一切都归结为逐案使用、个人偏好和性能。
在绝大多数情况下,静态网站的加载速度会比动态网站快得多。这是因为你的服务器要处理的请求要少得多,而且不涉及数据库。每个访问者都会看到相同的页面,而所有的数据都是在你的静态网站生成器的代码中烘烤出来的。
一些开发者也更喜欢与静态网站生成器打交道,而不是与包含太多功能的复杂CMS打交道。网站生成器往往是精简的,而且在某些情况下,它们是高度模块化的。这意味着需要处理的臃肿问题较少,需要掌握的功能也较少,尤其是当你只对创建特定页面感兴趣时。
静态网站与动态网站
当然,不是所有的网站都应该是静态的。那么,你怎么知道什么时候这才是符合你需求的正确方法呢?
下面是一些不一定需要动态的网站的例子:
虽然静态网站的想法可能听起来很有局限性,但在不引入任何动态元素的情况下,你可以做很多事情。
然而,任何需要数据库的网站都是不可能的。这意味着你不能使用静态网站生成器来创建在线商店、带有评论区的博客文章、带有用户注册的网站等等。
如果你不需要动态功能,使用静态网站生成器将使你的网站性能远远好于大多数CMS的开箱即用。
我们说 “开箱即用 “是因为你可以做很多事情来优化像WordPress这样的CMS。根据我们的经验,一个优化良好的WordPress网站可以和一个静态的网站一样快(前提是你也有很棒的主机)。
如果你仅仅是因为性能问题而选择使用静态网站生成器,那么考虑一些CMS选项可能是值得你去做的。
另一方面,如果你确信你的网站不需要动态功能,剩下的就是找到合适的工具。
5个最好的静态网站生成器
在我们讨论具体的静态网站生成器之前,值得一提的是,所有这些工具都是自我托管的。要使用它们,你需要找到一个可以为你设置它们或让你访问命令行的主机供应商。
考虑到这一点,让我们来看看我们对2023年静态网站生成器的一些首选。
1. Jekyll
Jekyll主页
Jekyll是最受欢迎的开源静态网站生成器之一–这是有原因的。它是支持GitHub Pages的软件,为静态网站提供免费托管。
在其核心,Jekyll是一个对博客友好的生成器。这个静态软件支持Markdown,有一个全面的分类系统,并支持Liquid模板语言。
一些使用Jekyll的最受欢迎的网站包括Ruby on Rails、Sketch和Spotify for Developers。
如果你想推出一个免费的静态网站,Jekyll和Github Pages可能是你的一个奇妙组合。
2. Hugo
Hugo主页
Hugo是一个开源的静态网站生成器,它自称是一个 “通用 “的框架。这是一种优雅的说法,即你可以使用Hugo来建立广泛的网站,远远超出了简单的博客和宣传册页面。
使用Hugo,你可以以极快的速度生成网页,构建时间通常在一秒钟以内。该软件使你能够在使用LiveReload时预览你的页面的变化,并提供强大的主题设计功能。
Hugo使用一个模块化系统来帮助你建立静态网站。你有几个模块可以选择,包括内容、布局和数据。
一些使用Hugo的流行网站包括1Password的文档页面、Linode的文档部分和KeyCDN。
使用Hugo,你可以在任何页面上组合多个模块,以获得你需要的确切功能。
3. Gridsome
Gridsome静态网站生成器
Gridsome是一个强大的静态网站生成器。你可以用它来创建诸如Vue.js和GraphQL等现代工具的页面。
你也可以用Gridsome来为CMS建立一个 “头”。例如,您可以使用国双使用从WordPress中提取的数据来生成静态页面,这是一种 “无头” CMS设置。
无头设置的好处是,你可以得到使用静态页面的所有优点,同时也可以利用CMS的全部功能。换句话说,你可以访问数据库、高级分类法,甚至是全面的文本编辑器。
还值得注意的是,Gridsome提供了一个广泛的插件集合,你可以用它来扩展生成器的功能。如果该框架没有提供开箱即用的功能,那么很可能就会有相应的插件。
Gridsome仍然是一个比较新的静态网站生成器。然而,已经使用该软件的网站的两个很好的例子是亚特兰大智能城市博览会和Format。
正如你可能想象的那样,Gridsome并不像本列表中的其他工具那样对初学者友好。你需要一些网络开发经验,才能最大限度地利用这个软件。
如果你已经对Vue.js有所了解,Gridsome是你可以使用的最好的静态网站生成器之一。
4. Eleventy
Eleventy静态网站生成器
Eleventy是静态网站生成器领域的一个相对新成员。这个特殊的软件依赖于JavaScript和Node.js。这意味着你需要对JavaScript语言有一定程度的熟悉才能有效使用它。
如果你能熟练使用JavaScript,Eleventy会给你带来一些静态网站生成器中最好的性能。
这个工具支持多种模板语言,但在其核心部分,Eleventy依赖于Liquid,这使得它在这方面类似于Jekyll。除了Liquid,Eleventy还可以为你的静态页面解析其他几种语言,包括Markdown和JavaScript。
更重要的是,随着Chrome Developers和Netlify等网站使用Eleventy,它已经越来越受欢迎了。
根据我们的经验,开始使用Eleventy可能有点困难,因为它的文档还在编写中。然而,如果你正在寻找一个精简的静态网站生成器,这些努力是非常值得的。
5. Pelican
Pelican静态网站生成器
Pelican是一个鲜为人知的静态网站生成器,它的核心是Python。如果你熟悉Python,你可以使用该软件使用Markdown和reStructuredText来创建静态网页。
这个软件带有一套你可以定制的主题,它包括多语言支持。此外,Pelican使你能够从WordPress、RSS订阅和其他几个第三方来源导入数据,使它成为无头设置的一个很好的选择。
Pelican提供了一套强大的插件,你可以通过设置来扩展生成器的功能。总的来说,它是我们名单上最精简的静态网站生成器之一,但如果你已经知道或想学习Python,它是一个了不起的选择。
选择静态网站生成器时需要考虑的问题
你对静态网站生成器的选择将主要归结于三个因素。让我们来分析一下它们是什么:
- 生成器使用哪种语言:一些静态网站生成器在很大程度上依赖于JavaScript和其他库。根据你使用的生成器,你可能需要对其编程语言有一些熟悉。
- 易用性:如果你是一个有经验的网络开发人员,你应该能够相对容易地掌握任何静态网站生成器。然而,如果你正在做你的第一个项目,你会想选择一个初学者友好的生成器。
- 它支持的内容类型:大多数流行的静态网站生成器将使你能够创建所有类型的页面。然而,其他的则专注于特定类型的内容,如博客文章。
- 现有的软件社区:总的来说,我们建议你使用具有完善的用户社区的工具。这样,你会更容易排除故障和得到问题的答案。
我们在这里看到的大多数静态网站生成器都要求你至少在某种程度上熟悉网页开发的基本原理。如果这听起来太多,你可能最好选择一个用户友好的CMS,如WordPress。
一个有管理的WordPress网站可以和一个静态网站一样快。此外,CMS是直接使用的(即使你是在做你的第一个项目)。
小结
很多人认为静态网站是旧互联网的残留物。然而,静态页面对任何网站来说都是一个福音,因为它们通常比它们的动态对应物提供更好的性能。根据你选择的生成器,你甚至可以用静态页面输出建立一个无头的WordPress网站。
如果你正在考虑使用一个静态网站生成器,这是我们的五大推荐:
- Jekyll:一个对博客友好的静态网站生成器,你可以和Github Pages一起使用。
- Hugo: 一个基于模块的静态网站生成器,具有极快的性能。
- Gridsome:这个可扩展的生成器使用Vue.js来帮助你创建静态页面。
- Eleventy: 如果你是一个JavaScript和Node.js的粉丝,这个生成器是完美的。
- Pelican: 一个精简的、基于Python的静态网站生成器。
你是否在考虑为你的下一个网络项目尝试使用静态网站生成器?请在下面的评论区告诉我们吧
评论留言