PublishTo.Dev:安排在 dev.to 上发布文章

2025-05-28

PublishTo.Dev:安排在 dev.to 上发布文章

现在是晚上 11 点。

你终于完成了 dev.to 上下一篇杰作的收尾工作。你迫不及待地想与全世界分享它,并开始收集那些 ❤️ 和 🦄 的点赞。

您将光标移动到“发布”按钮,然后暂停......

你是否应该现在就发布文章,冒着被早间新闻头条淹没的风险?你是否应该设个闹钟,然后记得在合适的时间回到草稿并点击“发布” ?

这是一个难题,现在认真思考已经太晚了。

我有一个解决方案:PublishTo.Dev。这是一个为 dev.to 的作者提供的简单工具,可以让你选择文章草稿上线的具体日期和时间。只需选择一个时间,安排好你的文章发布时间,然后就可以安心睡觉了,因为你的内容会在最合适的时间发布。

PublishTo.Dev 是什么?

PublishTo.Dev的核心是为 dev.to 作者提供的日程安排服务。它使用最近推出的dev.to API在特定日期和时间发布文章草稿。我会用这段视频来解释。

该服务主要包含三个部分:

  1. 用于安排文章的浏览器扩展
  2. 处理调度的 Azure 无服务器后端
  3. 用于查看/取消预定发布的静态网站

该浏览器扩展程序兼容 Google Chrome 和 Microsoft Edge Insider。您可以直接从Chrome 网上应用店(以及 Microsoft Edge 扩展程序商店)安装该扩展程序,也可以从GitHub 源码中“解压”后加载。

PublishTo.Dev不会尝试改变文章创作体验。它适用于已使用现有工具创作的已保存、未发布的草稿。PublishTo.Dev 专注于文章的排期。

调度过程

让我们看看如何使用 PublishTo.Dev 安排文章草稿。

设置

首先,您需要安装浏览器扩展程序。请按照 GitHub 仓库中的说明进行操作,或者(如果您使用的是 Chrome)直接从应用商店安装

安装扩展程序后,只需进行一次性配置即可添加您唯一的 dev.to API 访问令牌。PublishTo.Dev 就是这样代表您进行发布的。在浏览器中右键单击扩展程序图标,然后选择“选项”。或者,您也可以导航至chrome://extensionsedge://extensions来访问选项页面。

在这里,您需要提供 API 访问令牌。

要获取此令牌,请导航到dev.to 上的设置帐户页面,并为 PublishTo.Dev 生成一个新的令牌。将令牌值复制到扩展选项中。

调度

现在您已完成所有设置,让我们来安排一篇文章。

导航到已保存的草稿。当您在文章顶部看到巨大的红色“未发布”横幅时,就说明您来到了正确的页面。在这里,点击浏览器扩展程序图标,然后选择您希望文章上线的日期和时间。

注意:所选的发布时间必须是未来的时间(当然,最多 30 天)。这是一个任意的限制,将来可能会取消,但目前,文章可以提前一个月进行安排。选择时间时,可以直接在日历文本框中输入具体的小时或分钟。

选择日期和时间后,单击“安排发布”。

如果一切顺利,您将在扩展弹出窗口中看到一条确认消息。

重新安排

哎呀!你刚想起来,周三发布内容比周一更合适。你该如何调整发布时间?

很简单。只需重新查看需要重新安排的未发布草稿,并按照原流程操作即可。只要文章尚未发布,新的安排时间就会覆盖之前的安排。

审核和取消计划

虽然浏览器扩展可用于所有文章的安排,但可以使用单独的网站来查看已安排文章的状态。

要使用该网站,只需输入与您的浏览器扩展程序配置的相同的 dev.to API 访问令牌,然后单击“获取预定帖子”。

如果您有预定的文章,它们将与以下状态指示器之一一起显示:

  • 已发布:已成功发布预定的文章
  • 待定:文章等待在预定时间发布
  • 失败:出现问题,文章未按预定时间发布
  • 已取消:预定的发布已被作者(您)取消

如果您不想让任何处于“待处理”状态的文章自动发布,可以将其取消。只需点击该文章所在行的“取消”按钮即可。

如果您决定将来重新安排已取消的帖子,只需按照原安排流程操作,文章就会重新安排。唯一“最终”状态是“已发布”。已发布的帖子无法使用 PublishTo.Dev 重新发布或取消发布。

这是如何运作的?

在幕后,PublishTo.Dev 的繁重工作由Azure Durable Functions实现。Durable Functions 非常适合处理长时间运行的异步任务,仅在等待期间需要执行某些操作时才会主动运行(并计费)。等待时间可能是几秒、几分钟、几小时、几天……甚至更长时间*。

(*持久功能定时器的持续时间目前不能超过 7 天,但是……这个限制正在被取消,而且现在有设置更长定时器的解决方法。我将在另一篇文章中讨论这个问题。)

以 PublishTo.Dev 为例,一个无服务器函数会在文章初始安排时运行,然后使用持久函数计时器“休眠”,直到需要发布文章为止。这样就无需进行任何类型的间隔轮询来了解文章何时需要发布。

当预定的发布时间到来时,持久函数会自动唤醒并尝试使用 dev.to API 发布帖子。

持久函数适用于多种不同类型的长时间运行的异步场景。事实上,文档重点介绍了六种常见场景,例如链接异步函数,甚至等待人工输入,持久函数都能让你的工作更加轻松。

在后续的文章中,我将进一步阐述 PublishTo.Dev 的技术实现。敬请期待。

整合起来

从一开始,我们的目标就是提供一种便捷的安排文章发布的方式,而 PublishTo.Dev 做到了这一点。或者说,对我来说,它做到了。

告诉我你的想法。它对你来说怎么样?如何让它变得更实用?

有一天,我完全希望 dev.to 能够支持原生帖子调度并消除对此工具的需求,但在此之前,我希望它能帮助您改善发布工作流程。

文章来源:https://dev.to/toddanglin/publishto-dev-scheduling-article-publishing-on-dev-to-3m0o
PREV
CSS 上的磨砂玻璃
NEXT
Rust 历险记 小代码建议 #1