本网站是开源的

2025-06-09

本网站是开源的

dev.to 是开源的!

这意味着,当你对它感到恼火时,你可以采取措施。当你认为它有 bug 时,你可以修复它。当你认为它缺少某个功能时,你可以添加该功能。当你对它的工作原理感到困惑时,你可以参考它的实现。当它做了一些很酷的事情时,你可以去看看他们是怎么做的。

这可是个大问题!用闭源工具,我们只能忍受好几年同样的烂摊子!Slack 和 Jira,我说的可是你们啊。

添加功能

所以,我知道有一个 youtube 标签 ( link ),但我的主机在 Vimeo 上。我克隆了 repo ( link )。按照 Readme 中的设置说明,并引用 youtube 标签中的代码,提交了拉取请求,添加了 vimeo 标签 ( link )。

因此,现在如果您输入以下任一内容:

{% vimeo 193110695 %}
{% vimeo https://vimeo.com/193110695 %}
Enter fullscreen mode Exit fullscreen mode

您将看到:

你也可以做到!

虽然不算完美,但我还是完成了。以下是我总结的一些要点:

  • 首先浏览 README 文件,了解设置的相关部分。如果你不常用 Ruby,他们推荐rbenv,这是一个不错的选择(我用过ruby​​-installchrubychruby-fish)。不确定你是否需要一个高级的 JS 环境(我已经默认设置了一个)。如果需要,nodenv是我发现的最好的,它和 基本相同rbenv,但适用于 Node。具体来说,它们可以跨 shell 工作,你可以通过设置一些环境变量来将它们放置到位,而不是评估代码(这不会影响 shell 启动时间),记得在nodenv rehash全局安装后运行。
  • 测试套件在我的本地机器上并没有完全通过,但我引用的测试确实通过了。根据 README 中的说明,我像这样运行了它:$ bin/spring rspec spec/liquid_tags/youtube_tag_spec.rb
  • 启动速度相当慢(我将此归咎于),但我等待了一段时间,它就工作了。
  • 我真的很喜欢他们处理环境变量的方式。
  • 不久前,我意识到自己对 Spring 的理解大错特错,并收回了所有愤怒的评论!谢天谢地,他们在这个应用上用到了 Spring。当你知道如何使用它时,它出问题时可能造成的困惑都是值得的,因为它能帮你节省启动时间。简单来说,你只需要bin/rails console…… bin/rails server,如果你修改了配置,或者发现什么问题,就……bin/spring stop
  • 我没有弄清楚如何登录,而是从控制台编辑了其中一篇文章:从控制台编辑文章
  • 请务必试用你的功能。由于测试没有通过 Markdown 运行输入,当我在控制台中尝试时,它的行为与我的测试不同(Markdown 解析器将输入修改为 Liquid 标签)。另外,当我阅读 PR 模板时,他们提到了文档,我意识到我还没有更新 Markdown 基础知识页面,所以我很快就为此添加了一个提交。

我想这可能就是它的核心所在。我的 PR 并不完美(它只是绕过了 Markdown 的问题,而不是修复它),但对于任何项目来说,总有更多事情要做,而它实现了我的愿望:现在有了 vimeo 标签 ❤️。

对于首次提交者

顺便说一句,我的第一个开源提交(链接)只有一行。那是一个 bug 修复,我花了 8 个小时才搞定!我感觉自己非常脆弱,但幸运的是,Sinatra 的维护者(Konstantin Haase)非常友善,多次为我指明了方向,并最终让我的 PR 顺利通过。对此我深表感谢。Dev.to 的行为准则(链接)以及他们一直以来的友好行为表明,他们也会是优秀的开源软件守护者。

鏂囩珷鏉ユ簮锛�https://dev.to/joshcheek/this-website-is-open-source-3db4
PREV
使用 Sapper 和 Markdown 创建博客 概念设置 帖子数据 插件 阅读帖子 索引页 博客详情页 部署 摘要 截屏视频
NEXT
每天1小时学习编程