仍然是关于灵活性的话题

Get lates and updated email list discussion.
Post Reply
ruhul400
Posts: 2
Joined: Sat Nov 04, 2023 8:17 am

仍然是关于灵活性的话题

Post by ruhul400 »

果您知道需要集成一个完全自定义的系统,那么开发插件有多复杂?开发插件是一项非常复杂的任务还是比这更容易?

爱德华多:我回答这个问题有点偏颇。我喜欢认为这很简单,并且我已尽力使该过程变得简单并且有很好的文档记录。因此,我们提供的存储库之一是示例插件,其中我们有完整注释的插件源代码。因此,我们对您可能实现的每个可能的函数进行了评论,概述了它接收的参数,如何使用此函数从中获 牙买加手机号码列表 取数据等。所以希望这将是一个非常有用的资源。我们还有文档页面,我们在其中概述了插件的结构,例如它如何将数据提取到应该将其推入的位置。所以希望这是一个相当简单的过程。

爱德华多:但不同的系统会带来不同的挑战。因此,我确信社区中的某个人会提出建议和功能请求,说:“我想与这个系统集成。所以我需要一种方法来做到这一点。” 我们将非常乐意满足这些请求,并与社区合作,使插件架构随着时间的推移变得更好。

德鲁:而且全部都是写的,我猜是 JavaScript 节点?

爱德华多:这是。这是。

德鲁:我注意到您之前简要提到您可以使用监视标志运行 Sourcebit,它将帮助您拥有一种实时更新工作流程。这是需要由源插件实现的东西,还是通用系统?它是一种轮询机制还是您正在监听来自源系统的某种挂钩和事物?

爱德华多:核心应用程序非常精简,而且一点也不固执己见。因此,由每个源插件来实现该功能。核心应用程序在这方面所做的所有事情就是告诉插件用户要求的选项是什么。因此,在我们推出的两个插件中,一个用于 Contentful,一个用于 Sanity,每个插件中实现观看模式的方式都非常不同。例如,正如我提到的,在 Contentful 中,我们有一个定期的轮询机制,例如轮询更改,而对于 Sanity,我们有一个正在运行的 Web 套接字,它不断侦听更改并响应更改。但基本上,这个想法是源插件实现自己的监听机制,它负责告诉核心应用程序我有新内容,请自行更新。这就是领域的想法。

德鲁:这听起来像是一个非常灵活的系统,应该能够应对许多不同的来源和不同类型的系统。

爱德华多:是的。我只是想说,我还想提一件事,那就是 Sourcebit 是使用 JavaScript 文件配置的。因此,如果类似于您对 webpack 之类的东西所做的事情,尽管稍微简单一些。因此您可以选择手动配置该文件上的每个插件。但我们还提供了这个命令行界面,基本上每个插件都能够告诉核心应用程序它需要询问用户以便配置自身的一组问题。所以基本上,当您运行 npx create-sourcebit 时,它可以为您从头开始创建所有内容。

爱德华多:因此,它会提取所有可用插件的列表,以便可以选择使用 Contentful 的源插件和 Jekyll 的目标插件。然后根据您选择的插件,它会询问您一系列问题,最终生成一个完全配置的 JavaScript 文件。例如,对于 Contentful,它会要求您提供凭据,例如如何访问您的 Contentful 帐户?然后它实际上会从 Contentful 中提取所有内容类型。它会问你好吗,我发现这种内容类型称为博客文章。这是什么?这就像一个页面吗?这是一个数据对象吗?如果它是一个页面,我应该将其存储在哪里?我应该使用什么样的字来布局内容?

Image

爱德华多:我认为这是配置整个项目的一种非常用户友好的方式。因此,希望在此配置过程结束时,您只需运行一个命令即可立即提取内容,而不必处理 JavaScript 文件。

德鲁:因此,配置过程会回答这些问题,然后为您编写 JavaScript 配置文件,然后您可以将其提交到源代码管理中并分发给项目中的其他开发人员或分发到构建过程中以实时运行。您提到了第三种类型的插件,与源和目标不同,它处理中间这种不可知格式的数据。您认为它会用于什么样的场景?

爱德华多:我们创建了一个负责转换资产的插件。举个例子,假设我正在使用 Contentful,并且您将图像作为博客文章的一部分嵌入。默认情况下,如果您只是从 Contentful 中提取数据,图像将使用来自 Contentful CDN 的实时 URL,如果您想使用的话,这是一个完全可行的选项。但您可能想将图像与内容一起提供。因此,将它们放在您的存储库中,并通过您用于向站点提供服务的任何服务提供服务。因此,具体而言,该插件将查找正在使用的任何资产,它将拉取这些资产,将它们基本上下载到您的存储库或本地文件系统,然后将其推送。
Post Reply