来为我们完成这项工作。我们还将把这个脚本集成到构建过程中,并且由于 StepZen API 是在构建运行之前生成的,这意味着我们将在每次构建时从最新版本的 API 中提取内容。 首先,我们需要安装一个名为slugify的 npm 库,它可以帮助我们将帖子标题转换为 slug,我们可以使用它来生成 Markdown 文件名。 npm install slugify 请注意,我们将使用 将这一切连接到构建netlify dev,它会自动注入我们在 Netlify 仪表板中创建的环境变量。但是,如果您想直接运行此脚本,在 的范围之外netlify dev,您需要一个像dotenv.env这样的库和一个值为 的本地文件STEPZEN_API_KEY才能使其工作。 在我们编写脚本之前还有最后一步——您需要一个文件夹用于存放生成的 Markdown 文件。
由于这些文件将在每次构建时生成,,但我们需要.gitignore在目录中创建 丹麦电报号码数据库 一个包含以下内容的简单文件以便空文件夹仍将提交到您的 git 存储库中。 # Ignore everything in this directory * # Except this file !.gitignore 接下来,我们需要pullContent.js在站点根目录中创建一个名为的文件。这将是提取内容并写入文件的脚本。让我们来看看它正在做什么。 它设置了一个 GraphQL 查询,该查询将发送到我们的 StepZen GraphQL API 以获取所有帖子和类别。 它设置了一个简单的模板文字,用于根据 API 提供的数据生成 Markdown 文件。 它设置了options将通过 发送https到 API 的,包括我们在 Netlify 仪表板中设置的 StepZen API 密钥环境变量,它将由 自动注入。
请注意,您需要将 的值替换为您的帐户名(即biggs) 我们调用 GraphQL API,循环遍历结果并使用每个结果的模板文字生成页面。内容写入/content/blog/我们创建的文件夹中的文件; 该过程的最后一步是更新我们的构建脚本,以便每次我们在本地测试网站以及每次 Netlify 构建网站时都会运行该脚本。让我们打开package.json网站根目录中的文件并添加以下脚本: 使用我们的新构建命令而不是 Hugo 默认命令,请netlify.toml在站点的根目录中创建一个包含以下内容的文件: [dev] command = "npm run dev" 我们还需要将本地站点链接到 Netlify 上部署的站点,以便它在本地提取我们的环境变量。从站点的根目录运行以下命令: netlify link 您应该能够使用外部存储库 URL(即 自动链接您的网站。完成后,让我们通过运行它在本地进行测试: netlify dev 您应该在命令行中看到类似以下内容(请注意,环境变量已被注入,并且它将覆盖默认命令并运行npm run dev)。 netlify dev 命令行 本