设计语录 API v3.0(+ 小部件!)

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!

在 v1.0 API 那个悲伤的旧时代,每次使用它的任何网站加载脚本时,都会进行数据库调用以从 设计语录 档案中提取新的语录。 它确实有效,但速度很慢,显然无法很好地扩展。

版本 2.0 旨在解决这些问题。 一个 CRON 作业用于每 10 分钟运行一次数据库查询,并将语录和标记写入 .TXT 文件。 然后,当调用脚本时,它只需读取该文件的内容并使用它来发挥作用。 它实际上运行良好。 我了解到这种技术被称为“贫民窟缓存”,我喜欢它。

但 2.0 在许多方面受到限制,因此我们为您带来了 版本 3.0! 功劳归功于 Doug Neiner,他领导了这个项目。 与 Doug 所做的一切一样,他在所有方面都做得非常出色。 </megapraise>

它能做什么?

它将设计语录中的随机语录插入到任何网站上。 它也是一个 JSON 文件,可用于更高级的场景。

不同的人有不同的需求

要以最简单的方式使用 API,您可以复制并粘贴一些代码。 对于稍微高级一点的使用,您可以在 JavaScript URL 的末尾添加参数来执行更高级的操作,例如指定要附加到的元素的 ID,或使用自定义格式化函数。 对于专业人士,您可以直接访问 JSON 文件并根据需要使用这些数据。

查看文档 以获取有关所有这些情况的信息。

它是如何工作的?

从根本上说,它类似于版本 2.0。 一个 CRON 作业(shell 脚本)每 10 分钟在服务器上运行一次。 只是它不写入 TXT 文件,而是创建 JSON 文件。 您引用的用于使用 API 的 JavaScript 文件实际上是伪装的 PHP。 与之前我们需要 PHP 读取文本文件不同,我们在这里实际上不需要它,因为该文件已经采用 JavaScript 可用的 JSON 格式。 但是,由于我们允许将参数传递给 JavaScript,因此我们需要 PHP 读取这些参数并相应地采取行动。

JavaScript 拥有它需要的所有语录信息。 它将一个 onload 事件附加到窗口,当该事件触发时,它会将语录格式化为 HTML 并将其弹出到页面上具有指定 ID 的元素中。

听起来复杂吗? 我想它有点复杂。 这里有很多不同的技术协同工作,最终简化了使用它的人的操作。 将所有这些放在一起看,真的非常漂亮。

我们可以看看吗?

关注 Fuel Your Coding,Doug 最终会谈论构建这样的 JSON API 的考虑因素,并且可能会在其中至少部分地参考这一点。

哦,还有一个部件!

如果您是 OS X 用户,现在有一个 仪表盘小部件 供您使用! 在该小部件页面上,您会找到一个下载链接以及一个指向托管(并开源!)项目的 Github 链接。

它在那里看起来很酷,但在仪表盘的褪色灰色背景下显得更加可爱。 它真的很棒。 再一次,Doug 在将网站的设计转换为小部件方面做得非常出色。 Windows 用户,抱歉,目前这仅限于 OS X,但请记住,那里有一个 JSON 文件,肯定可以构建其他小部件。

分享

如果您将 API 用于某个网站、小部件或任何其他用途,请通过在此处发表评论或发送消息来分享。 看看它如何被使用将会很有趣。 如果你有一些很棒的语录要分享,发送它们(点击“有新的语录?”链接)。 现在接近 500 条了!