【51CTO.com快译】贵企业想要开始使用静态网站生成器的原因有很多。原因之一是您需要能够快速部署网站,不必费心编写代码。或者,您可能希望最终可以为常规静态网站部署实现该过程的自动化。
借助Hugo之类的工具,您可以使用预定义的模板来生成完整的静态网站。页面的呈现非常快,因此如果您在寻求速度,这可能是您需要的工具。关于用Hugo构建的网站,您要了解的一件事是,没有数据库后端或插件来扩展功能集。这些本质上是静态网站。
然而,借助合适的开发技巧,您可以使用这些类型的网站来增强贵公司在网上的实力,将它们用于自助服务终端、嵌入式系统,或可以受益于速度飞快的静态网站的几乎任何使用场景。
如果这听起来像是您想要尝试的事情,那么您很幸运,因为我将逐步介绍用Hugo部署您的第一个网站的步骤。
您需要什么?
Hugo可以安装在Linux和macOS上。我将使用Ubuntu Server 20.04演示该过程,因此您需要开源操作系统实例的运行中实例和拥有sudo权限的用户。
如何安装Hugo?
Hugo可以在标准Linux存储库中找到,因此只需一个命令即可安装。登录到您的Ubuntu Server实例,执行以下命令:
- sudo apt-get install hugo -y
Hugo还依赖Git,所以不妨也安装它(万一它尚未安装):
- sudo apt-get install git -y
这就是安装工作。
如何创建您的第一个网站?
您要做的第一件事是浏览Hugo主题存储库(https://themes.gohugo.io/),找到要用于您网站的主题。一旦找到喜欢的主题,务必拷贝GitHub CLI下载链接。
我们将使用hugo命令为我们的新网站生成基础(我们称之为测试),命令如下:
- hugo new site test
使用以下命令切换进入到新创建的目录:
- cd test
接下来,您需要使用以下命令为git初始化新网站:
- git init
现在我们将从存储库下载主题。使用以下命令切换进入到主题目录:
- cd thems
现在,使用以下命令下载主题:
- git submodule add URL
其中URL是您要使用的主题的URL。比如说,我将部署一个基于DPSG主题的网站,因此命令将是:
- git submodule add https://github.com/pfadfinder-konstanz/hugo-dpsg
您应该会看到该主题的新子文件夹。使用以下命令切换进入到该文件夹:
- cd FOLDER
其中FOLDER是新文件夹的名称。
使用以下命令,将所有内容拷贝到root目录中:
- cp -rf * ../../
使用以下命令,切换回到root目录:
- cd ../../
接下来,我们需要使用以下命令,把config.toml文件(来自exampleSite目录)拷贝到测试网站的root目录:
- cp exampleSite/config.toml .
现在,不妨使用以下命令启动我们的第一个Hugo网站:
- hugo server -D
现在Hugo呈现静态网站。唯一的问题是,您无法访问它,因为它只向localhost呈现网站。虽然您可以更改config.toml文件中的baseURL选项,但无济于事。相反,您需要使用以下命令启动Hugo测试网站:
- hugo server --bind=SERVER --baseURL=http://SERVER:1313
其中SERVER是托管服务器的IP地址或域名。您使用上述命令启动Hugo测试网站后,随后可以将Web浏览器指向http://SERVER:1313(其中SERVER是托管服务器的IP地址或域名),即可看到您新网站的主题。
如何修改主题?
真正出色的地方在这里。让网站保持运行,用另一个终端窗口登录到您的Hugo服务器。切换进入到测试文件夹,使用以下命令打开config.toml文件以编辑:
- nano config.toml
在该文件中进行编辑,比如将下面这一行:
- title = "Hugo DPSG"
改成:
- title = "TechRepublic Test Site"
一旦您保存并关闭文件,Hugo服务器就会检测到变化,并自动重建网站。如果您在Web浏览器中刷新页面,会看到变化。您可以仔细查找config.toml文件,对它加以定制,以完全符合自己的要求。
如果完成了测试,可在运行hugo server命令的终端停止Hugo服务器,只需按Ctrl+c快捷键。
这就是用Hugo部署您的第一个静态网站的全部内容。现在您可以开始部署静态网站或将Hugo添加到网站开发周期中,为自动部署速度飞快的静态网站打造一个系统。
原文标题:How to quickly deploy a static website with Hugo,作者:Jack Wallen
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】