Loving Tina? us on GitHub0.0k
2021 - 年度回顾
December 21, 2021
By James Perkins

随着这一年的结束,我和团队花了一些时间回顾Tina从年初到现在的进展。2021年初,TinaCMS是一个新兴的开源项目,Forestry团队对其充满了建设的热情。这个项目在很多方面与今天你所熟知的TinaCMS大相径庭。今年的旅程涉及到对开源项目的一些重大改变,但我们的使命始终如一:提供一个开源CMS,为全球最优秀的网页开发者和内容编辑者提供10倍的体验。

今年早些时候,我们收到了来自使用TinaCMS的大小公司的大量反馈。我们了解到Tina过于开放,试图做太多事情。我们决定设置一些限制,以缩小Tina的关注点,但为更多用户提供更好的整体体验。我们选择Next.js作为Tina目前的首选框架(而不是Gatsby等),专注于存储在Git中的内容,而不是支持任何数据存储,并用你现在看到的并排编辑体验取代了页面内编辑体验,以改善整体开发者体验。此外,我们为TinaCMS添加了一个GraphQL API,它为你提供了Git支持内容的所有好处(版本控制、内容所有权、分支等),同时还增加了一个可以轻松查询的结构化API。

现在,到了12月,Tina已经有了显著的发展。我们对2021年取得的成就感到非常自豪。我们缩小了Tina的关注点,并为未来Git支持的内容编辑奠定了坚实的基础。

在新的一年里,我们期待分享我们对2022年的愿景,并讨论我们为TinaCMS计划的所有令人兴奋的功能。

测试
事物

一月至三月

在2021年初,我们仍在作为一个产品寻找自己的定位,我们有一个愿景,即无论用户选择了什么CMS,都能轻松编辑内容。我们投入了大量工作来改善我们现有的功能体验,并添加了我们认为对社区重要的新功能。我们还增加了3名团队成员,以推动开发者和用户体验。

2021年4月

四月是云产品的发布。Scott Gallant(CEO)在2021年4月21日宣布推出TinaCloud,强调了由可视化编辑驱动的Git支持内容的重要性。我们希望提供一种使用Git的顶级体验,并允许没有GitHub的用户能够编辑内容。如果你有兴趣再次阅读原始公告,这里是链接。在回顾时,我们对仅仅8个月后的现状感到非常兴奋。

2021年5月

全力投入Next.JS

五月是我们全力投入使用Next.js的时候,吸引我们的最大因素是:

  • 动态导入
  • 灵活的数据获取
  • Next.js正在成为Jamstack的领导者,并拥有一个伟大的社区。

使用单一框架帮助我们快速迭代,专注于正确的问题,而不是担心我们支持的每个框架的边缘情况和细微差别。

我被聘为开发者倡导者

我们觉得我们走在正轨上,需要更多的开发者使用Tina,以便我们能够保持创新的势头。五月底,我们聘请了一名开发者倡导者(嘿,就是我!)来与我们的受众(嘿,就是你!)联系,我们觉得准备好开始建立我们的社区。在被聘用之前,我对Tina的概念以及Tina在研究视频后所做的事情很感兴趣。我永远不会忘记我在那个视频中说的话,

"Tina真的很强大,我将只展示它能做的表面。"

在与团队讨论Tina的愿景后,我全力以赴,我不想做其他事情或去其他地方。感觉就像昨天,但现在已经七个月过去了,我仍然有同样的感觉!

2021年6月

TinaCloud进入alpha阶段

2021年6月2日,我们向社区宣布TinaCloud进入公开alpha阶段,并鼓励任何想要看到内容编辑和管理未来的人尝试一下。

Tina Alpha 推文

你们都接受了我们的邀请,用户激增,提交增加,反馈开始涌入。我们感受到了一个想要并关心Tina的社区的开始。你的反馈直接传达给团队,并进入产品会议的头脑风暴。

2021年7月

我们收到的最常见和最有影响力的反馈之一是关于媒体管理的。你们想知道为什么不能使用Tina + Cloud管理你的媒体。我们知道这是用户面临的一个大障碍,所以我们立即开始研究解决方案,并引入了与Cloudinary的集成。我们选择Cloudinary是因为:

  1. 支持所有图像类型
  2. 优化图像
  3. Next Image喜欢Cloudinary

我们希望尽可能简单地为你的网站添加Cloudinary支持。因此,我们创建了next-tinacms-cloudinary,它负责繁重的工作,通过最少的集成,你的网站就准备好了!

2021年8月

在八月,我们做出了自我加入Tina以来最大的公告。我们将产品置于beta阶段。我记得在接近公告时,"办公室"的嗡嗡声。我们的beta发布投入了大量的努力,所以团队很高兴看到世界对这些变化的看法。我们不知道如何将所有内容都放入博客文章中,公告不仅仅是将alpha改为beta,我们还拥有:

  • 更好的文档
  • 新的CLI
  • 更好的指南
  • 更好的入门
  • 缓存改进
  • 创建@tinacms/toolkit
  • Vercel集成
  • 仪表板大修
  • 内容建模的变化

Beta 推文

我们还聘请了Kelly来帮助我们的云产品,并聘请了Logan来帮助我们的开源产品。Logan已经作为实习生工作,但他是团队的重要组成部分,我们希望他在毕业后继续在Tina工作。

2021年9月

九月是Tina团队最艰难的一个月,因为我们的团队成员Frank意外去世。他惊人的能力使他能够与他遇到的任何人建立联系,从用户到团队成员,他的使命是将用户、产品和Jamstack结合在一起。他被怀念,但我们经常谈论他对Tina的贡献。

2021年10月

MDX支持

到目前为止,我们一直专注于开发者,但我们也希望确保我们为内容编辑者构建。我们为Tina引入了MDX支持,以便开发者可以创建团队所需的所有可重用组件,并允许你的内容团队通过单击按钮来重用这些组件。这个功能真正体现了Tina的核心,为开发者和内容编辑者提供无缝的体验。

文档入门

我们还引入了一个Tina文档入门,允许文档团队通过单击按钮快速开始创建新页面和编辑页面。这个入门也由MDX驱动,因此不仅可以通过单击按钮开始,还可以添加团队可能需要的所有可重用组件,以创建出色的文档。

11月

文档改进

在11月,我们着手从各个方面审视我们的文档,以确保无论你想如何使用Tina,都能获得所需的信息。我们召集了团队,每个人都带来了不同的视角,这些视角来自他们的经验、用户研究和你的反馈。这个练习带来了巨大的改进和完善的文档,以便你获得所需的一切。

仪表板入门改进

我们还添加了使用GitHub帐户登录的功能,使一切更容易整合。通过一个简单的快速入门流程,你可以登录,选择我们的一个入门,并让我们为你部署。基本上,这意味着你可以在几分钟内测试和玩转Tina。

12月

12月通常是一年中较慢的时间,但Tina不是。我们仍然有一些实验性功能和一种新的Tina入门方式,我们希望在年底前提供给你。

简约入门

我们引入了一个名为"简约"的新入门,它为你提供了一个带有Tina的最小Next.js项目。这使你能够通过最小的Tina集成在一步中启动一个新的Tina项目。我们在简约入门之前的入门包含了许多用于特定任务的额外代码,例如我们的文档入门。我们希望为你提供一个没有任何额外代码或依赖项的良好基础。

create-tina-app

我们还引入了npx create-tina-app,它允许你使用你选择的入门来设置一个Tina应用程序。作为开发者,我们理解本地工作的重要性,它允许你调查幕后发生的事情。通过一个命令,你可以在本地调查Tina,进行更改,然后再部署。

自动生成的GraphQL客户端(实验性)

虽然我们喜欢graphQL,但我们理解对于那些不太熟悉它的人来说,编写graphQL可能是令人生畏的。为了解决这个问题,我们引入了一个实验性功能,允许你使用客户端。这允许熟悉javascript的开发者使用点符号来获取他们需要的数据。例如:

const tinaProps = await client.getPostsDocument({relativePath:"helloWorld.md";});

你可以在我们的GitHub上查看如何使用这个实验性功能。

分支支持(实验性)

允许Tina驱动的网站切换到任何分支是我们一直在努力的事情。分支对开发者和内容团队来说非常重要,因为如果他们想推出新功能或帖子,他们当然不希望它立即上线。我们希望确保我们做对了,通过使用户体验易于导航,我们刚刚将其作为实验性功能发布。你可以在我们的文档中找到如何实现这一点。

下一阶段

年初,Tina是一个实验性的开源项目,过于开放,难以维护所有的活动部件。我们支持几十个不同的包,从收到的反馈来看,这不是最佳方法。在对如何改进我们的方法做出艰难决定后,我们现在有了一个稳固的产品,正在生产网站中看到越来越多的使用。

在我们的下一篇文章中,我们将描述这一切的去向以及我们对2022年Tina的计划。整个团队对进入我们项目的下一个阶段感到非常兴奋,并希望你能查看并给我们诚实的反馈。我们想听听你使用Tina的项目以及我们可以做些什么来使其更容易、更快或更好。

要随时了解Tina的动态,请务必在Twitter上关注@tinacms。想与团队聊天?加入Discord

Last Edited: December 21, 2021